软件测试理论-测试用例和设计方法
一 什么是测试用例
1.1 测试用例的定义
1.2 测试用例模板和包含的内容
1.3 设计测试用例的作用
简单的说,测试用例就是:
- 设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的预期结果。
- 如果程序在这种情况下不能正常运行,而且这种问题或重复发生,那就表示软件测试人员已经测出软件有缺陷,这时候就必须讲这个问题标示出来,并且通知软件开发人员。软件开发人员接获通知候,将这个问题修改完成于下一个测试版本内。
- 软件测试工程师取得新的测试版本后,必须利用同一个用例来测试这个问题,确保该问题已经修改完成。
二 测试用例模板
测试用例编号 | 标识符(用例编号):一般编号规则:TestCase_项目名称_模块名称_功能名称_序号 |
测试标题 | 测试的目标:预期结果(测试点) |
依赖用例 | 一般功能流程上,下游的功能测试依赖于上游的功能测试的用例。例如:增加了一个数据的测试用例,将会被删除该数据的测试用例依赖。 |
测试步骤 | 用最朴实的语言,写出来软件的操作步骤。要尽量详细。例如,在用户名文本框输入:XXX;在省份下拉列表选择:北京 城市下拉列表选择:北京 |
输入数据 | 单独整合测试数据。必须和测试步骤中的数据保持一致 |
预期结果 | 准确、对象的准确,内容的准确性。原则上每一个操作,都要有一个结果。在重要的步骤之后,设定预期结果。例如:页面跳转到XXX;程序弹出对话框,提示:用户名或密码错误,请重新输入!一般和测试目的密切相关。测试目的决定了测试步骤和预期结果。 |
测试结果 | 要求在测试执行完成后添加。没有执行保持为空。测试结果只有两个:通过/失败;pass/failed。和预期结果一致即为通过;不一致即为失败 |
测试人 | |
备注 |
测试用例应该包含以下内容:
- 标识符:由测试设计过程说明和测试程序说明引用的唯一标识符。
- 测试项:描述被测试的详细特性、代码模块等,应该比测试设计说明中所列的特性更加具体。还要指出引用的产品说明书或者测试用例所依据的其他设计文档。
- 输入说明:说明列举执行用例的所有输入内容或者条件
- 输出说明:描述进行测试用例预期的结果。
- 环境要求:是指执行测试用例必要的硬件、软件、测试工具、人员等。
- 特殊要求:描述执行测试必须的特殊要求
- 用例之间的依赖性:如果一个测试用例依赖于其他用力,或者受其他用例的影响,就应该在此注明。
三 用例设计和编写的作用
- 有效性:测试用例使测试人员测试过程中的重要参考依据
- 可复用性:良好的测试用例具有重复使用的功能,是的测试过程事半功倍,提高测试效率。
- 易组织性:即使是小的项目,也可能会有几千甚至更多的测试用例,测试用例可能在数月甚至几年的测试过程中被创建和使用。
- 可评估性:从测试的项目管理角度来说,测试用例的通过率是检验代码质量的保证。
- 可管理性:测试用例也可以作为检验测试人员进度、工作量以及跟踪/管理测试人员的工作效率的标准。
四 黑盒测试用例设计方法
1. 黑盒测试用例设计方法概述
2. 等价类划分法
2.1 等价类划分法原理
- 把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性的数据作为测试用例
- 每一类中的代表性数据在测试中的作用等价于这一类中的其他值,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误。
- 反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误。
2.2 等价类划分法设计步骤
2.2.1 确定等价类的原则
- 在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类
例如:一个文本框规定,输入字符个数为3~18位。
一个有效等价类:范围内个数
两个无效等价类:个数小于6;个数大于18
- 在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。
例如:请输入11位的手机号。
一个有效等价类:11位
一个无效等价类:不是11位
- 在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类
布尔量:表示“真”或者“假”
- 在规定了输入数据的一组值(假定N个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类
例如:登录重要输入用户名和密码
- 在规定了输入数据必须遵守的规则的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)
例如:用户名要求:6~18,由字母、数字、下划线组成;字母区分大小写;
- 在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
2.3 等价类划分法适用场景
针对:需要有大量数据测试输入,但是没法穷举测试的地方
- 输入框
- 下拉列表
- 单选和复选框
典型代表:页面级的输入框类测试
3. 边界值分析法
- 如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
- 如果输入条件规定了值的个数,则用最大个数、最小个数、比这个最小个数少1,比最大个数多1的数作为测试数据
- 分析规格说明,找出其他可能得边界条件。
- 如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
- 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例。
3.1 边界范围节点
- 选取正好等于,刚好大于、刚好小于边界的值作为测试数据
- 上点:边界上的点(正好等于)
- 离点:距离上点最近的点(刚好大于、刚好小于)
- 内点:范围内的点(区间范围内的数据)
3.2 案例一:
需求;通过边界值法验证QQ号码的合法性
要求:6~10位自然数
3.3 使用场景
- 场景词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语
- 典型代表:有边界范围的输入框类测试
3.4 总结
边界值可以覆盖等价类的长度,但是无法覆盖类型,所以设计用例时,必须两者结合。
五、测试步骤
等价类划分法用来筛选数据,而测试步骤的设计方法主要有因果图法、
5.1 因果图法
- 因果图法是一种适合于描述对于多种输入条件组合的测试方法
- 根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法
- 它适用于检查程序输入条件涉及的各种组合情况。
第一步:根据功能说明书中规定的原因和结果之间的关系画出因果图。
原因和结果的关系:
- 恒等:原因A成立,结果B一定成立
- 非:原因A成立时,结果B一定不成立
- 或:原因A、B、C三者只要有一个成立,结果D就一定成立
- 与:原因A、B、C斗殴成立时,结果D才会出现。
第二步:根据功能说明在因果图中加上约束条件
- 其中互斥、包含、唯一、要求时对原因的约束,屏蔽是对结果的约束。他们的含义如下
- 互斥:表示不同时为真,即a,b,c中至多有一个为真。
- 包含:表示至少有一个为真,即a,b,c不能同时为假
- 唯一:表示a,b,c中有且仅有一个为真
- 要求:表示若a为真,则b必须为真。即不可能a为真且b为假
- 屏蔽:表示若a为真,则b必须为假
六、因果图法实例
- 阅读和分析功能说明书,识别出"原因"和"结果",并加以编号
- 案例:有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,他的软件规格说明如下。
- 若投入5角钱的硬币,按下"橙汁"或"啤酒"的按钮,则相应的饮料就送出来。
- 若投入1元的硬币,同样也是按"橙汁"或者"啤酒"的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。
6.2 根据需求说明书找出原因-结果关系
原因 | 结果 |
投5角 | 橙汁 |
投1元 | 啤酒 |
选橙汁 | 找零5角 |
选啤酒 |
6.3 根据原因-结果关系画出因果图
因果图使用中的局限性:当原因和结果很多的时候,它们之间的关系连线就会很多,导致因果图的可读性变差。因此局部的小功能(原因和结果不是很多的时候)分析。
6.4 列出所有的原因和结果的列表,设计初步的测试用例步骤
case1 | case2 | case3 | case4 | case5 | case6 | ||
投币 | 投5角 | 1 | 1 | 1 | |||
投一元 | 1 | 1 | |||||
按钮 | 选橙汁 | 1 | 1 | ||||
选啤酒 | 1 | 1 | |||||
结果 | 出橙汁 | 1 | 1 | ||||
出啤酒 | 1 | 1 | 1 | ||||
找零 | 1 | 1 | |||||
Case5,Case6这是一种bug,不能做测试设计。因果图的优势在于能够发现设计中存在的不足。
经过分析发现:
1)只选择银联,没有投币的时候,软件没有任何结果
2)只投币,没有选择饮料的时候,软件也没有任何的结果。
3)我们不能吧软件的缺陷设计成测试用例。
6.5 设计用例
测试用例编号 | 测试项 | 依赖用例 | 测试步骤 | 输入数据 | 预期结果 | 实际结果 | 测试人 | 备注 |
软件测试理论-测试用例和设计方法相关推荐
- 【软件测试】 测试用例的设计方法大全
1.测试用例的八要素 用例编号:用于标识当前的用例,具有唯一性和易识别性 测试项目:对当前测试用例的子项有进一步说明的作用 测试标题:简单说明测试的目的,便于他人理解 重要级别:一般分为高.中.低三个 ...
- 软件测试(4) 测试用例和设计方法
文章目录 1 测试用例 1.1 测试用例的定义 1.2 用例设计和编写的作用 2 测试用例编写注意事项 3 黑盒测试用例设计方法 3.1 测试数据选择 等价类划分法 边界值分析法 实战案例 3.2 测 ...
- 【软件测试】测试用例的设计方法
文章目录 1. 测试用例的概念 2. 设计测试用例的好处 3. 基于需求设计测试用例 3.1 功能性需求 3.2 非功能性需求 4. 设计测试用例的具体方法 4.1 等价类 4.2 边界值 4.3 错 ...
- 软件测试学习笔记:测试用例的设计方法(全)
测试用例的设计方法(全) 等价类划分方法: 一.方法简介 1.定义 2.划分等价类: (1)有效等价类 (2)无效等价类 3.划分等价类的标准: 4.划分等价类的方法 5.设计测试用例 二.实战演习 ...
- 学习软件测试(三)测试用例、测试用例的设计方法(等价类划分法、边界值分析法、判定表法、因果图法、正交排列法、场景法、错误推测法)
目录 测试用例 测试用例八大要素 测试用例的设计方法 等价类划分法 等价类操作步骤 边界值分析法 边界范围 边界值法的操作步骤 案例1 案例2 判定表法 为什么使用判定表法 判定表法的四个组成部分 判 ...
- (转)测试用例的设计方法(全)之三 判定表、正交实验
测试用例的设计方法(全)之三 (5)判定表驱动分析方法 一. 方法简介 1.定义:判定表是分析和表达多逻辑条件下执行不同操作的情况的工具. 2.判定表的优点 能够将复杂的问题按照各种可能的情况全 ...
- 测试用例的设计方法(全)
测试用例的设计方法(全) 等价类划分方法: 一.方法简介 1.定义 是把所有可能的输入数据,即程序的输入域 ...
- 测试用例的设计方法及案例
测试用例的设计方法 一.软件测试的生命周期(软件测试的流程是什么?) 二.如何描述一个BUG? 三.测试用例的设计方法 3.1等价类 3.2边界值法 3.3因果图法 3.4场景设计法 3.5正交排列法 ...
- (转)测试用例的设计方法(全)之二 错误推断、因果图
测试用例的设计方法(全)之二 (3)错误推测方法 一. 方法简介 1. 定义:基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 2. ...
- 3.4 黑盒测试用例的设计方法 之 等价类划分与边界值分析
3.4 黑盒测试用例的设计方法 具体的黑盒测试用例设计方法包括等价类划分法.边界值分析法.场景法.错误推测法.因果图法.判定表驱动法.正交试验设计法.功能图法等. 这些方法是比较实用的,但采用什么方法 ...
最新文章
- Eclipse 导入 Tomcat 源码
- Android UI(继承控件)--PopupWindow设置动画
- MyBatis动态SQL底层原理分析
- linux 多域名绑定
- access没有使用 对象的必要权限_厨房有没有必要安燃气报警器 使用燃气要注意哪些安全性措施...
- 初识Visual Studio 2010(四)—— 创建ASP.NET网站
- super()的作用
- matlab 6.5 vc6,MATLAB6.5 与 VC6.0混合编程中的 VC6.0的设置
- NC5.X系列单点登录
- 向对话框传递数据DialogBoxParam;获取对话框返回的数据DialogBox;EndDialog;强制转换;
- ncl 添加点shp文件_NCL绘制中国地图
- 哈希碰撞,改变世界的原力
- 杭州最新公交线路一览(41-50)
- Spring项目中自定义注解的使用
- 前端开发中常用的几种设计模式
- Flutter 中 GestureDetector 的使用误区
- 苹果x与苹果xs的区别_苹果Xs相比苹果X,两者谁更值得入手?用户:苹果X宝刀未老!...
- Hadoop生态圈(十六)- HDFS Snapshot快照详解
- IT培训机构如何选择?选择IT培训机构3大误区
- e级超级计算机济南,国之重器!神威E级原型机8月将在国家超级计算济南中心落地...