软件测试方法
软件测试方法 或者说 软件测试用例设计方法,istqb定义为 测试技术 或 软件测试技术。
测试技术
本大纲将测试技术分为黑盒、白盒或基于经验。
黑盒测试技术:适用于功能与非功能测试
黑盒测试是一种 关注被测软件 功能实现与否的 测试用例设计方法。将软件视为“黑盒”,在不了解内部实现的情况下检查功能,而不查看源代码。就是说搞清楚软件应该做什么,结果如何,不关心它是如何做的。
- 等价类边界值法
- 因果图判定表法
- 正交试验法
- 流程分析法
- 状态迁移法
等价类边界值法
等价类划分法就是对所有的可能的输入数据进行分类,每一个分类中选出代表性的数据执行测试,如果代表性的数据能测试出BUG,那么整个这一类都会出BUG,如果代表性的数据不能出BUG,那这一类都不会出BUG,边界值分析法就是用来找出代表性的数据的,它强调强调边界点附近的数据出bug的可能性较大。
因果图法
因果图法其实就是间接得到判断表的一种方法,因为当系统较复杂,输入条件太多,直接画判断表比较困难,先画因果图能更方便的得到判定表。
判断表法
判断表法就是找到不同的输入条件组合和输出结果之间的逻辑关系,需要确定条件项和动作项,条件项和动作项只区分是或否,最后得到一张判断表,判定表的每一列就是一个用例。
正交试验法
正交试验法就是当输入条件的组合太多了,通过数学上的正交表来帮助我们精简组合,要注意的是使用的正交表必须同时满足软件的条件数和条件最大的选择数。
流程分析法和状态迁移法
流程分析法和状态迁移法共同的特别就是强调对连续性操作的覆盖,区别在于流程分析法分析的是用户在使用软件时在不同的功能之间可能有哪些操作流程,状态迁移法关注的是某一个功能的不同状态的切换。
白盒测试技术
白盒测试是一种 基于代码的 测试用例设计方法。
- 语句测试和覆盖
- 判定测试和覆盖
基于经验的测试技术
- 错误猜测法
- 异常分析法
- 探索性测试
- 基于检查表的测试
灰盒测试技术
灰盒测试是一种 介于 白盒测试 和 黑盒测试 之间的测试。在测试中白盒测试与黑盒测试交叉使用。
测试方法的原则:通过尽量少的测试数据或用例达到尽可能大的覆盖度
不是所有的 输入或外部条件 都有无效等价类。
边界值分析法一般和等价类划分法一起使用,不单独使用。