一.为什么需要测试用例
1.理清思路,避免遗漏
这里是我们认为最重要的一点,假如我们测试的项目大而复杂,我们可以把项目功能细分,根据每一个功能通过编写用例的方式来整理我们测试系统的思路,避免遗漏掉要测试的功能点。
2.跟踪测试进展
通过编写测试用例,执行测试用例,我们可以很清楚的知道我们的测试进度。
3.历史参考
在我们所做的项目中,也许会有很多功能是相同或相近的,我们对这类功能设计了测试用例,便于以后我们遇到类似功能的时候可以做参考依据。
4.重复性
我们测试一个系统不是一个人测一遍就算测完的,需要多人反复的进行测试,那么我们就需要测试用例来规范和指导我们的测试行为。
二.什么是好的测试用例
从软件质量的角度讲,好的测试用例可以做到对需求的完整覆盖。他有以下三个特征:
- 整体完备性 “好的”测试用例一定是一个完备的整体,是有效测试用例组成的集合,能够完全覆盖测试需求
- 等价类划分准确 指的是对于每个等价类都能保证只要其中一个输入测试通过,其他输入也一定测试通过。
- 等价类集合完备 需要保证所有可能的边界值和边界条件都已经正确识别。
除此之外,测试用例还应做到简洁清晰。在快速迭代的敏捷开发节奏下。没有时间也没有必要把一条条用例写的那么复杂。重要的是把测试点写清楚。不是要把那些显而易见的步骤,环境,预期等写的那么尽善尽美。
什么是好的测试用例
三.测试用例的设计角度
四.测试用例常用方法
- 等价类划分法
等价类中任意一个输入数据对于揭露程序中潜在错误都具有同等效果。
等价类分为有效等价类和无效等价类。
比如,在学生信息系统中有一个“考试成绩”的输入项,成绩的取值范围是 0~100 之间的整数,考试成绩及格的分数线是 60。
在设计测试用例的时候不仅要考虑有效等价类同时也应该考虑无效等价类。所以该例子的等价类有:
- 有效等价类 1:0~59 之间的任意整数;
- 有效等价类 2:59~100 之间的任意整数;
- 无效等价类 1:小于 0 的负数;
- 无效等价类 2:大于 100 的整数;
- 无效等价类 3:0~100 之间的任何浮点数;
- 无效等价类 4:其他任意非数字字符。
- 边界值分析法
边界值分析是对等价类划分的补充,你从工程实践经验中可以发现,大量的错误发生在输入输出的边界值上,所以需要对边界值进行重点测试,通常选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据。
对于上述学生信息系统例子可以选取的边界值有:-1,0,59,60,61,100,101。
- 错误推测法
错误推测方法是指基于对被测试软件系统设计的理解、过往经验以及个人直觉,推测出软件可能存在的缺陷,从而有针对性地设计测试用例的方法。这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握,当然还有个人的能力。
在软件企业的具体实践中,为了降低对个人能力的依赖,通常会建立常见缺陷知识库,在测试设计的过程中,会使用缺陷知识库作为检查点列表(checklist),去帮助优化补充测试用例的设计。
五.如何设计好测试用例
在不同的测试阶段会使用不同的测试类型(黑盒测试、白盒测试、灰盒测试),要理解对不同阶段测试用例设计的关注点采用不同的方法论。
比如在GUI黑盒测试时,目的是为了验证是否满足用户需求。
在具体的用例设计时,首先需要搞清楚每一个业务需求所对应的多个软件功能需求点,然后分析出每个软件功能需求点对应的多个测试需求点,最后再针对每个测试需求点设计测试用例。
参考链接
1. 如何设计一个“好的”测试用例?
2. 浅谈测试用例
网友评论