软件测试用例设计生命周期

简介:

测试用例分析与设计是整个测试生命周期中非常重要的一个活动,该测试活动的输出是后续测试执行的主要输入,其质量直接影响后续测试效率、有效性及测试质量。测试用例分析与设计的过程,采用的技术与方法,以及测试人员的测试经验与技能等,都会影响最终的测试用例质量。

  图1是测试用例设计生命周期示意图。在该示意图中,包括了测试用例设计相关的主要测试活动,可能可以采用的技术与方法等。主要的测试活动包括:

  1)确认测试用例设计的参考输入来源;

  2)识别初始测试条件(测试点);

  3)采用测试类型分析与功能交互分析细化测试条件;

  4)采用测试用例设计技术与方法设计测试用例;

  5)输出测试用例规格说明。

图1 测试用例设计生命周期

  1)确认参考输入来源

  测试用例设计不能仅仅依靠测试人员大脑中的一些经验和知识,良好的测试用例设计需要参考各种不同的参考输入文档。其中包括:

  (1)开发文档,指的是软件开发过程中的各种软件工作产品,例如:系统需求规格说明、概要设计规格说明等;

  (2)用户需求,测试的工作不仅是验证开发文档中定义的要求是否满足,同时也需要确认软件产品是否真正满足用户的需要。因此,测试人员了解用户需要是非常必要的。

  (3)标准与规范,开发文档中有些内容之来来源于标准与规范,而没有在文档中详细描述其中的要求,因此它们也是测试人员进行测试设计的重要参考依据;

  (4)类似产品需求,随着迭代-增量开发模型应用越来越广,测试人员经产面临的产品是基于已有系统之上,因此,以前产品的版本信息和质量信息对于当前的测试也很重要;

  (5)测试经验知识库,可以来自测试执行的经验、测试过程中发现的缺陷分析和分类、用户反馈的缺陷的分析和分类等;

  (6)其他隐现需求,例如:和开发人员面谈得到的信息、杂志和网络中的一些缺陷列表等。

  2)识别初始测试条件

  测试人员得到测试用例设计的主要参考来源之后,需要对这些文档内容进行仔细学习和研究,并从不同的参考输入来源中识别初始的测试条件(或者测试点)。测试条件颗粒度可以根据参考输入文档的内容来确定,例如:一条需求条目映射为一条初始测试条件,或者多条需求条目映射为一条初始测试条件。

  3)细化测试条件

  根据参考输入来源获得的初始测试条件,通常来说颗粒度是比较粗的,测试人员需要采用测试类型分析和功能交互分析等方法进行细化。例如:针对某条初始测试条件,测试人员可以考虑是否在每个不同的测试类型上面都需要考虑。详细的测试类型分析与功能交互分析,请参考后续的文章

  4)设计测试用例

  得到细化的测试条件之后,测试人员需要采用不同的测试用例设计技术与方法,来设计具体的测试用例。在设计测试用例的过程中,测试人员可能发现测试条件需要更新,或者当前的测试条件并适合设计。因此3)细化测试条件与4)设计测试用例之间并不是单向的测试活动,它们之间有时候需要不断的相互迭代。

  5)输出测试用例规格说明

  最后,包含测试步骤和期望结果的测试用例,按照测试对象特性或者特性组合形成不同的测试用例规格说明。








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
2月前
|
测试技术
包含用例执行时间的测试报告代码
包含用例执行时间的测试报告代码
|
3月前
|
测试技术
软件测试/测试开发/全日制|Pytest如何灵活地运行用例
软件测试/测试开发/全日制|Pytest如何灵活地运行用例
33 0
|
4月前
|
Java 测试技术 Python
java写班级系统测试用例
python班级系统测试用例
56 2
|
4月前
|
测试技术 网络架构 Python
python班级系统测试用例
python班级系统测试用例
57 1
|
7月前
|
Java 测试技术
一文读懂如何用Java编写单元测试用例?
一文读懂如何用Java编写单元测试用例?
463 0
|
3月前
|
测试技术 C++
软件测试/测试开发全日制培训|Pytest跳过用例和失败重试
软件测试/测试开发全日制培训|Pytest跳过用例和失败重试
29 0
|
8月前
|
人工智能 大数据 测试技术
《游戏测试》你真的会写用例吗? 2
《游戏测试》你真的会写用例吗?
|
3月前
|
测试技术
软件测试/测试开发|pytest用例执行顺序,这篇文章就够了
软件测试/测试开发|pytest用例执行顺序,这篇文章就够了
35 0
|
6月前
|
XML Java 测试技术
JVM && 软件测试的目的和原则 && Spring基本概念 && 项目创建 && 软件测试的生命周期 && SpringBoot创建和运行 && Bean作用域
JVM && 软件测试的目的和原则 && Spring基本概念 && 项目创建 && 软件测试的生命周期 && SpringBoot创建和运行 && Bean作用域
48 0
|
7月前
|
Web App开发 前端开发 JavaScript
SAP UI5 应用开发教程之八十二 - 采用 OPA5 开发支持页面跳转的 SAP UI5 集成测试用例试读版
SAP UI5 应用开发教程之八十二 - 采用 OPA5 开发支持页面跳转的 SAP UI5 集成测试用例试读版
37 0