如何全面系统的组织测试
测试过程中遇到的问题
1、不知道测试内容是否全面
2、无法衡量测试覆盖率
3、很难实施对新版本的重复测试
4、存在大量多余的测试影响测试效率
等价类划分
是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
等价类:是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。
有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
无效等价类:与有效等价类的概念正好相反。
等价类划分步骤
划分等价类(依据是需求)——建立等价类表——设计测试用例
设计测试用例时,应同时考虑有效等价类和无效等价类用例的设计。
根据列出的等价类表确定测试用例,具体过程如下:
1、首先为等价类表中的每一个等价类分别规定一个唯一的编号。
2、设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这个步骤, 直到所有的有效等价类均被测试用例所覆盖。
3设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。重复这一步骤, 直到所有的无效等价类均被测试用例所覆盖。
进行等价类划分的依据
1、按照区间划分
2、按照数值划分
3、按照数值集合划分
4、按照限制条件或规则划分
5、细分等价类
边界值方法——程序为什么会出现很多难以规避的问题
无数的测试实践表明,大量的故障往往发生在输入定义域或输出值域的 边界上,而不是在其内部。因此,针对各种边界情况设计测试用例,通 常会取得很好的测试效果。
边界值分界点
上点:边界上的点
内点:至于范围内的任意一个点
离点:离上点最近的一个点
利用边界值作为测试数据的原则
(1)如果输入(输出)规定了值的范围,则应该以该范围的边界值及边界附近的值作为测试数据;
(2)如果输入(输出)条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据;
(3)将规则1和2应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值;
(4)如果需求规格说明书中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个和最后一个元素作为测试数据;
(5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据;
(6)分析规格说明,找出其它可能的边界条件。