测试用例
测试用例
1. 定义
test case:某个特殊目标而编制的一组测试输入,执行条件以及预期结果,以便测试是否符合需求
2. 特性
- 有效性:测试用例能够被使用,不同人员测试结果一致
- 可复用性:可复用,如:回归
- 易组织性:分类
- 可评估性:从测试管理的角度,测试用例的通过率和软件缺陷的数目的数目是软件产品质量好坏的测试标准
- 可管理性:从测试管理的角度,测试用例的通过率和软件缺陷的数目的数目是软件产品质量好坏的测试标准
3. 用例设计关键要素
4. 设计原则
- 明确性
- 代表性:相似功能要合并
- 简洁性:可读性好,测试结果唯一
5. 等价类划分法(有效、无效)
输入划分成若干部分,然后从每一部分读取少数有代表性的数据作为测试用例。
- 有效等价类
- 无效等价类
设计测试用例时,要同时考虑2种等价类
- 确认需求
- 确定有效等价类和无效等价类
- 对每条等价类设计测试用例
举例子:QQ登录 - 用例编号,标题,模块,预制条件
- 测试输出,预期结果,操作步骤,级别
- 开发人员,测试的结果
6. 边界值法
对输入、输出边界值进行测试,也是一种黑盒测试 ===> 大量错误是发现出现在输入或输出的边界上
举例子:计算器(1 - 100 的加减乘除)
- 等价类划分
- 有效等价类:数字 1 - 100(具体选取内容)
- 1 - 9 个位数 【1、5、9】
- 10 - 99 十位数 【10、66、99】
- 100 位数【100】
- 无效等价类
- 数字:
- 小于 1
- 大于 100
- 小数
- 负数
- 英文字符:abc、ABC
- 特殊字符
- 空格(什么都不写)
7. 因果图法
利用图解法分析输入的各种组合情况 ===> 从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况
特点:
- 考虑输入条件的相互制约及组合关系
- 考虑输出条件对输入条件的依赖关系
因:输入条件
果:输出结果
约束条件: - E(exclude)约束:a 和 b 至多有一个为1
- I(include)包含:a、b和c中至少有一个必须是1
- M(mandatory)强制:若结果 a是1,结果b强制为0
- O(only)唯一:a和b必须有一个,且仅有1个为1
- R(required):要求:a是1时,b必须是1
因果图法基本步骤:
- 找出所有的原因
- 找出所有的结果,结果即输出条件
- 明确所有输入条件之间的制约关系以及组合关系,哪些条件不能组合到一起,哪些条件可以组合到一起
- 明确所有输出条件之间的制约关系以及组合关系,哪些条件不能组合到一起,哪些条件可以组合到一起
- 找出什么样的输入条件组合会产生哪种输出结果
- 将因果图转换成 判定表 / 决策表
- 将判定表/决策表中的每一列表示的情况设计测试用例
案例:交通一卡通自动充值软件
系统需求:
系统只接收 50或者100,一次只能使用一张纸币,一次充值金额只能为 50 或者 100
- 输入 50
- 选择充值 50,完成充值后退卡,提示充值成功
- 选择充值 50,提示输入金额不足,并退回50
- 输入 100
- 选择充值 50,完成充值后退卡,提示充值成功,找零 50元
- 选择充值 100,完成充值后退卡,提示充值后退卡,提示充值成功
- 异常:
- 输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,并提示错误
- 若选择充值按钮后不输入纸币,提示错误