一、等价类划分
等价类划分主要适用于单个输入条件,输入为数值型的情况,如果输入规定了输入区间,可划分出一个有效等价类,两个无效等价类;如果输入只规定了输入范围,可划分出一个有效等价类,一个无效等价类。
二、边界值
边界值方法也是适用于单个输入条件的情况,输入类型可以数值、字符等,要测试的边界包括上点、下点、离点。
三、错误推测法
错误推测法主要是测试设计人员的测试经验相关,测试经验不同,设计出来的测试用例也区别很大。
四、因果图法
因果图方法考虑输入的组合,特别适用于多个输入条件相关有关联又相互约束的情况。
设计步骤:
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、性能测试用例。
另外还需反复利用八种测试用例设计方法对测试用例进行分解与合并,多多利用发散思维追加测试用例。