其实测试用例的设计方法主要就是7大方法:
等价类划分,边界值,场景法,判定表,因果图,错误推断法,正交测试法。
很多人都只是知道这些方法,每个方法合起来就立马懵逼了。
在想把这些方法联系起来之前,我们先来看看每种方法要解决的问题。
等价类划分的出现,是让测试成为可能。
举个例子,比如说我们测试手机号输入框,如果没有等价类划分,那么是不是就要把所有的情况穷举一次。
当时如果有了等价类划分,我们至少可以把它们归类。
比如手机号可以分为有效和无效,并且无效可以分为长度无效,规则无效,输入的信息不规范等等。
之后等价类分类完成之后,下来就是对于分类界限的边界点进行选取,每一个边界值都是在等价类划分完成之后才产生的边界点。
所以边界值其实是在等价类的边缘去寻找错误。
再说下场景法,很多时候,我们测试的是整个所有的软件,那么在梳理业务流程的时候,就会用到场景法,用场景法梳理出正常流,备选流,之后再结合每一个流做细化的等价类划分和边界值。
判定表是遇到输入和输出之间有关联关系的时候会用到,会将业务之中有关联关系的地方使用判定表梳理出来,再结合判定表的每一项做等价类边界值细化的测试。
因果图不太常用,本身因果图其实是为了得到判定表。至于错误推断法,则主要是经常我们测试过程中,结合软件实际的情况,有针对性的猜测会出现问题的地方,针对性设计用例。
最后,正交测试,主要是在遇到多个因素,水平关系的时候,才会用少量的代替全面。
总结:
测试方法主要有等价类、边界值、场景法、判定表、因果图、错误推断法、正交试验法,首先拿到需求文档时,我会先用场景法梳理清楚软件的基本流和备选流,再结合等价类、边界值分析测试用例;当输入与输出有对应关系的时候我会先画出判定表,再结合等价类、边界值分析;当然遇到那种特别复杂的,像网上提到的售货机的例子,我会先用因果图梳理出判定表。还有就是可以根据自己对软件错误的知识积累,采取错误推断法来测试,最后还有一种不是很常用的正交试验法,主要是用于有水平关系,项目比较紧急时,采取抽样测试的方法进行的测试。