同样的测试用例,有些人1天就能执行完毕,有些人则需要2天,不算个人能力的差异的话,其实还有可能就是测试的顺序不一样,有些人重复做了无用功,而有些人则没有做无用功。
下面来解释说明一下:
其实测试有点像走迷宫,不仅仅把这正确走出迷宫的路走一遍,而且还要把那些不通的路也走一遍,保证那些路是无法走出迷宫的,也许有人会觉得反正都要走一遍,先走那条路不都一样吗?
的确,对于单个迷宫来说是没啥差别,可是测试面对的不是单个迷宫,而是许许多多有关联的迷宫,只有走出第一个迷宫才,才能继续走第二个迷宫,依次类推,可能一个测试流程会有3-4个这样的迷宫,那么问题来了,怎么样才能走最少的路来保证每个迷宫的路都走一遍呢?这就涉及到选择走路的顺序了。
最优的顺序应该是:
1.先走迷宫1所有不通的路
2.然后再走迷宫1正确出口的路
3.接着继续走迷宫2所有不通的路
4.然后再走迷宫2正确出口的路
......
依次这样走,就能保证不走重复的路,再来对比一下常见的顺序:
1.先走迷宫1正确出口的路
2.然后再走迷宫1所有不通的路
3.接着继续走迷宫1正确出口的路,到达迷宫2
4.然后再走迷宫2正确出口的路
5.接着继续走迷宫1正确出口的路,到达迷宫2
6.然后再走迷宫2所有不通的路
.....
这样一对比就能很容易的发现无用功在于走了3+遍迷宫1正确出口的路(如果迷宫越多,迷宫1正确的路走的次数越多)。所以当测试系统越复杂,那么对于测试顺序不同的差异也就越明显。
举一个一个例子来具体感受一下差异:
测试一个注册功能,分为3个步骤,注册,验证,登录,一般正常情况都是先测试正常注册,正常验证,正常登录,然后测试异常注册,异常验证,异常登录
1.当完成正常测试后再测试异常之前,需要从登录状态退出,然后再点击注册入口进行注册。
2.当测试异常验证的时候,需要再次测试正常注册,不然就进入不了验证的步骤。
3.当测试异常登录的时候,又需要再次测试正常验证,不然就进入不了登录的步骤。
如果按照之前走迷宫的方式调整测试顺序呢?
1.先测试异常注册,输入各种错误的注册信息,如果没有bug 的情况下是跳不到验证界面的
2.然后测试正常注册,可以正常跳到验证界面
3.接着测试异常验证,如果没有bug 的情况下是跳不到登录界面的
4.再测试正常验证,可以正常跳到登录界面
5.再测试异常登录,如果没有bug 的情况下是无法正常登录的
6.最后测试正常登录,可以登录完成
这样其实覆盖的测试点一个没少,但却没有无效和重复的测试,调整顺序之后可以减少不必要的操作,积少成多的节约测试时间。所以这个测试技巧对于测试来说是非常有用的,只是调整一下测试的思维便可以提高效率。