等价类

步骤:1.划分等价类;2.确定测试用例;

举例:输入三角形三边应为正整数,分别构成非三角形、一般三角形、等腰三角形和等边三角形。

需求分析:1.正整数;2.两边之和大于第三边;3.两边相等;4.三边相等。

软件测试用例设计方法_测试用例

边界值

  上点:边界上的点,不管是开还是闭区间

  离点:距离上点最近的点,闭区间离点在外,开区间离点在内

  内点:边界内的任意一点,可以采用折中的方法确定内点 

步骤:1.划分等价类(可选);2.分析样点;3.确定测试用例。

判定表

增强条件与结果之间的逻辑性,弥补等价类的不足,判定表无法直接生成测试用例,而且条件得到什么结果需要手工处理

步骤:1.标识输入和输出;2.构造判定表;3.逐列分析条件项组合,填入其动作项;4.简化判定表(可选);5.生成测试用例。

总结:其实就是条件组合,并去除无效的条件组合,最终生成测试用例

因果图

得到条件和条件、条件和结果的逻辑关系,可以通过与或非运算直接得到测试规则,然后合并,最后通过等价类、边界值抽取测试用例。

使用条件:输入条件比较多或约束关系也比较多,直接做判定表比较复杂(ps:输入条件比较少时,我们可以直接用判定表法)

步骤:1.标识输入和输出;2.画出因果图;3.将因果图转换为判定表;4.简化判定表(可选);5.生成测试用例。

条件与结果:恒等、非、或、与

条件与条件:异、唯一、要求、或

1.E约束(异):所有输入中至多一个输入条件发生。(<=1,也可以没有)

2.I约束(或):所有输入中至少一个输入条件发生。(>=1)

3.O约束(唯一);所有输入中有且只有一个输入条件发生。(=1)

4.R约束(要求):所有输入中只要有一个输入条件发生,则其它输入也会发生

流程分析

涉及流程的,都可以用流程分析,能将系统功能进行串联,但是流程没问题不表示功能没问题

流程分为正常流程和异常流程

步骤:1.画出业务流程图;2.定义状态节点和条件分支;3.确定测试路径(每个流程构成一个测试用例);4.选取测试数据,构造测试用例。

异常分析

断电、断网、硬件故障等。

步骤:1.针对系统罗列可能的故障;2.针对每种可能故障设计测试用例。


正交试验


  1、正交试验使用方法

    正交表(各因素水平都相等)

      设计步骤:

        正交试验四步走: (a)明确试验目的 (b)确定因素和水平 (c)选择合适正交表 (d)用例设计与编写

        计算方法:软件测试用例设计方法_等价类_02

              L:正交表代号(没有实际意义) n:正交表横行数(试验次数,即用例个数) m: 因素水平数 k:正交表纵列数(最多能安排的因数个数)

              用例数 n=k x (m-1)+1

    混合水平正交表 

      定义:

          混合水平正交表就是各因素水平数不完全相等的正交表。如软件测试用例设计方法_等价类_03,表示有8行,5列(1+4),其中一列有4个水平,另外4列只有2个水平。

      特性:     




    1.   任一列,不同数字出现次数相同
    2.   任两列,同行两个数字组成的各种不同的水平搭配出现的次数相同,但不同的两列所组成的水平搭配种类及出现次数不完全相同



        计算实例:

        软件测试用例设计方法_用例_04


    选择合适的正交表


    当我们把因素和水平都找出来后,我们需要选择合适的正交表来完成试验。参考现有已经完成的正交表,我们需要选出与m^k形态 最接近的正交表 。

    譬如,存在 m1 = 5, k1 = 5, m2 = 2, k2 = 1,根据计算公式:

    n = 5x(5-1) + 1x(2-1) + 1= 22

    我们发现没有 n = 22 的正交表,那如何选择合适自身的正交表呢? (a)找出满足 n > 22 的正交表 (b)m > max(m1, m2) 即 m > max(5, 2) 且 k >= (k1+k2) = 5+1= 6 (c)选择 n 最小/最简单的正 交表:软件测试用例设计方法_等价类_05

注:我们发现实际上 2^11 4^1 6^1 也符合,但是这个组合可能稍微复杂,我们可以选择更简单的正交表。