测试用例概念
- 测试用例(Test Case)是为特定的目的而设计的一组测试输入、执行条件和预期的结果
- 通过大量的测试用例来检验软件的运行效果
- 它是指导测试工作进行的依据
产品举例
雪球发讨论
测试用例示例
测试用例的组成
- 用例编号
- 模块
- 测试点(测试标题)
- 优先级
- 前提条件
- 测试步骤
- 期望结果(预期结果)
- 实际结果
测试用例的优先级
测试用例根据重要性分成一定的等级
思维导图
表格形式
测试用例的作用
- 指导测试的实施
- 规划测试数据的准备
- 编写测试脚本的"设计规格说明书"
- 评估测试结果的度量基准
- 分析缺陷的标准
问题
计算器:到底输入几组数据才算测试完毕?
等价类划分法
- 用户所有可能输入的数据,划分成了若干个子集,然后从每一个子集当中选取少数具有代表性的数据作为测试用例,这种测试用例我们称为“等价类划分法”。
- 等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。
- 在有限的测试资源的情况下,用少量有代表性的数据得到比较好的测试效果。
等价类分类
- 有效等价类:指符合《需求文档》,输入合理的数据集合
- 无效等价类:指不符合《需求文档》,输入不合理的数据集合
等价类设计步骤
- 先划分等价类:找出所有可能的分类
- 确定有效等价类:需求中的条件
- 确定无效等价类:与条件相反的情况,再找到特殊情况
- 从各个分类中挑选测试用例数据
等价类划分方法
在确立了等价类之后,可按下表的形式列出所有划分出的等价类表
实例
例:计算 1—100的整数之和(包括1和100)
等价类总结
- 长度
- 类型
- 组成规则
- 是否为空
- 是否重复
- 是否去除空格
边界值
- 大量的软件测试实践表明,故障往往出现在定义域或值域的边界上,而不是在其内部。为检测边界附近的处理专门设计测试用例,通常都会取得很好的测试效果。
- 边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障的能力。
- 边界值分析法是作为对等价类划分法的补充,测试用例来自等价类的边界。
边界值举例
- 输入的参数值必须大于等于 0 同时小于 100 的整数
- 0 <= 参数 <100
边界值分析
num>-1 或 num>=0 | num<100 或 num<=99
num>=-1 或 num>0 或 num>=1 | num<=101 或 num<101 或 num<=100
边界值确定
- 边界上的点
- 边界值两边的点
- 正好等于,刚刚大于,刚刚小于
0 |
100 |
-1, 0, 1 |
99, 100, 101 |
实例
例:计算 1—100 的整数之和(包括 1 和 100)
使用边界值分析法补充用例
边界值总结
- 确定边界情况
- 选取正好等于、刚刚好大于或刚刚好小于边界值作为测试数据
- 确定各个值的等价类
错误推测法概念
- 指利用直觉和经验猜测出出错的可能类型,有针对性的列举出程序中所有可能的错误和容易发生错误的情况
- 列举出可能犯的错误或错误易发生的清单,然后根据清单编写测试用例;
- 这种方法很多程度是凭经验进行的
错误推测法
采用错误推测法,最重要的是要思考和分析测试对象的各个方面,多参考以前发现的 Bug 的相关数据、总结的经验,个人多考虑异常的情况、反面的情况、特殊的输入,以一个攻击者的态度对待程序,才能够设计出比较完善的测试用例
课后作业
结合等价类划分方法和边界值分析的方法设计测试用例
需求:输入用户密码
- 用户密码为 6-8 位
- 只能包含字母和数字
输出:输入正确提示成功,输入错误提示失败