一、测试用例定义
1. 为某个特殊目标而编写的一组输入数据、执行条件以及输出结果,验证程序是否满足需求
2.特点
1)有效性:能够使用,且不同成员使用结果一致
2)可复用性
3)易组织性:能够分门别类供其他人员使用
4)可评估性:测试用例的通过率和缺陷数目能够成为软件质量的评估标准
5)可管理性:测试用例可作为测试人员工作进度、工作量以及跟踪测试人员工作效率的评估标准
二、测试用例设计方法
1. 等价类划分法
1)定义:把所有可能的输入数据,划分为若干部分,从中选取具有代表性的数据作为测试用例
2)分类:有效等价类(合理、有意义的数据,验证程序的功能)和无效等价类(不合理、无意义数据,验证程序健壮性)
3)示例:
(1)微信红包([0.01-200])
有效等价类:[0.01-200]、数字、两位小数、非空
无效等价类:<0.01 、>200、非数字、大于两位小数、负数
输入数据 | 有效等价类 | 无效等价类 |
---|---|---|
红包金额 | (1)[0.01-200] | (2)小于0.01 |
(3)大于200 | ||
(4)数字 | (5)非数字 | |
(6)最多两位小数 | (7)大于两位小数 | |
(8)非空 | (9)空值 | |
(10)负数 |
4)设计原则(长度/类型/必填/重复/需求描述)
(1)分析需求,确定其有效等价类和无效等价类
(2)列出所有划分出的等价类,形成等价类表
(3)选取具有代表性的的等价类作为测试用例
设计一个数据,尽可能多的覆盖尚未被覆盖的有效等价类,直到所有有效等价类被覆盖为止
设计一个数据,使其仅覆盖一个无效等价类,直到所有无效等价类被覆盖完为止(容易定位问题)
2. 边界值法
1)定义:边界值是对等价类划分的一种补充,一般是从等几类的边缘值寻找
2)原则和步骤:确定边界,选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据
选取采用:(1)两点:正好等于,eg:0.01、200
(2)三点:正好等于、中间取值 eg: 0.01、100、200
(3)四点:正好等于、刚刚大于、刚刚小于,eg:0.01、0.02、199.99、200
(4)特殊边界:年(1-12)月(1-30/21/28/29)星期(1-7)小时(0-23)等
测试用例描述 | 测试数据 | 覆盖等价类 |
---|---|---|
输入0.01-200之间的不能查过两位小数的数字 | 100/0.01/200 | 1,4,6,8 |
输入小于0.01的数字 | 0 | 2 |
输入大于200的数字 | 200.01 | 3 |
输入中文 | 一百 | 5 |
输入大于两位小数的数字 | 0.124 | 7 |
输入负数 | -0.01 | 10 |
不输入 | 9 |
3)边界值作用
大量错误是发生在边界上面、从边界选取数据,更容易发现程序错误
3. 场景法
1)定义:预设一个场景,检查是否能够得到所需要的结果,常用于冒烟测试
4. 错误推断法
1)定义:基于经验和直接推断出程序可能存在的各种错误
5)因果图法
1)定义:利用图解法分析输的各种组合情况
2)符号含义说明
(1)恒等(-):原因出现,结果出现;原因不出现,结果不出现
(2)非(~):原因出现,结果不出现;原因不出现,结果出现
(3)或(v):几个原因中有一个出现,结果出现;原因都不出现,结果不出现
(4)与(^):几个原因都出现,结果出现;有一个原因不出现,结果不出现
(5)互斥(E): 所有条件只能有一个成立
(6)包含(I):所有条件至少有一个成立
(7)唯一(o):多个条件只有一个成立
(8)要求(R):条件a成立,条件b也成立
(9)屏蔽(M): 条件a成立,条件b不成立;条件a不成立,条件b不一定成立
3)示例
假设自主售货机只接收5元、10元纸币,一次只能投入一张纸币,自动售货机只出售两种商品,1矿泉水3元,饮料6元
条件:1)投入5元 结果:a)购买成功
2)投入10元 b)找零
3)购买矿泉水 c)提示错误
4)购买饮料 d)自主售货机无零钱,不可购买
5)自主售货机无零钱
组合情况:条件 5 13 14 23 24
结果 d ab c ab ab
三、测试用例的要素
1.测试用例编号:一般为产品名-测试阶段
2.测试项目
3.测试标题
4.重要级别:高P1(high)、中P2(medium)、低P3(low)
5.预置条件
6.测试输入数据
7.操作步骤
8.预期结果
9.实际结果
10.版本
11.备注