图2-3 测试执行及评估流程
这个阶段由测试设计工程师与测试工程师共同参与。构建好的待测系统上使用测试用例脚本执行测试数据,其中测试数据是被设计用于测试该应用程序各种特征的。可以使用Excel、Word、ClearQuest等工具,得到测试后的测试结果日志、测试度量、缺陷报告及测试评估总结等。
1.2.2 自动化测试与自动化测试过程的区别
如果需要的是一个完全的自动化的测试过程,而不仅仅是一些自动化测试,那么围绕测试执行过程的前处理和后处理任务就必须自动化,如图2-4。前处理,包括所有与建立和恢复那些与测试先决条件相关的工作。后处理,包括对测试结果进行评估,保存工具日志文件,清除测试环境等工作。对测试过程进行自动化,更有利于减轻工作量。
图2-4 自动化测试与自动化测试过程的区别
1.2.3 自动化测试生命周期方法学
自动化测试生命周期方法学(Automated Test Lifecycle Methodology,ATLM)[1]是一个旨在确保自动化测试成功实施的结构化的方法学,反映了现代的快速应用开发(Rapid Application Development, RAD)工作的益处。它是一个多阶段的过程,该方法学由六个部分组成:自动测试决定,自动测试工具获取,自动测试引入测试过程,自动测试计划、设计与开发,测试的执行与管理,测试的评审与评估。如图2-5所示。
在2.2.1节中论述的自动化测试过程是自动化测试生命周期的一个重要组成部分。而ATLM则从方法论的角度,更全面更系统地论述了整个自动化测试项目。
图2-5 自动测试生命周期方法学
(1)自动测试决定
正如在2.1.2节中论述的,自动化测试确实存在许多优点,但并不是任何测试都能自动化,它也存在着局限性。克服不正确的自动测试期望,必须针对测试项目的具体情况,确定什么时候,对什么进行自动化[14]。如果对不适合自动化的测试,实施自动化,不但耗费了大量资源,而且得不到相应的回报。要记住:自动测试不可能完全替代手动测试。
作者认为,在针对测试项目的整个周期时间、资源分配情况及资金安排情况的综合分析后,确定什么时候,对什么进行自动化。
(2)测试工具获取
实现自动化测试,测试工具的选择很重要,而目前还没有一个单一的测试工具能用来完成所有的测试需求。测试工具品种不一,功能性能各异。对自动测试工具的适当选择,很大程度上决定了该工具能否获得相应的投资回报。
作者认为,要对市场上各种测试工具进行广泛地调查比较。在选择时,建议考虑以下几个方面:该工具引入后改进测试的效果,能实现何种测试需求;测试工具与待测软件/系统的互操作性;工具的成本估算;引入工具所需的额外时间;工具所需的专业知识及培训费用等等。有时,可以选择开放性开发的测试工具。
(3)自动测试引入阶段
首先需要测试过程分析,从而确定适用的技术环境以及自动工具可支持的各种测试。其次,将潜在的测试工具和实用程序映射到测试需求中,验证测试工具是否与应用及环境兼容。
作者认为,使测试工具得到最大回报的方法,就是在测试中最大限度地发挥它的功能。对于获得的测试工具,要真正引入到测试项目中,与待测系统实现互操作,可以以某些测试工具为基础进行二次开发,使得测试工具更专业化,更适合测试工程师操作。
(4)自动化测试过程
自动化测试过程包括:测试计划、设计及开发,测试执行与管理,测试评审与评价,已经在2.2.1节中具体论述过了。
1.3 自动测试生命周期方法学的应用
自动测试生命周期方法学作为一种结构化的方法学,本课题以之为指导,进行自动化测试系统的设计与实现。
本文第三章将论述根据iSAM系统的测试需求作出自动测试的决定,以及自动测试系统建模的方法。
第四、五章将详细介绍自动化测试系统的框架和实现,以及为此系统设计和实现的自动工具。这正对应于自动测试生命周期第二阶段自动测试工具的获取和第三阶段自动测试引入到过程。
原文转自:http://www.uml.org.cn/Test/200804098.asp