`
touchinsert
  • 浏览: 1289269 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

如何定义测试用例的质量标准?

阅读更多
在定义测试用例的质量标准之前,先要了解设计测试用例的目的。测试用例是测试工作中最重要的元素或测试件(test ware)之一,是测试执行的基础。测试用例不仅能有效地帮助实施后继的回归测试、知识的传递和测试的管理等,而且更重要的是能更快、更有效地发现缺陷,确保测试的系统性和全面性,测试的深度和广度达到所期望的目标也就是说,测试用例的质量就是满足测试目标的程度,体现在 “测试覆盖率和测试执行效率”两个方面。所以,测试用例最基本的质量标准就是:
  • 达到已定义的或所要求的测试覆盖率,如大于98%。
  • 使测试执行的效率达到最好的水平,如最有效的途径并使60%以上的测试用例被测试工具执行

但是,按照这样的标准,很难在测试执行前或执行过程中评估测试用例的质量,而不得不在执行完这些测试用例之后进行度量,特别是测试覆盖率。所以,理想的情况要求在测试用例设计过程中,可以按照某种特定的质量标准对测试用例进行复审(review)、实施评估。那么,这种特定的质量标准是什么呢?

根据多年的实践经验,测试用例的标准不能局限于一个层次,因为测试用例设计类似于软件设计,软件设计有架构设计(结构设计/概要设计)和详细设计,所以对于测试用例的质量标准,也应分为两个层次来考虑:

(1)高层次——满足某一个测试目标或测试任务来整体看测试用例,衡量一组测试用例的结构、设计思路和覆盖率等指标。

(2)低层次——从单个测试用例看,衡量其描述的规范性、可理解性和可维护性等指标。

朱少民-软件测试和质量专栏 版权所有

1.高层次(high-level)标准

高层次标准是从满足某一个特定的测试目标出发来进行定义,分析一组测试用例的设计思路、设计方法和策略,包括测试用例的层次、结构等。从高层次看,测试用例设计的关键点是:始终从客户需求的角度(出发),始终围绕测试的覆盖率和执行效率不断思考,最终通过有效的技术方法完成测试用例的设计。

对于一整套的测试用例组(集合),可定义如下的质量标准:

(1) 测试用例的目标清楚,并能满足软件质量的各个方面,包括功能测试、性能测试、安全性测试、故障转移测试、负载测试等。

(2) 设计思路正确、清晰。例如,通过序列图、状态图、工作流程图、数据流程图等来描述待测试的功能特性或非功能特性。

(3) 在组织和分类上,测试用例层次清楚、结构合理。测试用例的层次与产品特性的结构/层次相一致,或者与测试的目标/子目标的分类/层次相一致,并具有合理的优先级或执行顺序。

(4) 测试用例覆盖所有测试点、覆盖所有已知的用户使用场景(User scenario),也就是说每个测试点都有相应数量的测试用例来覆盖,而且将各种用户使用场景通过矩阵或因果图等方式列出来,找到相对应的测试用例。

(5) 测试手段的区别对待。在设计测试用例时,就要全面考量测试的手段,哪些方面可以通过工具测试,哪些方面不得不用手工测试,对不同手段的测试用例区别对待。

(6) 有充分的负面测试。作为测试用例,不仅要测试正确的输入和操作,还要测试各种各样的例外情况,如边界条件、不正确的操作、错误的数据输入等。

(7) 没有重复、冗余的测试用例,满足相应的行业标准等。

朱少民-软件测试和质量专栏 版权所有

2.低层次(low-level) 标准

低层次标准是考察单个测试用例是否满足测试的需求,是否能被更有效地执行。测试用例设计的结果就是交付测试用例,使测试用例被执行,所以除了覆盖率,执行的效率也是测试用例的一个重要属性。测试用例越清楚,越容易被理解和执行。执行效率越高就说明测试用例越好,如果测试用例能被机器(computer)执行,当然执行效率得到体现。

对于具体的某个测试用例,不妨可定义如下的质量标准:

(1) 测试用例的出发点是发现缺陷,即单个测试用例在“暴露缺陷”上具有较高的可能性。

(2) 测试用例的单一性。一个测试用例面向一个测试点,不要将许多测试点揉在一起。例如,通过一个测试用例发现1~2个缺陷,而不能发现5~10个缺陷甚至更多的缺陷。

(3) 符合测试用例设计规范或测试用例模板,见下面附表所示。

(4) 描述清楚,包括特定的场合、特定的对象和特定的术语,没有含糊的概念和一般性的描述。例如,测试用例名称为“登录功能使用正常”,就是一个描述不清楚的例子,而这样的描述“登录功能中用户名大小写不敏感性验证”、“登录功能中用户名唯一性验证”和“用户帐号被锁定后再进行登录操作”等就比较好。

(5) 操作步骤的准确性,按照步骤的操作得到唯一的测试结果。

(6) 操作步骤的简单性。操作步骤不应该太复杂,过于复杂的操作步骤意味着测试用例需要被分解为多个测试用例或者分解为多个环节进行验证。

(7) 所期望的测试结果是可验证的即能迅速、明确地判断测试的实际结果是否与所期望的结果相同或相匹配。例如,在测试用例中描述期望结果为“登录成功”,这实际是不可验证的。要使这个期望结果具有可验证性,我们就应该这样描述所期望的结果——“‘退出(log out)’按钮出现”。

(8) 测试环境的正确性、测试数据的充分性。

(9) 前提条件、依赖性被完全识别出来。

朱少民-软件测试和质量专栏 版权所有


这样,测试用例具有很好的可理解性和可维护性,可以提高测试执行的效率。并能保证不同的人员执行相同的用例能获得统一的结果。步骤的准确性和期望结果的可验证性,非常有助于测试执行的自动化实现。也只有实现了测试执行的自动化,测试执行的效率才是最高的,而且测试人员才有更多的时间去思考、去设计更优秀的测试用例,进入良性循环,相互促进,不断地提升测试的质量和效率。


测试用例模板

字段名称

类型

注释

标志符

整型

唯一标识该测试用例的值,自动生成

测试项

字符型

测试的对象,可以从软件配置库中选择

测试目标

字符型

从固定列表中选择一个

测试环境要求

字符型

可从列表中选择,如果没有,则直接输入新增内容

前提

字符型

事先设定、条件限制,如已登录、某个选项已选上

输入数据

字符型

输入要求说明、或数据列举

操作步骤

字符型

1., 2., … 操作步骤的顺序,准确详细地描述。

期望输出

字符型

所属模块

整型

模块标识符。

优先级

整型

123 1-优先级最高)

层次

整型

0123 ( 0 – 最高层)

关联的测试用例

整型

上层(父)用例的标识符。

执行时间

实型

分钟

自动化标识

布尔型

TF

关联的缺陷

枚举型

缺陷标识符列表。

朱少民-软件测试和质量专栏 版权所有

参考:

第21回 测试用例设计方法的综合运用
第22回 测试用例的复审
版权所有,软件测试演义®
分享到:
评论

相关推荐

    软件测试中如何定义测试用例的质量标准?

    软件测试中如何定义测试用例的质量标准?在定义测试用例的质量标准之前,先要了解设计测试用例的目的。测试用例是测试工作中最重要的元素或测试件(testware)之一,是测试执行的基软件测试中如何定义测试用例的质量...

    如何定义测试用例的质量标准?

    在定义测试用例的质量标准之前,先要了解设计测试用例的目的。测试用例是测试工作中最重要的元素或测试件(testware)之一,是测试执行的基础。 在定义测试用例的质量标准之前,先要了解设计测试用例的目的。测试用例...

    软件测试用例的质量标准要如何定义

    在定义测试用例的质量标准之前,先要了解设计测试用例的目的。测试用例是测试工作中最重要的元素或测试件(testware)之一  在定义测试用例的质量标准之前,先要了解设计测试用例的目的。测试用例是测试工作中最重要...

    软件测试经典面试题

    4、正交表测试用例设计方法的特点是什么? 5 5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程? 5 6、你觉得bugzilla在使用的过程中,有什么问题? 5 7、描述测试用例设计的完整过程? 6 8...

    软件测试经典面试题 (超实用)

    4、正交表测试用例设计方法的特点是什么? 5 5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程? 5 6、你觉得bugzilla在使用的过程中,有什么问题? 5 7、描述测试用例设计的完整过程? 6 8、单元...

    软件测试入门(必看)

    1.4.5 定义测试用例的执行顺序 10 1.5 测试用例执行 10 1.5.1 搭建软件测试环境,执行测试用例 10 1.5.2 测试执行过程应注意的问题 11 1.5.3 及时更新测试用例 11 1.5.4 提交一份优秀的问题报告单 12 ...

    软件测试必看 入门级的教程

    1.4.5 定义测试用例的执行顺序 10 1.5 测试用例执行 10 1.5.1 搭建软件测试环境,执行测试用例 10 1.5.2 测试执行过程应注意的问题 11 1.5.3 及时更新测试用例 11 1.5.4 提交一份优秀的问题报告单 12 ...

    软件工程与软件测试自动化教程

    第12章 软件自动测试和测试用例生成(OO-Test) 12. 1 激活Panorama/Test 12. 2 测试用例的生成 12. 2. 1 为动态分析程序准备和运行测试用例 12. 2. 2 加载测试用例 12. 2. 3 创建测试用例 12. 2. 4 运行测试...

    真实的测试计划报告

    1. 概述 6 2. 适用对象和范围 6 3. 术语、名词定义 6 3.1. 系统测试 6 3.2. 黑盒测试(功能测试) 6 3.3. 白盒测试 6 3.4. 灰盒测试 7 3.5. 健壮性测试(容错能力/恢复能力测试) 7 3.6. ...

    软件测试作业及习题评讲

    3 事先定义好产品的质量标准,只有有了质量标准,才能根据测试的结果,对产品的质量进行分析和评估。 4 软件项目一启动,软件测试也就是开始,而不是等程序写完,才开始进行测试。 5 穷举测试是不可能的。甚至一个...

    接口测试白皮书--淘宝(中国)软件有限公司

    435 测试用例设计和评审 436 测试实现和执行 437 持续集成 44 质量评估标准 5 接口测试的技术简介 51 Junit 52 DbUnit 53 Spring TestContext Framework 54 Unitils 55 TestNG 56 CruiseControl 57 ...

    软件测试规范

    测试标准 .................................................................................................................................................. 13 附录一 单元测试报告 ......

    c++test6.7教程

    实现和执行用户定义的单元测试用例。 用测试对象和插桩建立实际的测试用例。 分析改进测试覆盖率。 生成带有以当前代码为基础的“功能快照”的回归测试包,用这些测试包识别代码修改引入的非预期改变。 和项目组成员...

    测试笔记(从零开始)

    1、定义测试范围 160 2、建立需求项 160 3、细化需求项 162 4、需求覆盖率分析 164 课前复习: 164 判定表 166 3.1.读书选择 166 3.2.Counter 168 3.3:word中的判定表举例 169 3.4.合并判定表 170 3.4.密码修改 171...

    系统测试计划-模板.doc

    1. **确认系统的质量:** 系统测试计划的首要目标是确认软件系统是否满足质量标准和要求。通过一系列的测试用例和测试场景,确保系统在各种情况下都能够正确运行。 2. **检测缺陷和错误:** 系统测试有助于检测系统...

    软件测试培训资料.pptx

    一年以上软件测试经验 计算机相关专业大专以上学历 了解软件工程,熟悉软件测试过程和标准,熟悉配置管理技术和工具 能够编制测试计划、设计测试用例、编写Bug报告和测试总结报告、使用测试工具、开发测试脚本 熟练...

    本科毕业论文 基于CHAM的形式化建模方法研究

    3.4.2 从LTS产生测试用例步骤 9 4 实例研究:灯控问题 10 4.1 用CHAM对“灯控问题”进行描述 10 4.1.1 问题描述 10 4.1.2 CHAM规格说明 10 4.1.4初始溶液的测试 11 4.2 由CHAM描述导出LTS 11 4.2.1 系统动态行为模拟...

    测试培训教材

    把测试计划树中的“Cruises”包含的所有测试用例以及“Airline Preference”、“Number of Passengers”添加到测试集中: 9、测试过程监控 计划测试的运行 在“Mercury Tours 1.0.1”中新建一个测试集: ...

Global site tag (gtag.js) - Google Analytics