持续集成与测试自动化(3)

发表于:2011-09-09来源:未知作者:领测软件测试网采编点击数: 标签:自动化测试;集成测试
让所有的重复的繁琐的事情都完全自动化,并且要经常进行集成,让重复的测试自动化。 四、测试套件实现测试流程. 当具备持续集成和测试自动化的能力

  让所有的重复的繁琐的事情都完全自动化,并且要经常进行集成,让重复的测试自动化。

  四、测试套件实现测试流程.

  当具备持续集成和测试自动化的能力后,需要一套测试体系来支持和维护您的测试流程,确保测试过程是符合流程、标准,而且是持续改进的。

  (一)、为什么需要一个流程?很多公司投入了大量的测试经费,然而还是没有收到预期的收益。这可能是因为:缺乏足够的测试计划、缺乏测试的优先次序、工作的重复、没有利用工具来配合人工测试、没有利用测试自动化工具、测试自动化运用不够或者运用的不恰当等等。所以需要有测试套件的实施流程。

  (二)、 为什么需要工具?

  工具能够加快测试的进度,可以把控制和管理引入整个测试过程,比如MI公司的TestDirector就是一个很好使用的测试管理系统,而且是web版的。测试管理系统有很多的作用:

  测试管理和报告:测试管理系统能够保证系统开发和测试流程你不的问题尽快得到解决。

  审核跟踪的凭据:TestDirector存贮了所有的测试结果,全部修改被写进一个审核跟踪器里,如:时间、日期、修改人、错误授权,能够很清晰的看到把错误当皮球踢不负责人的整个过程。

  提高测试覆盖率:通过自动化测试工具的数据驱动来测试功能,可以提高测试覆盖率。

  (三)、测试套件--测试体系的主要目标(5W3H)

  测试体系的建立是为了确保软件测试的全部活动按计划、按标准的进行,是测试人员的行动纲领和职责指导。也就是有这样的一个体系、流程来指导他们的工作,培养了他们的主人翁责任感。让测试工作开展得有条不紊。

  主要的内容有:测试流程,测试方针、测试规程、文档模版、质量标准、测试工具、测试技术和方法等内容。

  测试体系的主要目标(5W3H):目的是告诉与测试活动相关的人员在什么样的时间,什么样的地点,由谁来做,做什么样的事情,为什么做,如何做,怎么样才算完成,缺陷任何分析和预防等。可以简称:5W3H.

  1、为什么要测试系统(Why) ?

  测试新功能:每发布一个新的版本,首先要去测试它的新功能。创建回归测试的测试套件验证缺陷修改:在这个测试周期中要验证上个测试周期的缺陷修改情况。验证系统性能检测新硬件

  2、如何测试系统(How)? 系统测试:检查系统总体功能

  压力测试:在反复相同的操作下、或其他压力条件下,比如:低内存空间/低磁盘空间等,检测软件的反应。

  安装测试:检验系统安装得是否正确,而且与已安装的软件不发生冲突。

  安全测试:测试系统存取权限和授权的级别

  边界测试:利用数据边界和系统边界检验程序

  3、什么时候进行测试(When)? 在开发流程的哪个阶段开始测试?

  在需求规格说明书一出来,或项目管理计划一出来,测试人员就开始有事做:写测试计划、编写测试用例、执行测试、测试报告和缺陷分析。很多老板以为要编码结束后才开始测试工作,所以不肯有专职的测试人员,怕他们在项目前期没有事做。

  前提条件和附属条件是什么?

  多长时间需要进行一次测试?

  交货的时间表是什么?

  什么时候停止测试? 什么时候停止测试是很有学问的,很多公司多半是在没有时间、没有资金是,老板或项目经理说了停止就停止。事实上根据bug预测、bug发现率与错误修正率的时间曲线来决定的。只有当这个曲线达到水平线后方才可以停止。

  4、谁来实施测试(Who) ?硬件:具备什么样的服务器、客户端及其网络环境。

  软件:安装什么样的软件环境最适合作这些测试。

  体系架构:测试的类别有很多,不同的人进行不同的测试,比如开发人员做单元测试,测试人员作功能测试、集成测试、非功能性测试,而让市场、需求人员、客户去做验收测试

  数据:需要什么样的测试数据来实施这一次的测试,这些测试数据的设计。

  人力资源:按测试计划的要求安排相关的人力资源。5、在哪里进行测试(Where) ?在开发服务器上测试?

  开发人员可能会叫你在测试服务器上测试,事实上这样对测试效率和测试人员的情绪影响是很大的,因为开发服务器是一个极不稳定的环境。而且也没明显的测试阶段。

  建立一个测试实验室 ?

  对于有很多项目的公司,建立一个测试实验室是很必要的,主要用来做环境的兼容性测试,压力、性能测试,验收测试等等。

  为了减轻测试者本地机器的负荷,使之在进行测试的同时可以做其他测试,远程定时执行测试的机制。6、测试什么(What) ?自动测试中应用程序的主要特点是什么?

  按重要性将这些特点排序?

  自动测试各部分的相对重要性?

  总体质量目标是什么(可用性,功能,可靠性,性能等等)?

  7、怎么样才算完成(How)?

  要定义测试的完成条件和完成标准, 以便达到这些条件和标准后应该立即停止测试,否则在经济和时间上是不允许的,因为测试可以永远下去.

  8、缺陷如何分析和预防(How)?

  测试过后应该对测试出的错误类别,错误特点作分析和提出预防措施,以便在将来的项目中有意识的去避免,这就是CMM5中说的缺陷预防.

  五、自动化测试工具(WinRunner)

  另外在此简单的介绍一下自动化测试工具的原理。

  1、 Winrunner基本原理--录制/回放功能――录制

  录制前的Add-in选择:它对不同的语言开发了不同的Add-in录制前的参数设置录制方式选择:

  Context Sensitive

  Analog

  录制技巧

  保存录制脚本和GUI

  ――调试

  修改录制好的脚本。

  添加同步点和等待时间。

  添加检查点checkpiont。

  修改GUI-MAP,提高可读性、可维护性 。

  回放的前提条件。

  执行测试方式:

  验证方式:核对应用程序是否正确。

原文转自:http://www.ltesting.net