关于测试设计的基本原则和用例的质量标准

发表于:2009-11-12来源:作者:点击数:

关于测试设计的基本原则和用例的 质量 标准 软件测试 一、测试用例设计的基本原则 在测试用例设计时,除了需要遵守基本的测试用例编写规范外,还需要遵循些基本的原则。 ? 1尽量避免含糊的测试用例 ? 含糊的测试用例给 测试过程 带来网难,甚至会影响测试

关于测试设计的基本原则和用例的软件测试

一、测试用例设计的基本原则

在测试用例设计时,除了需要遵守基本的测试用例编写规范外,还需要遵循些基本的原则。

?

1尽量避免含糊的测试用例

?  含糊的测试用例给

例如,还用上断的例子来说明,对J:Ij户登录的页面校验测试进行测试用例鼓计:

??    ·  输入JF确的用户和密码,所有程序工作上【=常。  .  输入错误的用户和密码,程序_:|二作小正常,井弹出对话框。

??    在L而这样的测试用例设计,未能清楚地描述什么样是程序正常工作状态,什么样是程序不正常工作状态,这样含糊不清的测试用例必然会导致测试过程‘{1问题的遗漏。

2尽量将具有相类似功能的测试用例抽象并归类

一直强调软件测试过程是无法进行穷举测试的,因此,对相类似的测试用例的抽象过程显得尤为重要,一个好测试用倒应该足能代表组或者一系列的测试过程。

3尽量避免冗长和复杂的测试用例

这样做的主要目的是保证验证结果的惟一性。这也是和第一条原则相一致的,为的是在测试过程执行过程th确保测试用例的输出状态惟性,从而便于跟踪和管理a在一些很长和复杂的测试用例设讨过程中,需要将测试用例进行合理的分解,从而保证测试用例的准确性。在某些时候,rj测试用例包含很多不I司类型的输入或者输乩或彳}测试过程的逻辑复杂而币连续,此时需要对测试用例进行分解。张实际的测试用例设计中,需要将前述的基本原则和考虑凶素结台起来,遵循基本的测试用例编写规范。按照实际测试的

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

在定义测试用例的质量标准之前,先要了解设计测试用例的目的。测试用例是测试工作中最重要的元素或测试件(test ware)之一,是测试执行的基础。测试用例不仅能有效地帮助实施后继的

达到已定义的或所要求的测试覆盖率,如大于98%。

使测试执行的效率达到最好的水平,如最有效的途径并使60%以上的测试用例被

但是,按照这样的标准,很难在测试执行前或执行过程中评估测试用例的质量,而不得不在执行完这些测试用例之后进行

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

(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) 前提条件、依赖性被完全识别出来。

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

附表 测试用例模板

MILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">字段名称

类型

注释

标志符

整型

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

测试项

字符型

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

测试目标

字符型

从固定列表中选择一个

测试环境要求

字符型

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

前提

字符型

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

输入数据

字符型

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

操作步骤

字符型

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

期望输出

字符型

所属模块

整型

模块标识符。

优先级

整型

1,2,3(1-优先级最高)

层次

整型

0,1,2,3  ( 0 –最高层)

关联的测试用例

整型

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

执行时间

实型

分钟

自动化标识

布尔型

T,F

关联的缺陷

枚举型

缺陷标识符列表。

