发布新日志

  • 计算机硬件系统

    2008-01-10 23:25:23

    一:计算机的硬件系统:硬件的五大组成和三种典型结构。

    1:硬件的五大组成:是运算器,控制器,存储器,输出设备和输入设备;

       运算器和控制器合称CPU(中央处理器),计算机的核心部件;

       存储器和CPU合在一起称为主机.

    1.1:ALU(运算器):是对数据和信息进行加工处理,完成算术和逻辑运算的部件.他有算术与逻辑运算单元(ALU),寄存器组,累加器,多路转换器和数据总线等逻辑构件.

    1.2:Controller(控制器):控制计算机各部件按照指序计数器,指令译码器及操作控制等部件。

     

  • 什么是软件测试?

    2007-12-07 02:43:30

     在G.J.Myers的经典著作《软件测试之艺术》(The Art of Software Testing)中,给出了测试的定义:“程序测试是为了发现错误而执行程序的过程”。这个定义,被业界所认可,经常被引用。除此之外,G.J.Myers还给出了与测试相关的三个重要观点,那就是:

      测试是为了证明程序有错,而不是证明程序无错误;

      一个好的测试用例是在于它能发现至今未发现的错误;

      一个成功的测试是发现了至今未发现的错误的测试。

      实际上,这里暗示了“软件测试”在不同侧面上的含义,也就决定了对软件测试不同的定义和不同的理解。根据作者多年的经验和理解,软件测试的不同视野,概括为如下5类:

      软件测试的狭义论和广义论——静态和动态的测试

      软件测试的辨证论——正向思维和反向思维

      软件测试的风险论——测试是评估

      软件测试的经济学观点——为盈利而测试

      软件测试的标准论——验证和确认

      1. 软件测试的狭义论和广义论

      G.J.Myers所给出了测试定义——“程序测试是为了发现错误而执行程序的过程”,实际是一个狭义的概念,因为他认为测试是执行程序的过程,也就是传统意义上的测试——在代码完成后,通过运行程序来发现程序代码或软件系统中错误。但是,这种意义上的测试是不能在代码完成之前发现软件系统需求、发现设计上的问题,把需求、发现设计上的问题遗留到后期,这样就会可能造成设计、编程的部分返工。增加软件开发的成本、延长开发的周期等。需求阶段和设计阶段的缺陷产生的放大效应会加大。这非常不利于保证软件质量。这种狭义论是受软件开发瀑布模型影响。

      正是为了更早地发现问题,所以将测试延伸到需求评审、设计审查活动中去,也就是将“软件质量保证”的部分活动归为测试活动。实际上,在软件开发实际操作中,常常将软件测试和质量保证——这两种努力(efforts)合并起来。

      延伸后的软件测试,被认为是一种软件测试的广义概念。这就引出软件测试的两个概念“静态测试”和“动态测试”,如 测试方法的辩证统一 (1)所述,这样就由静态测试和动态测试构成一个全过程的、完整的软件测试,而且静态测试显得更为重要。

      2.软件测试的辨证论

      G.J.Myers的第2个观点“测试是为了证明程序有错,而不是证明程序无错误”,引出了软件测试的另外一个争论,软件测试究竟是证明所有软件的功能特性是正确的呢?还是其反向思维——对软件系统进行各种试探和攻击,找出软件系统中不正常或不工作的地方呢?从我个人理解,这两个方面都有一定道理,前者(证明所有软件的功能特性是正确的)是从质量保证的角度来思考软件测试,后者(证明程序有错)从软件测试的直接目标和测试效率来思考,两者应该相辅相成。在后者的思想背景下,我们认为,测试不是为了证明所有的功能可以正常工作,恰恰相反,测试就是为了找出那些不能正常工作、不一致性的地方。也就是说,测试的一般工作就是发现缺陷 (detect bug),即在软件开发过程中,分析、设计与编码等工作都是建设性的,而测试是带有“破坏性”的工作。

      对于不同的应用领域,两者的比重是不一样的,如国防、航天、银行等软件系统,承受不了任何系统失效,因为一次系统的失效完全有可能导致灾难性的损失,所以强调前者以保证非常高的软件质量。而一般的软件服务应用则不同,强调后者,质量目标设置在“用户可接受水平”,不要国度追求质量,从而可以降低软件开发成本。作者建议,在我们实际操作中,可以分阶段实施不同的测试思想,在早期阶段集中在“证明程序有错”—— 发现Bug,后期集中在验证所有特性是否正常工作——降低风险,见作者的另外一篇讨论:测试执行中非常有效的策略

      下面就是这两种观点的基本描述:

      验证软件是验证软件是“工作的”,以正向思维,针对软件系统的所有功能点,逐个验证其正确性。其代表人物是软件测试领域的先驱Dr. Bill Hetzel (代表论著《The Complete Guide to Software Testing》)。

      证明软件是“不工作的”,以反向思维方式,不断思考开发人员理解的误区、不良的习惯、程序代码的边界、无效数据的输入以及系统的弱点,试图破坏系统、摧毁系统,目标就是发现系统中各种各样的问题。其代表人物就是上面多次提到的G.J.Myers。他强调,一个成功的测试必须是发现Bug Bug的测试,不然就没有价值。
  • 软件测试,术语定义

    2007-12-06 14:07:33

    摘要:

    与软件测试相关的术语很多,但几乎还没有一本书最大范围地罗列了对它们的定义。本文通过收集、加工和整编,整理出与软件测试相关的16个主要术语的定义,以方便软件测试人员的学习及需要时参考。

    关键词:

    摘要:

    与软件测试相关的术语很多,但几乎还没有一本书最大范围地罗列了对它们的定义。本文通过收集、加工和整编,整理出与软件测试相关的16个主要术语的定义,以方便软件测试人员的学习及需要时参考。

    关键词:

    软件测试 术语定义

    正文:

    术语:软件测试

    定义:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例运行软件,以发现软件错误的过程。

    术语:测试用例

    定义:测试用例指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略的文档;内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等。

    术语:测试计划

    定义:测试计划是指对软件测试的对象、目标、要求、活动、资源及日程进行整体规划,以保证软件系统的测试能够顺利进行的计划性文档。

    术语:测试对象

    定义:测试对象是指特定环境下运行的软件系统和相关的文档。作为测试对象的软件系统可以是整个业务系统,也可以是业务系统的一个子系统或一个完整的部件。

    术语:测试流程

    定义:测试流程是指为了保证测试质量而精心设计的一组科学、合理、可行的有序活动。比较典型的测试流程一般包括“制定测试计划”、“编写测试用例”、“执行测试”、“跟踪测试缺陷”、“编写《测试报告》”等活动。

    术语:测试评估

    定义:测试评估是指对测试过程中的各种测试现象和结果进行记录、分析和评价的活动。

    术语:《测试报告》

    定义:《测试报告》是一份有关本次测试的总结性文档,主要记录了有关本次测试的目的、测试结果、评估结果及测试结论等信息。

    术语:测试环境

    定义:测试环境指对软件系统进行各类测试所基于的软、硬件设备和配置。一般包括硬件环境、网络环境、操作系统环境、应用服务器平台环境、数据库环境以及各种支撑环境等。

    术语:白盒测试

    定义:白盒测试是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,白盒测试又叫“结构测试”。

    术语:黑盒测试

    定义:黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试又叫“功能测试”。

    术语:单元测试

    定义:单元测试是指针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作,单元测试又称模块测试。

    术语:集成测试

    定义:集成测试是指对程序模块采用一次性或增值方法组装起来,对模块间接口进行正确性检验的测试工作,集成测试又称组装测试。

    术语:系统测试

    定义:系统测试是指将通过集成测试的软件系统或子系统,作为基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素组合在一起所进行的测试工作;目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。

    术语:确认测试

    定义:确认测试是指在模拟(或正式)的生产环境下,运用黑盒测试的方法,验证所测软件是否满足用户需求说明书中所列出的需求,确认测试又称有效性测试。

    术语:功能测试

    定义:功能测试是指为了保证软件系统功能实现的正确性、完整性及其他特性而进行的测试。

    术语:性能测试

    定义:性能测试是指为了评估软件系统的性能状况和预测软件系统性能趋势而进行的测试和分析。

    正文:

    术语:软件测试

    定义:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例运行软件,以发现软件错误的过程。

    术语:测试用例

    定义:测试用例指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略的文档;内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等。

    术语:测试计划

    定义:测试计划是指对软件测试的对象、目标、要求、活动、资源及日程进行整体规划,以保证软件系统的测试能够顺利进行的计划性文档。

    术语:测试对象

    定义:测试对象是指特定环境下运行的软件系统和相关的文档。作为测试对象的软件系统可以是整个业务系统,也可以是业务系统的一个子系统或一个完整的部件。

    术语:测试流程

    定义:测试流程是指为了保证测试质量而精心设计的一组科学、合理、可行的有序活动。比较典型的测试流程一般包括“制定测试计划”、“编写测试用例”、“执行测试”、“跟踪测试缺陷”、“编写《测试报告》”等活动。

    术语:测试评估

    定义:测试评估是指对测试过程中的各种测试现象和结果进行记录、分析和评价的活动。

    术语:《测试报告》

    定义:《测试报告》是一份有关本次测试的总结性文档,主要记录了有关本次测试的目的、测试结果、评估结果及测试结论等信息。

    术语:测试环境

    定义:测试环境指对软件系统进行各类测试所基于的软、硬件设备和配置。一般包括硬件环境、网络环境、操作系统环境、应用服务器平台环境、数据库环境以及各种支撑环境等。

    术语:白盒测试

    定义:白盒测试是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,白盒测试又叫“结构测试”。

    术语:黑盒测试

    定义:黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试又叫“功能测试”。

    术语:单元测试

    定义:单元测试是指针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作,单元测试又称模块测试。

    术语:集成测试

    定义:集成测试是指对程序模块采用一次性或增值方法组装起来,对模块间接口进行正确性检验的测试工作,集成测试又称组装测试。

    术语:系统测试

    定义:系统测试是指将通过集成测试的软件系统或子系统,作为基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素组合在一起所进行的测试工作;目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。

    术语:确认测试

    定义:确认测试是指在模拟(或正式)的生产环境下,运用黑盒测试的方法,验证所测软件是否满足用户需求说明书中所列出的需求,确认测试又称有效性测试。

    术语:功能测试

    定义:功能测试是指为了保证软件系统功能实现的正确性、完整性及其他特性而进行的测试。

    术语:性能测试

    定义:性能测试是指为了评估软件系统的性能状况和预测软件系统性能趋势而进行的测试和分析。
  • 软件测试术语

    2007-12-06 14:00:34

    Unit testing(单元测试),指一段代码的基本测试,其实际大小是未定的,通常是一个函数或子程序,一般由开发者执行。

    Integration testing(集成测试),被测试系统的所有组件都集成在一起,找出被测试系统组件之间关系和接口中的错误。该测试一般在单元测试之后进行。

    Acceptance testing(验收测试),系统开发生命周期方法论的一个阶段,这时相关的用户和/或独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。这是管理性和防御性控制。 

    Alpha testing (α测试),是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。

    Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。

    Black box testing(黑盒测试),指测试人员不关心程序具体如何实现的一种测试方法。根据软件的规格对软件进行各种输入和观察软件的各种输出结果来发现软件的缺陷的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子。

    White box testing(白盒测试),根据软件内部的工作原理分析来进行测试,基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。

    Automated Testing(自动化测试),使用自动化测试工具来进行测试,这类测试一般不需要人干预,通常在GUI、性能等测试中用得较多。 

    Bug (错误),有时称作defect(缺陷)或error(错误),软件程序中存在的编程错误,可能会带来不必要的副作用,软件的功能和特性与设计规格说明书或用户需求不一致的方面。软件缺陷表现特征为:软件未达到产品说明书标明的功能;软件出现产品说明书指明不会出现的错误;软件功能超出产品说明书指明的范围;虽然产品说明书未指出但是软件应达到的目标;软件测试人员或用户认为软件难以理解,不易使用,运行速度缓慢等问题。 Bug report(错误报告),也称为“Bug record(错误记录)”,记录发现的软件错误信息的文档,通常包括错误描述、复现步骤、抓取的错误图像和注释等。

    Bug tracking system(错误跟踪系统,BTS),也称为“Defect tracking system,DTS”,管理软件测试缺陷的专用数据库系统,可以高效率地完成软件缺陷的报告、验证、修改、查询、统计、存储等任务。尤其适用于大型多语言软件的测试管理。

    Exception(异常/例外),一个引起正常程序执行挂起的事件。

    Crash(崩溃),计算机系统或组件突然并完全的丧失功能,例如软件或系统突然退出或没有任何反应(死机)。

    Build(工作版本),软件开发过程中用于内部测试的功能和性能等不完善的软件版本。工作版本既可以是系统的可操作版本,也可以是展示要在最终产品中提供的部分功能的部分系统。

    Functional testing (功能测试),也称为behavīoral testing(行为测试),根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。

    Load testing(负载测试),通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。

    Performance testing(性能测试),评价一个产品或组件与性能需求是否符合的测试。包括负载测试、强度测试、数据库容量测试、基准测试等类型。

    Pilot testing(引导测试),软件开发中,验证系统在真实硬件和客户基础上处理典型操作的能力。在软件外包测试中,引导测试通常是客户检查软件测试公司测试能力的一种形式,只有通过了客户特定的引导测试,软件测试公司才能接受客户真实软件项目的软件测试

    Portability testing(可移植性测试),测试软件是否可以被成功移植到指定的硬件或软件平台上。

    Compatibility Testing(兼容性测试),也称“Configuration testing(配置测试)”,测试软件是否和系统的其它与之交互的元素之间兼容,如:浏览器、操作系统、硬件等。验证测试对象在不同的软件和硬件配置中的运行情况。

    Installing testing(安装测试),确保该软件在正常情况和异常情况的不同条件下,例如,进行首次安装、升级、完整的或自定义的安装都能进行安装。异常情况包括磁盘空间不足、缺少目录创建权限等。核实软件在安装后可立即正常运行。安装测试包括测试安装代码以及安装手册。安装手册提供如何进行安装,安装代码提供安装一些程序能够运行的基础数据。

    International testing(国际化测试),国际化测试的目的是测试软件的国际化支持能力,发现软件的国际化的潜在问题,保证软件在世界不同区域中都能正常运行。国际化测试使用每种可能的国际输入类型,针对任何区域性或区域设置检查产品的功能是否正常,软件国际化测试的重点在于执行国际字符串的输入/输出功能。国际化测试数据必须包含东亚语言、德语、复杂脚本字符和英语(可选)的混合字符。

    Localizability testing(本地化能力测试),本地化能力是指不需要重新设计或修改代码,将程序的用户界面翻译成任何目标语言的能力。为了降低本地化能力测试的成本,提高测试效率,本地化能力侧是通常在软件的伪本地化版本上进行。本地化能力测试中发现的典型错误包括:字符的硬编码(即软件中需要本地化的字符写在了代码内部),对需要本地化的字符长度设置了国定值,在软件运行时以控件位置定位,图标和位图中包含了需要本地化的文本,软件的用户界面与文档术语不一致等。

    Localization testing(本地化测试),本地化测试的对象是软件的本地化版本。本地化测试的目的是测试特定目标区域设置的软件本地化质量。本地化测试的环境是在本地化的操作系统上安装本地化的软件。从测试方法上可以分为基本功能测试,安装/卸载测试,当地区域的软硬件兼容性测试。测试的内容主要包括软件本地化后的界面布局和软件翻译的语言质量,包含软件、文档和联机帮助等部分。

    Ad hoc testing (随机测试),没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。

    Smoke testing(冒烟测试),冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。参考“Sanity testing(健全测试)”。

    Sanity testing(健全测试),软件主要功能成分的简单测试以保证它是否能进行基本的测试。

    User interface(用户界面,UI),广义是指使用户可以和计算机进行交互的硬件和/或软件。狭义是指软件中的可见外观及其底层与用户交互的部分(菜单、对话框、窗口和其它控件)。

    User interface testing (用户界面测试),指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等等。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。

    Static testing(静态测试),不通过执行来测试一个系统。如代码检查,文档检查和评审等。

    Regression testing(回归测试),在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,对软件的任何新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再现。

    Capture/Replay Tool (捕获/回放工具),一种测试工具,能够捕获在测试过程中传递给软件的输入,并且能够在以后的时间中,重复这个执行的过程。这类工具一般在GUI测试中用的较多。

    Debug(调试),开发人员确定引起错误的根本原因和确定可能的修复措施的过程。一般发生在子系统或单元模块编码完成时,或者根据测试错误报告指出错误以后,开发人员需要执行调试过程来解决已存在的错误。

    Deployment(部署),也称为shipment(发布),对内部IT系统而言,指它的第一个版本通过彻底的测试、形成产品、交付给付款客户的阶段。 Dynamic testing(动态测试),通过执行软件的手段来测试软件。

    Garbage characters(乱码字符),程序界面中显示的无意义的字符,例如,程序对双字节字符集的字符不支持时,这些字符不能正确显示。

    GB 18030 testing(GB 18030测试),软件支持GB 18030字符集标准能力的测试,包括GB 18030字符的输入、输出、显示、存储的支持程度。

    Priority(优先权),从商业角度出发是指错误的重要性,尤其是从客户和用户的角度出发,是指错误对于系统的可行性和可接受性的影响。与“Severity(严重性)”相对照。

    Severity(严重性),错误对被测系统的影响程度,在终端用户条件下发生的可能性,软件错误妨碍系统使用的程度。

    Quality assurance(质量保证QA),采取相关活动,以保证一个开发组织交付的产品满足性能需求和已确立的标准和过程。

    Review(评审),在产品开发过程中,把产品提交给项目成员、用户、管理者或其它相关人员评价或批准的过程。

    Screen shot(抓屏、截图),软件测试中,将软件界面中的错误(窗口、菜单、对话框等)的全部或一部分,使用专用工具存储成图像文件,以便于后续处理。

    Software life cycle(软件生命周期),开始于一个软件产品的构思,结束于该产品不再被使用的这段期间。

    Structured query language(结构化查询语句,SQL),在一个关系数据库中查询和处理数据的一种语言。

    TBD(To be determined,待定),在测试文档中标是一项进行中的尚未最终确定的工作。

    Test(测试),执行软件以验证其满足指定的需求并检测错误的过程。检测已有条件之间的不同,并评价软件项的特性软件项的分析过程。软件工程过程的一个活动,它将软件在预定的条件下运行以判断软件是否符合预期结果。

    Test case(测试用例),为特定目标而开发的一组测试输入、执行条件和预期结果,其目标可以是测试某个程序路径或核实是否满足某个特定的需求。

    Testing coverage(测试覆盖),指测试系统覆盖被测试系统的程度,一项给定测试或一组测试对某个给定系统或构件的所有指定测试用例进行处理所达到的程度。

    Testing environment(测试环境),进行测试的环境,包括测试平台、测试基础设施、测试实验室和其他设施。

    Testing item(测试项),作为测试对象的工作版本。

    Testing plan(测试计划),描述了要进行的测试活动的范围、方法、资源和进度的文档。它确定测试项、被测特性、测试任务、谁执行任务、各种可能的风险。

    Testing procedure(测试过程),指设置、执行给定测试用例并对测试结果进行评估的一系列详细步骤。

    Testing scrīpt(测试脚本),一般指的是一个特定测试的一系列指令,这些指令可以被自动化测试工具执行。

    Testing suite(测试包),一组测试用里的执行框架;一种组织测试用例的方法。在测试包里,测试用例可以组合起来创造出独特的测试条件。
  • 测试新手从何处入手(转贴)

    2007-12-02 16:17:17


      当你刚被聘用到一个测试小组时,作为新手,可能你应该按别人指定的测试计划执行测试。这并不是说你没有能力制定这样的计划,而是别人制定的测试计划可能比你的好(这是一个公认的事实)。按别人的计划执行,并记下那些可以用不同方式完成的部分和优秀之处。用不了多久,你就有自己作主的权利了,最开始要从你负责组件的测试计划作起。充分利用你的笔记和经验,这有助于你在第一次就能够写出一个高效、专业的测试计划。
        当你在执行其他人的计划时,你可以考虑另外可尝试的测试用例。有一些可能不适用,但对于软件其他部分仍是好的测试用例,只是不是你负责的而已。不要低估自己作为测试人员的能力,要相信自己也能发现好的测试用例。
        制定测试计划时应该考虑可用的资源和需要组织涉及参与的活动。不管是低级别的计划还是高级别的计划,都需要详细地规定工作的责任人、各人的工作任务,以及任务完成的时间。没有经过彻底交流过的计划是不可能有效的。最无效的计划就是那些没人知道其存在的计划。
                                                     谢谢: 踏雪无痕
  • 给新人的几点建议(转贴)

    2007-12-02 15:53:06

    看到越来越多的新人加入到测试的行业当中是一件欣慰的事,这也说明测试作为一个新兴行业正在不断发展,相较于软件行业中的其它职业――例如软件开发,测试行业还显得比较稚嫩和混乱,人员水平也是良莠不齐,我想就个人经验谈几点看法。

    1.从何入手?
    刚开始接触测试,头脑里面还没有什么概念,心里也没底,不知道测试到底是做什么,怎么做。对于这样的朋友我建议可以先看看各种各样的文章和随笔,先把眼界拓宽,了解测试中有哪些相关概念,接触得越多越好,这样才不至于思维狭窄坐在井底就以为看到了整个世界。初期阶段我不建议匆匆忙忙去看一些测试书籍,因为书籍主要是理论性的抽象,对于实际工作指导作用不高,而且这时候还缺少基本的判断能力,很容易被一些过时或者滥竽充数的书籍所祸害。打好基础以后,再找些有针对性的书籍来深入学习效果会更好。

    2.没有编程经验可以做测试吗?
    很多人问过这个问题,那么有没有想过什么不学习编程呢?做测试编程经验并不是必须的,在开始测试的初期阶段。但是想要做好测试,专业化测试,那么编程技术你就必须当作一项基本技能来掌握。试问如果对软件的内部结构不清楚,又怎么可能会很好地知道产品如何工作呢?小时候我们对闹钟很好奇,可能就会打开它再把各个零件拆下来仔细研究,如果没有动手拆卸的勇气而只是抱着闹钟在那里呆呆地看着,就很难知道闹钟的工作原理。国外很多的测试人员都是在做了多年的开发之后转换过来的,国内由于一些特殊原因,测试工作常常交给一些新手去做,而且还有一种“重女轻男”的说法,一直没搞懂是为什么。

    3.充分利用互联网
    Internet是我们最好的老师,你所需要的一切都可以在这里找到。在测试领域没有笨蛋,只有懒汉,你没有别人做得好不是因为你天资不够,而是你不如别人努力。大家如果遇到了什么问题应该积极在网上寻找答案,国内的几个论坛如果不能帮你解决问题的话,一定要勇敢走出去,到国外的一些论坛和网站去找寻答案。基本上一些商业工具供应商都有一些专门的顾问和技术支持人员活跃在一些大型论坛和官方网站解答各种问题,对于所有的提问都是一视同仁耐心解答。

    4.面试注意事项
    找工作的时候除了充分表现自己以外,也要注意观察面试的公司。一般来说面试都会和你以后的直接领导有所接触,留意他的问题,因为好的问题有时比好的答案更重要。从提问的技巧可以看出你的领导有多少斤两,如果遇到一个无知的领导那么可要慎重考虑这份工作了。那么如何判断呢?如果他的问题基本都是泛泛而谈,那么很可能这人对测试理解不深,相反,一个资深的测试人员问题很有针对性,而且可能会根据你的答案提出新的问题,而不是像考试一样一二三条这样死板地问下来。总而言之,你在找工作的同时,企业也在招人才,所以面试时要保持平常心,如果希望了解多一些不妨主动提出一些问题,看看对方如何回应。

数据统计

  • 访问量: 3252
  • 日志数: 6
  • 建立时间: 2007-12-02
  • 更新时间: 2008-01-10

RSS订阅

Open Toolbar