测试用例 - 等价类划分法
掌握常用测试用例设计方法,再结合测试用例的要素能给快速的实现测试用例的设计和编写。
但是由于软件系统大小的不同我们不可能把所有的单个或组合的情况都进行测试,所以我们测试时应该根据不同的场景设计不同的测试用例,尽可能的覆盖到全部需要测试的情况.
常用的测试用例设计方法有:
- 等价类划分法
- 边界值分析法
- 判定表法
- 正交验证法
- 错误推测法
- 场景法
- 因果图法
等价类划分法
等价类划分的介绍和概念定义
- 划分
指互不相交的一组子集,这些子集的并是整个集合。
对测试的意义:完备性和无冗余性。
- 等价类
等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,具有等价特性。
- 等价类合理地假设
测试某等价类的代表值就等于对这一类其它值的测试。
- 等价类划分
在测试中最完美的测试是使用穷举测试,把所有的数据都测一遍.但是实际工作中不能采用,因为效率太低了.
理想的测试时:使用最少的测试数据,达到最好的测试质量.
等价类划分法的测试思想是:
从大量数据里划分范围(每个范围内的数据测试效果是等价的所以每个范围是一个等价类),然后从每个范围中挑选代表数据,这些代表数据能反应这个范围内数据的测试结果。
官方定义:
等价类测试方法是把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。使用等价类划分方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。
类型划分
等价类的类型划分分为:有效等价类和无效等价类.
(1). 有效等价类
有效等价类是指对对于程序的规格说明来说是合理的、有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能.
(2). 无效等价类
无效等价类指对程序的规格说明是不合理的、无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。利用无效等价类可校验程序对于无效数据的处理能力,检测程序的健壮性、容错能力
注意:
设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。
设计测试用例
步骤:
- 确定需求
- 确定有效等价类和无效等价类
- 对每条等价类设计测试用例
案例
要求:使用等价类划分法测试QQ账号的合法符合规范
明确需求 | 输入6-10位的自然数 | |
---|---|---|
有效等价类 | 有效等价类 | 自然数个数大于6小于10个 |
无效等价类 | 无效等价类 | 小于6个、大于10个、中文、空格、英文、特殊字符、小数 |
设计测试用例 | 有效等价类测试用例 | 无效等价类测试用例 |
测试用例
用例编号 | 等价类划分 | 输入 | 预期结果 | 测试结果 | 重要级别 |
---|---|---|---|---|---|
UT-QQ账号-01 | 有效等价类 | 12345678 | 正确 | 正确 | 高级 |
UT-QQ账号-02 | 无效等价爱类 | 12 | 错误 | error | 高级 |
…. | ….. | …. | …. | …. | …. |
小结
应用场景
- 有输入的地方,可以从大量数据中挑选少量的代表数据进行测试,使用等价类划分法
测试用例的设计
根据等价类划分设计的测试用例,及保证了程序的功能或需求的实现,也一定程度上保证了功能的健壮性的实现, 所以在实际使用中比较多.