软件测试质量标准的指标,关于测试设计的基本原则和用例的质量标准相关推荐

  1. 软件测试的创新思维,解读测试设计

    测试设计,可以理解为它是对测试工作进行有目的.有计划的.创造性的商业活动,这种创造性活动与设计者本身所掌握的测试技术及拥有经验的丰富程度密切相关.测试界大师Glenford J. Myers在< ...

  2. 软件安全性测试设计的基本原则

    2015年3月2日 百度了下网上已有的同类话题,讲的有些笼统.这里将我日常工作中涉及到的细化一下,以备忘. 博客里的表格太难用了...直接上图: 下面这张图可以帮忙加深上面表格的理解: 1. 最小授权 ...

  3. 软件测试设计与开发,软件测试技术·测试设计与开发.ppt

    软件测试技术·测试设计与开发 * 3.4 评审测试用例 复查测试用例时应该考虑的一些问题: 测试或测试组件完全针对的是需求中列出的功能吗? 测试组件是否覆盖了所有需求? 有冗余的测试吗? 每一个测试步 ...

  4. 软件测试如何识别等价类,测试设计之等价类和边界值

    1  引言 一般来说,软件测试设计方法分为5类:传统的黑盒测试方法.基于质量的测试方法.基于风险的测试方法.基于经验的测试方法以及白盒测试方法.下面分篇介绍下传统的黑盒测试和白盒测试方法. 5种黑盒测 ...

  5. 【软件测试】分享一波测试面试题(偏银行、信贷)。

    项目中会对接第三方系统吗,哪些系统 在项目中对接第三方系统是非常常见的.常见的对接的第三方系统包括但不限于以下几种: 1.支付系统:例如支付宝.微信支付.银联支付等.如果项目需要接入支付功能,就需要对 ...

  6. TICA 2019 基于人工智能的模型驱动测试设计

    阿里QA导读:面对被测系统发生重大的变化,过去的资产如何维护?如何通过人工智能驱动,设计测试自动化解决方案?本次分享将从模型驱动设计,AI如何优化测试用例等维度,介绍一种AI在软件测试领域的实践方案. ...

  7. 软件测试需要学什么?测试小白入门必看!

    很多新手,不知道软件测试学习该如何开始,软件测试需要掌握哪些知识.以下是个人对测试的理解,以及测试经验,希望会对各位有所帮助! 1.测试基础理论 不管有没有计算机基础,测试理论的学习都是首要的,不管你 ...

  8. 软件测试需要学什么?测试学习大纲梳理

    很多新手,不知道软件测试学习该如何开始,软件测试需要掌握哪些知识.下面是根据本人的理解,粗略整理的一个学习大纲,基本上涵盖了软件测试工程师需要掌握的全部技能,希望对刚入行或者准备学习测试的朋友提供一点 ...

  9. 软件测试质量度量指标

    软件测试质量度量指标 度量模块 度量指标 统计方法 度量说明 产品完成度 1.需求通过率 (已通过需求/已计划需求) 体现需求的完成度.也常可以统计为(测试用例通过数/计划的测试用例总数),即默认用例 ...

最新文章

  1. Windows 7系统如何设置锁定计算机快捷方式【技术小摘】
  2. C# 去除文件或 文件夹只读属性
  3. unset是不能清除保存在本地电脑上的cookie的,用于session就可以(弄了半天原来是这样)...
  4. Java会话技术之 —— Spring Session
  5. qt给exe文件添加图标
  6. [转载] 全本张广泰——第十九回 御赐黄马褂 奉旨喜还乡
  7. java计算机毕业设计跨境电商网站源码+系统+数据库+lw文档+mybatis+运行部署
  8. 金字塔原理——表达的逻辑
  9. MySQL的安装与配置——详细教程
  10. STM32——CAN通信实验
  11. java 图片去水印_如何用java去除图片水印?
  12. 大疆创新2014年校园招聘笔试题(嵌入式类)
  13. 网络:简述对5G网络切片的认识
  14. cglib BeanCopier 使用
  15. .NET Framework的作用是什么
  16. Android Arcgis入门(12)、加载天地图
  17. python 实现链家网房源数据信息的爬取
  18. dw软件打开php,php新手求助,为什么在DW中设计里能看到运行php程序的结果,但…...
  19. 如何只通过指针获取所指内容的大小
  20. iOS Matter 操作证书签发方案

热门文章

  1. python中的reshape是什么意思_python中reshape的用法(深度学习入门程序)
  2. 手机上竟然也能用 Win10 ?一模一样啊!
  3. 工作站启动不起来的解决方案
  4. 从知识女性转变为家庭妇女
  5. java 源代码 分析_Java Collections 源码分析
  6. 微网站 源码 php,DIYWAP手机微网站内容管理系统 php版 v6.3
  7. 小程序怎么把同名文件的前端数据(wxml)传送到后端(js)
  8. (附源码)计算机毕业设计SSM职业学校招生系统
  9. 入行测试已经4年了 ,进华为后迷茫了3个月,做完这个项目我决定离职....
  10. 软件测试怎么学习 ?50本关于软件测试的书籍,拿走!