2 效果
上節的算法,相對于運行所有測試用例,并沒有比較明顯的優點。尤其對于測試來說,算法并沒有加速運行測試用例,好象還降低了運行速度。其實算法本身的確不是用來加速運行測試用例的,其目的是找到一組最佳測試用例。因為實際上對于很多模塊運行所有測試用例或哪怕是所有等價類都是幾乎不可能的。
以上一節舉的例子做說明,其輸入等價類大致有55=3125。如果一個模塊有10個輸入、每個輸入有10種等價類,那么輸入等價類為1010。按運行一個等價類需要1分鐘計算(很多循環運行模塊可能不止1分鐘),需要幾個月才能運行一遍所有等價類。這時,運用遺傳算法的優勢就體現出來了。
綜上所述,本文提出了一種利用遺傳算法尋求最佳測試用例的測試方法原理。它能在較短時間內完成軟件模塊的黑盒測試并給出測試結果和好的測試用例。利用該算法原理,可以在測試集成環境中做一些設置或修改測試集成環境,這樣可以大大提高測試工作的效率。