等价类划分方法:
等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例完全不考虑程序的内部结构,只根据对程序的要求和说明,即需求规格说明书。我们必须仔细分析和推敲说明书的各项需求,特别是功能需求。把说明书中对输入的要求和输出的要求区别开来并加以分解。
1.定义
是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。
2.划分等价类:
等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。
1)有效等价类
是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效 等价类可检验程序是否实现了规格说明中所规定的功能和性能。
2)无效等价类
与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意 义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多 个。设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据, 也要能 经受意外的考验,这样的测试才能确保软件具有更高的可靠性。
3.划分等价类的标准:
1)完备测试、避免冗余;
2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;
3)并是整个集合:完备性;
4)子集互不相交:保证一种形式的无冗余性;
5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径"。
4.设计测试用例:
在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例:
1) 为每一个等价类规定一个唯一的编号;
2) 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;
3) 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。
5.EditBox问题等价类划分方法
允许1到6个英文字符或数字,按OK结束
有效等价类和无效等价类
有效等价类 |
无效等价类 |
E1:长度:1到6 |
T1:长度:0或者>=7 |
E2:字符:a-z,A-Z,0-9 |
T2:字符:英文、数字以外字符,控制字符,标点符号,如/ . ,等标点符号 |
测试用例设计,根据有效和无效等价类可以设计出6个测试用例
编号 |
输入 |
预期输出 |
Test1 |
daiA93 |
有效 |
Test2 |
123456 |
有效 |
Test3 |
daiwen |
有效 |
Test4 |
123234asd |
无效 |
Test5 |
123/ |
无效 |
Test6 |
(空) |
无效 |
Test7 |
123,45 |
无效 |