编写测试用例的方法

编写测试用例的方法

  • 一、等价类划分法(重点)
      • 1、应用场景:多用于输入框。
      • 2、概念:
      • 3、等价类:
      • 4、示例:
  • 二、边界值法(重点)
  • 三、场景法(重点)
      • 1、概念:
      • 2、基本流和备选流的区别:
      • 3、示例(银行ATM):
  • 四、正交表法(了解)
      • 1、概念:
      • 2、如何选择正交表?
      • 3、正交试验设计:
      • 4、正交表测试用例设计方法的特点是什么?
  • 五、因果图法(了解)
      • 1、概念
      • 2、因果图基本图形符号
      • 3、因果图的约束符号
      • 4、因果图测试用例:
  • 六、判定表法(了解)

一、等价类划分法(重点)

1、应用场景:多用于输入框。

2、概念:

等价类划分法是指分步骤的把海量的测试用例见得很少,但过程同样有效。

3、等价类:

一般是指一个输入域的集合,在这个集合中每个输入条件都是有效的,一般分为有效等价类和无效等价类。

有效等价类:指符合需求的,输入合理的数据集合。
无效等价类:指不符合需求的,输入不合理的数据集合。

4、示例:

  • 计算1~100之间两个整数的和。
    如果进行完全测试,加数1~100之间有100个取值,2~100之间也有100个取值,因此一共会有100*100=10000种可能,但这只是测试了正常范围内的取值。如果用户输入的数据不在1~100之间呢,穷举测试肯定不可能的。由此引入了等价类划分思想。
    如下图:
    在这里插入图片描述
    我们将输入域分成了一个有效等价类(1~100)和两个无效等价类(<1,>100),并为每一个等价类进行编号,然后我们就可以从每一个等价类中选取一个代表性的数据来测试,设计如下表所示的测试用。
    编写测试用例的方法_第1张图片
    编写测试用例的方法_第2张图片

二、边界值法(重点)

1、一般边界值分析是因为程序开发循环体时的取数可能会因为<,<=搞错。
2、比如:在一个系统中,填写一个多少岁的青少年考了多少分(假设成年人年龄为x,13<=x<=17,数学成绩为y:0<=y<=100

根据上面的等价类划分法我们可知,年龄的有效等价类是13<=x<=17,所以边界值就是12(离点),13(上点),17(上点), 18(离点)。
数学成绩的,有效等价类是0<=y<=100,所以边界值就是-1(离点),0(上点),100(上点),101(离点)。

3、示例:
输入要求是1 ~ 100之间的整数,因此自然产生了1和100两个边界,我们在设计测试用例的时,要重点考虑这两个边界问题。
编写测试用例的方法_第3张图片
注明:边界值不是从每个等价类中挑一个作为代表,而是把每个等价类的边界都进行测试。

三、场景法(重点)

1、概念:

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。
用例场景是通过描述流经用例的路径来确定的过程, 这个流经过程要从用例开始到结束遍历其中所有 基本流和备选流
编写测试用例的方法_第4张图片
遵循上图中每个经过用例的可能路径,可以确定不同的用例场景。从基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景:
编写测试用例的方法_第5张图片

2、基本流和备选流的区别:

编写测试用例的方法_第6张图片

3、示例(银行ATM):

个人标识号 (PIN=personal identification number ),用于保护智能卡免受误用的秘密标识代码。PIN 与密码类似,只有卡的所有者才知道该 PIN。只有拥有该智能卡并知道 PIN 的人才能使用该智能卡。
编写测试用例的方法_第7张图片
编写测试用例的方法_第8张图片
第一次测试中,根据测试计划,我们需要核实提款用例已经正确地实施。此时尚未实施整个用例,只实施了下面的事件流:
基本流-提取预设金额(100 元、200元、500元、1000元)
备选流2 - ATM 内没有现金
备选流3 - ATM 内现金不足
备选流4 - PIN 有误
备选流5 - 帐户不存在/帐户类型有误
备选流6 - 帐面金额不足
编写测试用例的方法_第9张图片
对于这7个场景中的每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。
从确定执行用例场景所需的数据元素入手构建矩阵。然后,对于每个场景,至少要确定包含执行场景所需的适当条件的测试用例。
下面显示了一种通用格式,其中各行代表各个测试用例,而各列则代表测试用例的信息。
本示例中,对于每个测试用例,存在一个测试用例ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。
编写测试用例的方法_第10张图片

四、正交表法(了解)

1、概念:

正交排列法能够使用最小的测试过程集合获得最大的测试覆盖率。当可能的输入数据或者输入数据的组合数量很大时,由于不可能为每个输入组合都创建测试用例,可以采用这种方法。

编写测试用例的方法_第11张图片

2、如何选择正交表?

      正交表不需要自己画, 根据确定的因素数和水平数 ,来选择现成的正交表使用。

3、正交试验设计:

是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验设计方法。

编写测试用例的方法_第12张图片
编写测试用例的方法_第13张图片
编写测试用例的方法_第14张图片
编写测试用例的方法_第15张图片
编写测试用例的方法_第16张图片

4、正交表测试用例设计方法的特点是什么?

1、用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
2、对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;
3、体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。

五、因果图法(了解)

1、概念

因果图法比较适合输条件比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入,所谓的结果
就是输出

2、因果图基本图形符号

恒等:若原因出现,则结果出现;若原因不出现,则结果不出现。
非(~):若原因出现,则结果不出现;若原因不出现,则结果出现。
或(∨):若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现。
与(∧):若几个原因都出现,结果才出现;若其中有一个原因不出现,则结果不出现。

编写测试用例的方法_第17张图片

3、因果图的约束符号

E(互斥):表示两个原因不会同时成立,两个中最多有一个可能成立
I(包含):表示三个原因中至少有一个必须成立
O(惟一):表示两个原因中必须有一个,且仅有一个成立
R(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现
M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定

编写测试用例的方法_第18张图片

4、因果图测试用例:

例如:有一个处理单价为2.5元的盒装饮料的自动售货机软件。若投入2.5元硬币,按“可乐”、“啤酒”、或“奶茶”按钮,相应的饮料就送出来。若投入的是3元硬币,在送出饮料的同时退还5角硬币。

分析这一段说明,我们可列出原因和结果
原因(输入):
投入2.5元硬币;
投入3元;
按“可乐”按钮;
按“啤酒”按钮;
按“奶茶”按钮。
中间状态: ① 已投币;②已按钮
结果(输出):
退还5角硬币;
送出“可乐”饮料;
送出“啤酒”饮料;
送出“奶茶”饮料;
编写测试用例的方法_第19张图片

六、判定表法(了解)

编写测试用例的方法_第20张图片
编写测试用例的方法_第21张图片

你可能感兴趣的:(测试,测试类型)