测试用例的设计方法主要分为7大类:等价类划分、边界值、场景法、判定表、因果图,错误推断法,正交测试法。
有关于数值取值范围的都包含了等价类和边界值,这两个方法一般联合使用。举个例子来说,比如我们做的贷款项目,A的这个字段它是大于等于0,小于等于100,只能是数值类型。因为等价类分为有效类(只能输0到100的数字,包含小数)和无效类(除了这些的都是无效等价类),边界值体现在0还有小于0的数字,还有大于100的数字和等于100的数字。
而关于场景法,多数情况下,我们测的是整个所有的软件,所以在梳理业务流程的时候,就会用到场景法,会用场景法梳理出正常流、备选流,后面再结合每一个流做细化的等价类划分和边界值。
再看判定表法,这个又称为策略表,基于策略表的测试,是功能测试中最严密的测试方法。这个方法适合于逻辑判断复杂的场景,就是通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略表。这个切记8条以内的测试用例不要合并。
再看因果图,也叫鱼骨图,是判定表的前置过程。这个不太常用,本身也是为了得到判定表。
再看错误推断法,这个主要是在我们软件测试过程中,结合软件实际的情况,可以根据经验或直觉有针对性的猜测出会出现问题的地方,针对性的设计用例。这种方法没有固定的形式,依靠的是经验和直觉,很多时候我们无意间就使用到了。
再看正交测试法,就是在遇到多个因素且是水平关系的时候,才会用少量代替全面。简单点说就是,在各个因素互相独立的情况下,设计出来一种特殊的表格,找到可以以少数代替全面的测试用例。这个特殊表格就是正交表,形式跟一般表格没什么区别。正交表的主要特征是“均匀分布,整齐划一”,正因为是“均匀”的,所以才能以少数代替全部。这个方法不常用,主要是用于有水平关系,项目比较紧急时,采用抽样测试的方法进行的测试。
总结,测试用例设计方法有等价类法、边界值法、正交试验法、因果图法、判定表法、错误推断法、场景法,当拿到需求文档时,先别着急上手,先用场景法,梳理出基本流和备选流,再结合等价类法和边界值法设计用例。当输入与输出有对应关系时,就先画出判定表,再结合等价类、边界值分析。如果遇到比较复杂的,就先用因果图梳理出判定表。再根据自己对软件错误的知识积累,采用错误推断法,推断出可能会出错的地方。正交试验法一般不常用,主要是用于有水平关系,如果项目比较紧急,就可以采用抽样测试的方法进行测试。