自动化测试与自动化测试生命周期(3)

发表于:2014-11-27来源:uml.org.cn作者:不详点击数: 标签:自动化测试
图2-1说明了测试与自动化测试在测试用例的四个质量特征上的区别。 图2-1 测试用例质量Keviat图 1.2 自动化测试生命周期的概述 1.2.1 自动化测试过程 提到测

  图2-1说明了测试与自动化测试在测试用例的四个质量特征上的区别。

  图2-1 测试用例质量Keviat图

  1.2 自动化测试生命周期的概述

  1.2.1 自动化测试过程

  提到测试,一般都认为是使用测试用例进行测试,而事实上,这只是完整测试过程中的一个步骤,测试活动其实是一个过程,如图2-2所示,是一系列的步骤,通过这些步骤实现测试活动,导致测试的执行和测试产物的产生。测试过程有开发者、测试设计工程师和测试工程师的共同参与。包括了测试计划、设计、开发、执行和评估这几个步骤[1]。各个步骤分别又有不同的自动化工具提供支持。

  图2-2 自动化测试过程

  (1)自动测试的计划

  理想情况下,测试始于测试目标和测试策略的建立,测试策略应满足测试目标的要求。管理层的测试计划包括评估完成所有测试活动的时间,测试活动安排及资源分配,控制测试过程以及跟踪整个测试过程所需采取的活动,这些高层次活动应该在项目开始前就实施,并贯穿项目的整个开发过程。

  测试计划是测试过程中最重要的活动,包括风险评估、鉴别和确定测试需求的优先级,估计测试资源的需求量,开发测试项目计划以及给测试小组成员分配测试职责等。

  测试计划的目的是收集从需求/设计文档中得到的信息,并将这些信息表现在测试需求中,而测试需求将在测试场景中得到实现。测试场景是测试计划的一部分,它直接提供给测试条件、测试用例、测试数据的开发。我们可以视测试计划为从软件需求中抽出来工作文档,并和测试需求和测试结果相联系。测试计划还会随着软件需求的更新而更新,是动态的文档。

  这个阶段主要是测试设计工程师根据开发者提供的功能需求,高级设计文档及详细设计文档,使用如Rational RequisitePro这样的工具得到测试需求,测试计划,以及测试用例的Excel形式的列表。

  (2)自动测试的设计

  测试设计包括经过测试需求分析后,定义测试活动模型(确定测试所使用的测试技术),定义测试体系结构,完成测试程序的定义与映射(建立测试程序与测试需求之间的联系),自动/手动测试映射(确定哪些测试使用自动测试),以及测试数据映射。

  需要指出的是确定自动/手动测试映射,对于自动测试相当重要,因为并不是所有的测试都适合自动化。作者认为,一般以下几类情况适合进行自动测试:

  当前的测试项目比较大,且在今后项目中重复测试的概率比较高;

  测试本身的执行简单、机械,而测试所需硬件环境则相对来说比较稳定;

  测试难以通过手动方式实现,例如部分负载/压力测试;

  测试基本不需要人工参与,且重复性较高,如系统的配置测试。

  这个阶段主要参与者有测试设计工程师,其任务是根据测试需求,测试计划文档,测试用例列表等,使用工具如Excel来构建电子数据表,包括测试条件电子数据表,测试数据电子数据表,有关各种映射关系定义的表格以及详细测试电子数据表。

  (3)自动测试的开发

  测试开发包括创建具有可维护性、可重用性、简单性、健壮性的测试程序。同时要注意确保自动测试开发的结构化和一致性。

  这个阶段由测试设计工程师在上一阶段的基础上,根据详细测试表、映射关系定义表等电子数据表格,可以使用Robot、 WinRunner等工具,生成手工测试脚本,自动化测试脚本。尤其是自动测试脚本的开发,有线性脚本、结构化脚本、共享脚本、数据驱动脚本和关键字驱动脚本这几种脚本技术。各种脚本技术将在后面章节详细论述。

  (4)自动测试的执行与评估

  随着测试计划的建立和测试环境的搭建完毕,按照测试程序进度安排执行测试,可以通过手动或自动或半手动半自动方式执行,它们各自可以发现不同类型的错误。测试执行结束后,需要对测试结果进行比较、分析以及结果验证,得出测试报告(包括总结性报告和详细报告)。其中总结性报告是提供给被测方中高层管理者及客户的,而详细报告,寄过编辑整理,作为反馈文档提供给开发小组成员。执行及评价过程如图2-3所示。

原文转自:http://www.uml.org.cn/Test/200804098.asp