2 效果
上节的算法,相对于运行所有测试用例,并没有比较明显的优点。尤其对于测试来说,算法并没有加速运行测试用例,好象还降低了运行速度。其实算法本身的确不是用来加速运行测试用例的,其目的是找到一组最佳测试用例。因为实际上对于很多模块运行所有测试用例或哪怕是所有等价类都是几乎不可能的。
以上一节举的例子做说明,其输入等价类大致有55=3125。如果一个模块有10个输入、每个输入有10种等价类,那么输入等价类为1010。按运行一个等价类需要1分钟计算(很多循环运行模块可能不止1分钟),需要几个月才能运行一遍所有等价类。这时,运用遗传算法的优势就体现出来了。
综上所述,本文提出了一种利用遗传算法寻求最佳测试用例的测试方法原理。它能在较短时间内完成软件模块的黑盒测试并给出测试结果和好的测试用例。利用该算法原理,可以在测试集成环境中做一些设置或修改测试集成环境,这样可以大大提高测试工作的效率。