因果图法
定义:因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。
应用:
如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。1. 因果图介绍
(1) 4种符号分别表示了规格说明中向4种因果关系。
![c966fca3cdca3527dc974c09594c686e.png](https://i-blog.csdnimg.cn/blog_migrate/d3a338f707740dd30f3bef789a22844b.jpeg)
(2) 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。
(3) C1表示原因,通常置于图的左部;e1表示结果,通常在图的右部。C1和e1均可取值0或1,0表示某状态不出现,1表示某状态出现。2. 因果图涉及的概念
(1) 关系
Ø 恒等:若c1是1,则e1也是1;否则e1为0。
Ø 非:若c1是1,则e1是0;否则e1是1。
Ø 或:若c1或c2或c3是1,则e1是1;否则e1为0。“或”可有任意个输入。
Ø 与:若c1和c2都是1,则e1为1;否则e1为0。“与”也可有任意个输入。
(2) 约束
输入状态相互之间还可能存在某些依赖关系,称为约束。例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。
![8e5a441312070019417a516abd4cc359.png](https://i-blog.csdnimg.cn/blog_migrate/848b14f5b963dc42cb07add92e502130.jpeg)
Ø 输入条件的约束有以下4类:
· E 约束(异):a 和 b 中至多有一个可能为1,即a和b不能同时为1。
· I 约束(或):a、b 和 c中至少有一个必须是1,即 a、b 和c不能同时为0。
· O 约束(唯一);a 和 b必须有一个,且仅有1个为1。
· R 约束(要求):a 是 1时,b 必须是1,即不可能a 是1时 b是0。
Ø 输出条件约束类型
输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。3. 采用因果图法设计测试用例的步骤:
(1) 分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
(2) 分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的关系,根据这些关系,画出因果图。
(3) 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现,为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。
( 4) 把因果图转换为判定表。
(5) 把判定表的每一列拿出来作为依据,设计测试用例。
判定表法
判定表(Decision table)是另一种表达逻辑判断的工具。与结构化语言和判断树相比,判断表的优点是能把所有条件组合充分地表达出来;其缺点是判定表的建立过程较烦杂,且表达方式不如前两种简便。判定表在用于知识表达中,有许多其他方式所达不到的作用。
判定表的建立步骤:
(1)确定规则的个数.假如有n个条件。每个条件有两个取值(0,1),故有2的n次方种规则。
(2)列出所有的条件桩和动作桩。
(3)填入条件项。
(4)填入动作项。得到初始判定表。
(5)简化.合并相似规则(相同动作)。
判定表的优点:
能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用判定表能够设计出完整的测试用例集合。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类问题。
正交实验法
正交实验法是研究多因素多水平的一种设计方法,它根据依据 Galois理论从全面试验中挑选出部分具有代表性的水平组合进行试验,通过挑选部分有代表性的水平组合进行试验并对结果进行分析找出最优的水平组合。
最简单的正交表是L4(23),含意如下:“L”代表正交表;L 下角的数字“4”表示有 4 横行,简称行,即要做四次试验;括号内的指数“3”表示有3 纵列,简称列,即最多允许安排的因素是3 个;括号内的数“2”表示表的主要部分只有2 种数字,即因素有两种水平1与2。正交表的特点是其安排的试验方法具有均衡搭配特性。
正交表例如L9(34),表1-1, 它表示需作9次实验,最多可观察4个因素,每个因素均为3水平。
![98918a93c24797e10e6f04099b7805ef.png](https://i-blog.csdnimg.cn/blog_migrate/5a1b485f690be999fc23b869b772943c.png)
场景法
场景法:通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的一种方法。用例场景来测试需求是指模拟特定场景边界发生的事情,通过事件来触发某个动作的发生,观察事件的最终结果,从而用来发现需求中存在的问题。我们通常以正常的用例场景分析开始,然后再着手其他的场景分析。场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。场景主要包括4种主要的类型:正常的用例场景,备选的用例场景,异常的用例场景,假定推测的场景。
基本流:采用直黑线表示,是经过用例的最简单的路径(无任何差错,程序从开始直接执行到结束)
备选流:采用不同颜色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选流,或终止用例,不在加入到基本流中;(各种错误情况)
![48582a7c7faba2e9a000e913ef02c041.png](https://i-blog.csdnimg.cn/blog_migrate/9d1fbc87dd379f96aa66d9438ef3a06b.png)