测试用例生命周期(2)

发表于:2015-12-01来源:uml.org.cn作者:郑文强点击数: 标签:测试用例
通过运行测试用例来对被测系统进行测试。对手动测试来说,测试执行主要是测试人员坐到被测系统前面,参考测试用例的步骤来进行测试执行。测试人员

  通过运行测试用例来对被测系统进行测试。对手动测试来说,测试执行主要是测试人员坐到被测系统前面,参考测试用例的步骤来进行测试执行。测试人员输入测试输入、检查测试输出、比较测试预期结果和实际结果、记录在测试过程中发现的问题等等。而对于自动化测试过程,测试执行可能是打开测试工具,运行测试用例脚本和测试脚本等,通过自动化的方式来记录测试结果。

  必须仔细检查每个测试用例执行的实际输出结果,根据测试预期结果来判断被测系统是否能够正确的工作。有些测试结果的比较可以在测试执行中就可以进行,而有的测试结果需要在测试执行完成以后才能进行比较。

  假如测试实际输出结果和测试预期结果是一样的,那么认为测试用例执行是通过的。假如不一样,那么测试用例执行失败,或者说软件系统存在问题。当然,这是非常简单的比较。更加正确的说法是假如测试结果和测试期望不一致,需要进一步的检查。比如可能是软件存在缺陷,也可能是测试用例本身存在问题,或者是测试用例中的测试预期结果存在问题,甚至是由于测试环境存在问题而引起的。所以,在比较测试结果的时候,需要从不同的方面来确认具体的问题来源。

  5 测试用例管理

  1)测试用例组织

  任何一个项目,其测试用例的数目都将是非常庞大的。如何来组织、跟踪和维护测试用例是一件非常重要的事情。在整个测试过程中,可能会涉及不同测试类型的测试用例。如何来组织测试用例,是测试成功与否的一个重要因素,也是提高测试效率的一个重要步骤。

  测试用例的组织,可以用不同的方法来进行组织或者分类:

  按照软件功能模块组织:软件系统一般是根据软件的功能模块来进行工作任务分配的。因此,根据软件功能模块进行测试用例设计和执行等是很常用的一种方法。根据模块来组织测试用例,可以保证测试用例能够覆盖每个系统模块,达到较好的模块测试覆盖率。

  按照测试用例类型组织:将不同测试用例的类型来进行测试用例的分类和组织,也是一种常用的方法。比如可以根据配置测试用例、可用性测试用例、稳定性测试用例、容量测试用例、性能测试用例等来对具体的测试用例进行分类和组织。

  按照测试用例优先级组织:测试用例是有优先级的。对于任何软件,实现穷尽测试是不现实的。在有限的资源和时间内,首先应该进行优先级高的测试用例,或者用户最需要的功能模块或者风险最大的功能模块等。

  在上面的三种测试用例组织方法中,按照功能模块进行划分是最常用的。不过,我们可以结合起来使用,比如在按照功能模块划分的基础上,再进行不同优先级的划分,甚至不同测试用例类型来进行划分和组织。

  测试用例组织好以后,就需要进行测试用例的执行,知识测试生命周期中的重要的过程。具体的过程可以如下:

  根据软件模块,进行具体测试用例的设计,这些测试用例可以保证模块的测试覆盖率。

  软件的各个模块组成测试单元(单元集成测试)。

  测试单元和测试环境、测试平台以及测试资源等形成测试计划的重要组成部分,并最终形成完整的测试计划。

  测试计划形成后,需要确定测试执行计划。

  将测试执行计划划分成多个不同的测试任务。

  将测试任务分配给测试人员实现测试执行过程。

  测试人员执行测试得到测试结果和测试相关信息。

  2)测试用例跟踪

  在测试执行之前,需要回答这样的一些问题:哪些测试单元是需要测试的?有多少测试用例需要执行?如何来记录测试过程中测试用例的状态?如何通过测试用例的状态,来确定测试的重点或者什么模块是需要进行重点测试的?

  要回答这些问题,就需要对测试过程中测试用例进行跟踪。测试过程中,测试用例的基本状态有三种:通过、未通过和未测试。根据在测试执行过程中测试用例的状态,实现测试用例的跟踪,从而达到测试的有效性。因此,测试用例的跟踪主要是针对测试执行过程中测试用例的状态来进行的,通过测试状态的跟踪和管理,从而实现测试过程和测试有效性的管理和评估。

  测试用例执行的跟踪:在测试执行的过程中,对测试用例的状态进行跟踪,可以有效的将测试过程量化。比如,执行一轮测试过程中,测试的测试用例数目是多少,每个测试人员每天能够执行的测试用例是多少,测试用例中通过、未通过、未测试的比例各是多少。这些数据可以提供一些信息来判断软件项目执行的质量和执行进度,并对测试进度状态提供明确的数据,有利于测试进度和测试重点的控制。详细的测试用例执行跟踪,可以参考测试用例评估章节。

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