常用测试方法
- 等价类划分
- 边界值分析
- 因果图
- 判定表
- 决策树
- 探索式测试
一、等价类
- 输入域明确:把程序的输入域划分成若干子集
- 分类:从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。
- 常见分类:有效、无效等价类
等价类划分案例
- 注册某个网站,要求用户名的长度为612的数字与字母组合而成的字符,密码长度为816位的数字、字母的组合。请写出测试案例。
- 识别输入域分类:
- 用户名:6~12数字与字母
- 密码:8~16数字字母组合
用户名测试例子
二、边界值
- 根据经验大多数的错误都是来自于对边界值的处理不严谨,所以把边界值作为重点测试数据
- 边界值测试法是对等价类的补充
用边界值测试法补充测试用例
三、因果图与判定表
因果图是有向图,显示因果模型中变量之间的因果关系。因果图包括一组变量(或节点)。每个节点通过箭头连接到一个或多个对其具有因果影响的其他节点。箭头描绘了因果关系的方向
-
在软件测试中,因果图是有向图,可以将一组原因映射到一组结果。可以将原因视为程序的输入,而可以将结果视为输出。通常,该图在左侧显示代表原因的节点,在右侧显示代表影响的节点。它们之间可能存在中间节点,这些中间节点使用诸如AND和OR的逻辑运算符组合输入。
判定表概念
- 一种表达因果关系的逻辑表达方式
- 使用表格分类条件、中间结果、最终结果之间的关系
判定表例子
四、决策树
- 判定表也可以用决策树表示
- 决策树比因果图和判定表更好
- 可以用流程图表示决策树
因果图、判定表、决策树
- 这三者本质一样用于表达流程关系,只是表现形式不同
- 他们的含义其实就是编程逻辑if else switch
- 测试过程中可以用流程图去表达
- 黑盒的流程图与白盒的路径流程是存在关联关系的
五、探索式测试
- 探索性测试是一种软件测试风格,简而言之就是同步学习,测试设计和测试执行。
-
塞姆·坎纳(Cem Kaner)于1984年创造了该术语,将探索性测试定义为”一种软件测试风格,强调个人测试者的个人自由和责任,以通过对待与测试相关的学习来不断优化其工作质量
探索式测试的认知
- 探索式测试是一种基于上下文质量反馈的测试风格
- 基于上下文的反馈,适时调整测试执行
- 探索式测试通常被认为是黑盒测试技术。在白盒测试中也可以应用类似的思想去实施(基于实时反馈的精准化测试)
探索式测试的优缺点
- 成本低,可以不用提前设计大量测试用例
- 可以激发测试工程师的创造性,更快的发现问题
- 对测试的覆盖度无法进行有效保障
- 多数测试活动都是由探索式测试与脚本式用例结合