在本周的学习中,老师介绍了等价类划分的测试方法,其大致内容如下:
1. 所谓等价类是指输入域的某个互不相交的子集合,所有等价类的并集便是整个输入域。目的在于测试用例的无冗余性。
划分等价类( valid / invalid )
(1)有效等价类:检验程序是否实现了规格说明预先规定的功能和性能。
(2)无效等价类:检查软件功能和性能的实现是否有不符合规格说明要求的地方。
2. 等价类测试用例设计
(1)在确立了等价类之后,可列出所有划分出的等价类表。
(2)为每一个等价类规定一个唯一的编号。
(3)设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,直到测试用例覆盖了所有的有效等价类。
(4)设计一个新的测试用例,使其覆盖且只覆盖一个尚未覆盖的无效等价类。重复这一步,直到测试用例覆盖了所有的无效等价类。
在课堂上老师给我布置了一个有如下要求的小程序
一个输入框,允许1到6个英文字符或数字,按OK结束
下面给出实现代码和设计的测试用例
A.实现代码
该小程序以java实现,其中实现主要逻辑是首先判断输入长度,若长度为1-6,则继续通过正则表达式判断输入的字符是否全部为数字或者大小写字母,不符合输入条件时给出提示框。
B.设计测试用例
划分等价类
有效类 | 无效 | |
字符串长度 | 长度为1-6 | 长度为0(空串) |
字符串长度 | 长度大于6 | |
字符串类容 | 属于数字,大小写字母 | 控制字符 |
标点符号 |
得到测试用例
1.长度为3的串1Aa
2.空串
3.长度为9的串123asdASD
4.长度为4的串1Aa!
测试结果:
正确的测试,会在控制台输出字符长度