近在项目中一直在思考项目中的测试方法,目前采取的是一种SPR模型。S,指冒烟测试,P,表示功能和性能测试、R,表示回归测试。在这种模型下,轮的概念比较突出,界限也比较明显,但其实在实际的项目执行过程中,执行得次数多的用例其实是比较少的,而在SPR模型中却没有很好的突出重点。在这种困惑下,我想出了一种测试方法--爬虫的测试方法。

  之所以叫爬虫,是受到了爬虫技术的启发。每天网页的更新和增加或者删除,类似于开发的更新代码,而搜索引擎去捕获这些网页的更新,像我们测试人员去寻找程序代码中的bug。

  其实我初的想法是代码驱动测试,并运用了软件bug的二八原则,即80%bug发生在20%的代码中,在项目进行第一轮测试后能根据bug的分布去决定后续的测试方向。并根据代码的更新情况去测试,也是开发改了哪里的代码,去测试和这一部分代码相关联的功能。

  这一测试方法的难点在于对于测试人员要有较高的要求,熟悉代码外,还要对测试本身有很好的判断能力。

  另外这一个方法另外是bug驱动测试。这也是根据软件的另一原则,bug的修复往往会引入新的bug。这跟爬虫技术也很相关,那是根据现有的资源去搜索更多的资源,因为bug发生的本身是有关联的。可以说大部分bug都是成群出现的。那么发现了一个bug,很有可能发现另一个bug。

  目前来说这种测试方法和理论还不是很成熟,我自己也还在实践过程中。但是我相信这一测试方法和现在的敏捷的极限编程是不谋而合的。一定会在以后的测试中被大量运用。