黑盒测试的7种测试方法等价类边界值法判定表法因果图法正交实验法场景设计法错误猜测法
黑盒测试的7种测试方法——等价类、边界值法、判定表法、因果图法、正交实验法、场景设计法、错误猜测法。
目录
黑盒测
试又称功能测试,通过测试检验程序每个功能能否正常使用。测试时将程序当作打不开的黑盒,不考虑内部结构,在程序接口测试,检查程序能否正确接收输入数据并产生正确输出信息。
黑盒测试的测试用例设计方法主要有:
等价类:
把输入域划分成数据类,从类中选代表性数据作测试用例找错误。
边界值法:
关注输入输出边界情况,因很多错误在边界值附近,测试边界值能更有效发现缺陷。
判定表法:
适用于逻辑复杂情况,用表格展示条件和动作等要素,设计全面测试用例。
因果图法:
使用一种描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例。
正交实验 法:
用正交表安排多因素试验,选有代表性的点测试,保证全面且减少工作量。
场景设计法:
模拟用户使用场景设计测试用例,关注软件在真实场景下运行情况。
错误猜测法:
测试人员凭经验和直觉推测程序可能的错误类型,针对性设计测试用例。
一、 等价 划分法
简介:
在测试过程中,我们依据特定需求,把输入(特殊情形下也会考虑输出)划分成若干个等价类。从每个等价类里选取一个测试用例来进行测试,若这个测试用例通过测试,那么就可认为它所代表的整个等价类也通过了测试。通过这种方式,我们能够使用较少的测试用例实现尽可能广泛的功能覆盖,从而 有效解决了无法穷举测试的难题 ,这便是等价类划分的作用所在。
等价类主要分为两种: 有效等价类 和 有效等价类 。
有效等价类: 它是由对程序的规格说明书而言合理且有意义的输入数据所构成的集合。有效等价类的主要用途在于验证程序是否真正实现了规格说明书中规定的功能与性能,它实际上就是满足用户需求的输入集合。
无 效等价类: 这是根据需求说明书确定的,是所有不满足需求的输入数据集合 。
不过需要注意的是,等价类划分方法仅仅考虑了输入域的分类情况,并未涉及输入域的组合问题,所以在实际测试设计中,还需要结合其他设计方法来加以补充完善。
设计思想:
①充分的理解需求
②区分好有效和无效
③从有效和无效中抽取数据测试
例子:输入一个0-10的int整数:
二、边界分析法
简介:
多数错误往往出现在 输入或输出范围的边界值 上。比如输入值的边界是 1 - 10,那么 0、1、10、11 这些边界点和边界附近的值就是重点测试对象。它是对等价类划分法的补充,通过在等价类边界附近选取测试数据,更有效地发现程序缺陷。
边界点:
上点: 边界上的点
内点: 边界内的点
离点: 边界附近的一个点(闭区间:区间外距离上点最近的点,开区间:区间内距离上点最近的点)
设计思想:
①充分的理解需求
②找到边界点
③针对边界点设计测试用例
例子:输入一个0-10的int整数:
序号 | 等价类 | 测试用例 | 预期结果 |
1 | [0,10] | 0 | 正确 |
2 | [0,10] | 10 | 正确 |
3 | [- ∞ ,0) | -1 | 错误 |
4 | (10,+ ∞ ] | 11 | 错误 |
三、决策表法(判定表法)
简介:
根据判定条件 列出所有可能的组合 ,当有n个条件时,就需要列出相应的2n个测试用例。表由四个组成:
条件桩 | 条件项 |
动作桩 | 动作项 |
条件桩: 指的是构成决策表基础的所有条件。
条件项: 表示条件桩中每个条件可能的具体值。
动作桩: 代表在问题解决过程中可能执行的所有操作,这些操作通常不涉及执行顺序。
动作项: 指明在特定条件项组合下应当执行的具体动作。
设计决策表:
①确定规则的个数。假如有n个条件,每个条件有两个取值,那么就有2的n次方种规则。
②列出所有的条件桩和动作桩。
③填入条件项。
④填入动作项,得到初始决策表。
⑤化简。合并相似规则(重复的相同动作) 。
例子:判断是否是闰年:
条 件 | 被4整除 | Y | Y | Y | Y | N | N | N | N |
被100整除 | Y | Y | N | N | Y | Y | N | N | |
被400整除 | Y | N | Y | N | Y | N | Y | N | |
结 果 | 是闰年 | T | T | T | |||||
不是闰年 | T | ||||||||
不存在 | T | T | T | T |
四、因果图法
简介:
有些输入之间存在着 互相依赖的关系 ,我们可以使用一种描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例。
因果符号:
- 恒等:如果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,否则E=0。
约束关系:
- E约束(异):a,b最多有一个可能为1,不能同时为1;
- I约束(或):a、b、c中至少有一个必须为1,不能同时为0;
- O约束(唯一):a和b必须有一个且仅有一个为1;
- R约束(要求):a为1时,b必须为1;
- M约束:对输出条件约束,如果结果a为1,则结果b必须为0。
设计因果图设计测试:
①分析基本流和备选流
②场景设计
③用例设计
④数据设计
五、正交实验法
简介:
通过合理选择测试用例,从大量的实验点中挑选出 适量的、有代表性的点 ,以最小的代价发现软件缺陷。
正交实验设计法中三个核心要素包括:
实验指标: 这是衡量实验成效好坏的关键标准。
实验因素: 实验因素,也称为因子,指的是所有可能对实验结果产生影响的条件。
因素水平: 因素水平指的是每个实验因素可能取的具体值,即因子的状态。
设计思想:
①提取并确定因子
②构建因子状态表(为每个因子确定其可能的状态或取值,并整理成表格形式)
③加权筛选(根据因子的重要性和影响程度,对因子状态表进行加权筛选)
④构建正交表
⑤设计测试用例
六、场景测试法
简介:
基于用户使用场景的软件测试方法,它通过模拟用户在 实际操作软件时 可能遇到的各种情况来评估系统的性能、功能和用户体验。
设计思想:
①分析需求,确定业务流程(基本流、备选流)
②理解用户的主要行为模式和使用场景
③依据基本流、备选流,生成不同的场景
④针对每个场景生成相应的测试用例
⑤审核并确定测试用例,为每个测试用例确定测试数据值
例子:以下图为例:
一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)。
因此设计如下:
场景1: 基本流
场景2: 基本流 备选流1
场景3: 基本流 备选流1 备选流2
场景4: 基本流 备选流3
场景5: 基本流 备选流3 备选流2
场景6: 基本流 备选流3 备选流1 备选流2
场景7: 基本流 备选流4
场景8: 基本流 备选流3 备选流4
从上面可知,基本流只有一个,而备选流的数目则取决于基本流上 判定节点的数目 与 事务分析 的颗粒度,颗粒度越细,考虑越周全,得到的备选流数目就越多,相应的测试工作量就越大
七、错误判断法
简介:
一种 基于经验和直觉 来推测程序中可能存在的各种错误,并据此设计测试用例的方法。其基本思想是列举出程序中所有可能的错误和容易发生错误的特殊情况,然后根据这些错误来选择测试用例。这种方法依赖于对被测软件系统设计的理解、过往经验、直觉和简单的判断。
注意:
在实际应用中,错误推测法通常不单独使用,而是在等价类划分法、边界值法与场景法进行全面分析之后,作为一种 补充手段 来使用。