2黑盒测试设计用例方法

等价类

1、定义

把所有可能输入的数据,即程序的输入域划分成若干份(子集),然后从每个子集中选取少数具有代表向的数据作为测试用例。该方法是一种重要的、常用的黑河测试用例设计方法

2、划分等价类

等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理的假定:测试某等价类的代表值就等于对这一类其它值得测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试得输入条件,这样就可以用少量代表性的测试数据取得较好的测试结果。等价类划分有两种不同的情况:有效等价类和无效等价类。

有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可以检验程序是否实现了规格说明中所有规定的功能和性能。PS:满足需求的数据
无效等价类:与有效等价类的定义恰巧相反。无效等价类只对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。PS:不满足需求的数据

3、划分等价类的标准
  1. 完备测试、避免冗余
  2. 划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合
  3. 完备性
  4. 子集互不相交
  5. 同一类中选择一个测试用例,同一等价类中,往往处理相同,相同处理映射到相同的执行路径
4、划分等价类的方法
  1. 在输入条件规定了取值范围或值的个数的情况下,则可以确立要给有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0-100
    在这里插入图片描述
  2. 在输入条件规定了输入值的集合或者规定了必须如何的情况下,可确立一个有效等价类和一个无效等价类
  3. 在输入条件是一个布尔值的情况下,可以确定一个有效等价类和一个无效等价类
  4. 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类

例:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四个值作为四个有效等价类,把这四种学历之外的任何学历作为无效等价类

  1. 在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则的子集)和若干无效等价类(从不同的角度去违反规则)
  2. 在确定已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步划分为更小的等价类
5、设计测试用例

在确定了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价类,然后划分出的等价类中按以下三个原则设计测试用例:

  1. 为每一个等价类规定一个唯一的编号
  2. 设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止
  3. 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止

边界值

1、定义

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是对等价类划分法的一种补充,这种情况下,其测试用例来自等价类的边界。

2、与等价划分的区别
  • 边界值分析不是从等价类中随便挑选一个作为代表,而是使这个等价类的每个边界都要作为测试条件
  • 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。
3、边界值分析方法的考虑

长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入或输出范围的内部。因为针对各种边界情况设计测试用例,可以查出更多的错误。
使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

4、常见的边界值
  • 对16bit的整数而言,32767 和 -32768 是边界
  • 屏幕上光标在最左上、最右下的位置
  • 报表的第一行和最后一行
  • 数组元素的第一个和最后一个
  • 循环的第0次、第1次和倒数第2次、最后一次

因果图

定义

是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

因果图产生背景

等价类划分法和边界值分析方法都是着重考虑输入条件,但没考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,单多个输入条件组合起来可能出错的情况就却被忽视了。
如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例设计,这就需要利用因果图(逻辑模型)。

因果图介绍----关系
  1. 4中符号分别表明了4种因果关系
  2. 因果图中使用了简单的逻辑符号,以直线连接左右节点。左节点表示输入状态(或称原因),右节点表示输出状态(或称结果)
  3. C1表示原因,通常置于图的左部;e1表示结果,通常在图的右部。C1和e1均可取值0或1,0表示某状态不出现,1表示某状态出现。

关系图
关系:

  1. 恒等:若C1是1,则e1也是1;否则e1为0
  2. 非:若C1是1,则e1是0;否则e1为1
  3. 或:若C1或C2或C3是1,则e1是1;否则e1为0。“或”可有任意个输入
  4. 与:若C1和C2都是1,则e1是1;否则e1为0。“与”可有任意个输入
因果图介绍----约束

输入状态相互之间还可能存在某些依赖关系,称为约束。例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号表明这些约束。
约束
A:输入条件的约束有以下4类:

  1. E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1
  2. I约束(或):a、b和c中至少有一个必须是1,即a、b和c不能同时为0
  3. O约束(唯一):a和b必须有一个,且仅有1个为1
  4. R约束(要求):a是1时,b必须是1,即不可能a是1时b是0

B:输出条件类型约束
输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0

判定表

判定表简述:判定表是把作为条件的所有输入的各种条件以及对应输出值都罗列出来而形成的表格。它能够将复杂的问题按照各种可能的情况全部列举出来,简明并可避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。

场景法

每个事件触发时的情景便形成了场景。而同一事件不同的出发顺序和处理结果形成事件流场景法:通过运用场景来对系统的功能点或业务流程进行描述,从而提高测试效果的一种方法。场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。
步骤:

1.构造基本流和备选流
2.根据基本流和备选流构造场景
3.根据场景设计测试用例
4.对每个测试用例补充必要的测试数据

状态迁移图

未完

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值