黑盒测试用例设计方法及适用场合-2018.3.17
本篇主要是针对黑盒测试的用例设计方法进行一个总结,后期会针对黑盒测试用例的设计方法另外出一篇文章。
黑盒测试常用的测试用例设计方法有8种:等价类划分、边界值分析、错误推断法、因果图法、判定表驱动法、正交试验法、功能图法、场景法;
测试工程师入门要先学习每种方法具体是怎么样的?
其次还要学会在什么时候要用什么方法设计用例?二者缺一不可。
接下来,先从方法介绍起,最后总结测试应用场合。
一、常见测试用例设计方法
1、等价类划分
- 对输入条件分类,分有效等价类和无效等价类;
- 设计测试用例时要尽可能多的覆盖有效等价类,直到用例可以把每个有效等价类覆盖;
- 每个用例只能覆盖一条无效等价类;可对应代码逻辑的逻辑与、逻辑或理解。
- 等价类划分,每个测试工程师的理解不同,可能会划分出不同的等价类;
- 等价类划分是不完全测试,风险还是有的;只能尽可能的仔细选择分类,避免风险;
- 典型题目:
三角形三条边问题;
2、边界值分析
边界值分析是对等价类划分的补充,对输入条件和输出条件都可以使用;
根据以往经验发现,bug往往存在于边界值中;
例如
1:对应的代码逻辑判断条件中的等于号是否正确使用;--边界值法的使用场景
2:数组定义(0-9)和赋值(1-10)的时候,可能会忽略索引0的赋值,其他开发使用的时候,就容易出错。--边界值法的使用场景
除了普通边界值,需求中明确说明的,还有内部边界条件(也叫次边界条件):
例如:
1、2的乘方
位bit:0和1表示;字节byte:8位bit组成;一个字word:2个字节byte组成;
位要考虑0或1
双位要考虑:0-15;
字节要考虑:0-255;
字要考虑:0-65535
2、ASCII码表
如果进行文本输入、文本转换的软件,如果只允许输入A-Z和a-z,那么非法区间中药包含前后值@、【、{。--应用的话 要去记忆ASCII码表。
3、对于空白的处理
3、错误推测法
- 基于经验和直觉有针对性的设计测试用例;
- 设计非法、错误、不正确、垃圾数据进行测试;
- 对于时间敏感的话,公元前3000年;
- 输入表格为空或者只有一行等等
4、因果图法
5、判定表驱动法
6、正交实验法
- 因果图法是对等价类划分和边界值分析的完善,考虑输入情况的组合与制约关系。寻找因与果,通过因果图转换为判定表;
- 因果图中涉及基本图形符号和约束符号,可以去深入学习一下!
- 因果图的经典题目:可投1元、5角的自动售货机,购买雪碧、可乐、红茶的功能;
- 判定表驱动法是分析和表达多逻辑条件下执行不同操作的情况的工具;也应用于程序设计中;
- 可以把负责的逻辑关系和多种条件组合的情况表达得较明确;
- 正交实验法是对因果图法进行简化的方法
7、功能图法
- 由状态迁移图和迁移来描述一个状态,同时依靠判定表和因果图表示的逻辑功能。
--对应程序的顺序、分支和循环结构来理解;
8、场景法
- 事件触发来控制流程;
- 基本流和备选流;
- 经典案例:ATM机取款
二、测试方法的选择
在介绍测试方法时已捎带介绍。
总结一句,测试工程师需要掌握方法的原理,积累测试经验,综合使用上述方法,提高测试效率及测试覆盖度;
基本思想:
1、首先等价类划分,减少测试工作量,输入条件和输出条件都可以等价类划分;
2、任何时候都会用到边界值分析,发现bug最多的方法;
3、错误推测法可以补充一些测试用例;
4、检查逻辑是否覆盖完全,适当补充测试用例;
5、如果条件有组合情况,从一开始就使用因果图法和判定表法;
6、参数配置类软件,用正交试验法,减少组合方式。
7、功能图法也是很好的方法,不同时间条件的有效性设计不同的测试数据。--目前没有有意使用过,后期留意使用。
8、业务清晰的系统,可以利用场景法贯穿整个测试案例过程,再综合使用上述方法。ATM取款、审批流等都适用!