黑盒测试技术
黑盒测试概述
黑盒测试主要发现的错误:
- 功能不正确或遗漏
- 界面错误
- 数据库访问错误
- 性能错误
- 初始化和终止错误
测试步骤:
- 测试计划->产生测试计划文档
- 测试分析
- 测试设计->产生测试用例文档
- 测试执行->产生测试缺陷报告文档
- 测试评估->产生测试报告文档
为什么要设计测试用例:
- 良好的测试用例可以缩短实施测试时间
- 确保测试的系统性,全面性
- 提高测试的可复用性
黑盒测试用例设计方法——等价类划分法
把程序的所有可能的输入数据划分为若干的子集,每一子集代表数据在测试中的作用等价于这一子集的其他值。每一个子集就是一个等价类。
等价类需要考虑有效等价类和无效等价类。
等价类划分法的设计步骤
- 划分等价类;
- 确定测试用例;
等价类划分举例一
分析:输入数据在[0,60)[60,75)...之间的都可以分别划分为等价类,并且为有效等价类;
而输入数据在[0,100]的范围以外的,或者输入数据为null的,划分为无效等价类。
等价类划分举例二
分析:包含字符的为无效等价类,不包含该字符的为有效等价类
长度为1-255个字符的为有效等价类,长度不在该范围内的为无效等价类
等价类划分举例三
黑盒测试用例设计方法——边界值法
长期测试经验表明:大量错误发生在输入或输出范围的边界上,而不是发生在输入输出的范围内部。因此,对各种边界设计测试用例,能取得良好的效果。
边界值法举例
黑盒测试用例设计方法——判定表驱动法
判定表:是分析和表达较为复杂逻辑条件下软件状态和行为的有效工具。
用它可以设计出完整的测试用例集合,将复杂问题的各种可能情况罗列出,使测试内容变得简单明了而避免遗漏。
判定表设计步骤
- 确定规则的个数,条件数为n,规则个数为2的n次方
- 列出所有的条件桩和动作桩
- 填入条件项
- 填入动作项
- 简化判定表,合并相似规则
判定表举例一
黑盒测试用例设计方法——因果图法
因果图设计步骤:
- 从程序规格说明中找出因(条件项)和果(结果项),并分析因果关系,以及因因、果果之间的约束关系,绘制因果图;
- 通过因果图转为判定表;
- 将判定表中不符合约束条件的规则去除;
- 然后将判定表简化,将每一规则转化为一个测试用例。
因果图举例一
黑盒测试用例设计方法——正交法
正交实验法是从大量试验点中挑出适量的,有代表性的点,利用正交表,合理的安排实验的一种科学实验设计方法
正交表性质
- 任何一列,不同数字出现次数相等
- 任何两列,数字排列齐全且均衡
正交法设计步骤:
- 分析影响测试项的因素;
- 分析每个因素的取值方式;
- 设计或者选择一个合适的正交表;
- 把正交表中的元素转换为因素的实际取值,每行转换为一个测试用例
正交法举例一
黑盒测试用例设计方法——场景法
事件触发时序不同形成不同场景。
事件流分为基本流和备选流。基本流描述最正常的一种场景,备选流描述执行过程中的异常或偶尔发生的情况。
场景法是通过用例场景描述业务操作流程,遍历业务流程上所有基本流和备选流。
场景法设计步骤
- 分析程序基本流、备选流;
- 根据基本流、备选流生成场景;
- 每一个场景对应一个测试用例
场景法举例一