设计测试用例的常用方法
一、等价类划分
等价类划分主要适用于单个输入条件,输入为数值型的情况,如果输入规定了输入区间,可划分出一个有效等价类,两个无效等价类;如果输入只规定了输入范围,可划分出一个有效等价类,一个无效等价类。
二、边界值
边界值方法也是适用于单个输入条件的情况,输入类型可以数值、字符等,要测试的边界包括上点、下点、离点。
三、错误推测法
错误推测法主要是测试设计人员的测试经验相关,测试经验不同,设计出来的测试用例也区别很大。
四、因果图法
因果图方法考虑输入的组合,特别适用于多个输入条件相关有关联又相互约束的情况。
设计步骤:
1)罗列出输入与输出;
2)根据输入与输出画出因果图;
3)标出约束跟限制;
4)把因果图转化成判定表;
5)根据判定表的每一列设计测试用例。
五、判定表驱动法
判定表适合于解决多个逻辑条件的组合。将各种逻辑的组合罗列出来,避免遗漏。不能表达重复的操作。
判定表包括条件桩、条件项、动作桩、动作项。
条件桩:列出所有条件,次序无关;
条件项:列出所对应条件的所有可能情况下的取值;
动作桩:列出可能采取的操作,次序无关;
动作项:列出条件项各种取值情况下采取的操作。
设计步骤:
1)确定规则个数,条件及各条件取值的组合;
2)列出条件桩、动作桩;
3)列出条件项;
4)列出动作项;
5)初始化判定表;
6)规则简化、合并。
六、正交法
当输入条件很多时,因果图等设计方法设计出来的用例数往往多的惊人,用正交法可有效减少用例数。正交法的核心思想是从大量测试数据中选取有代表性的点来测试,从而减少测试用例数。
设计步骤:
1)确定因子并画出正交表草图;
2)填充各因子的状态值;
3)加权筛选;
4)根据筛选过的正交表设计测试用例。
七、功能图法
功能图法适合于用来设计程序的控制结构的测试用例。有顺序、选择、重复三种控制结构。
设计步骤:
1)画出功能图;
2)生成局部测试用例;
3)生成测试路径;
4)合成测试用例。
八、场景法
场景法特别适用于控制流清晰的系统。
设计步骤:
1)画出程序控制流图(如果不能直接画出控制流图,可先画出程序流程图,再把流程图转换成控制流图);
2)根据控制流图设计出场景;
3)根据场景设计测试用例。
中间可能会要计算环路复杂度V(G),计算公式如下:
V(G)=e-n+2
其中e是边的数目,n是结点的数目。
测试用例设计策略:
1、任何都要用边界值法;
2、用等价类划分补充测试用例;
3、根据测试设计人员经验用错误推测法追加测试用例;
4、根据程序逻辑追加逻辑测试用例;
5、根据程序情况,选择使用因果图法(判定表)设计测试用例。
测试用例设计步骤:
1、根据设计规格设计基本的功能测试用例;
2、边界值测试用例;
3、状态转换测试用例;
4、错误推测测试用例;
5、异常测试用例;
6、性能测试用例。