今天我们再来介绍另外一个编写测试用例的方法:错误推测法。话不多说,开始整干货,老规矩,首先全图镇楼。
错误推测法其实它不同于等价类划分法或者边界值分析法,它是对有效等价类和边界值分析法的一个补充。因为错误推测法从这个里面我们也可以看出,从这句话也可以看出它注重的是一个推测。所谓的推测就是你要有自己的经验,就是在写了很多的测试用例之后,积累了很多的经验。
遇到一个产品之后,就根据自己的经验,在有效等价类和边界值分析法之外,仍能想到一些测试它的方法,这就是错误推测法。这个方法主要还是靠经验,个人经验比较丰富的话,这个方法可以写很多测试用例。
主要还是一个慢慢积累的过程。一般来说,常见的错误推测法都是有一些惯例的,也就是比较容易出错的地方。我们可以从这方面可以入手,比如在输入年龄的时候,有个年龄输入框,输入一个超长的混合字符串,这个是很容易出错的。
还有输入的是全角字符串,所谓的全角就是中文字符下输入的一些字符串,这时候也是会出现问题的。因为程序员在对这个框进行设置的时候,他通常只对英文状态下的字符串进行限制,并没有对中文进行限制,那很容易漏掉中文的限制。
还有数值0,在判断这个框的时候,如果没有的话,为null或者为空的情况下其实和 0 是一样的效果。因为为null为空为零,它都是一个 false 的结果。但是后台因为使用的是 Java 或者是其他的一些比较严格的语言,它为空的情况下是会报错的。
但是为零的情况下,它就没有很好的控制住这一个异常。还有一个单引号,一般单引号也是很容易出现错误的,因为单引号在输入的时候它并不是一个字符串,它只是一个引号。你在获取这个值的时候,把引号作为一个字符串。它在判断的时候没有想到会有一个引号会过来。
那很有可能这个引号作为一个数字判断也是容易出错的,所以这都是容易忽略的,忽略的状态下,所以一个单引号也是容易会出现问题的。所以通过错误推测法的话,写测试用例的时候,对于输入条件就可以写比如说年龄输入的话就是 20 到 99 的整数。
我们就可以对它进行分析,在输入框输入超长字符串,也有可能报错。错误推测的取值可以写一个很长的一个字符串,把这个字符串作为一个测试用例,输入到输入框里面,看它是否出错。还有全角,我们把这些全角的字符串也输入进去,作为一个测试用例。
还有 0,还有单引号都一样,都作为测试用例。当然错误推测法不止这几种罗列的可能性,只不过这几种比较常见,还有更多的一些常见的可能性,还需要自己去探索一下。