潘世昊 張海波 左小凱 鄧鴻博
(中國船舶集團有限公司第七○九研究所 武漢 430205)
測試用例的設計是軟件測試的核心步驟,一個好的測試用例集能夠以極小的測試用例數量實現極高的用例覆蓋率。近年來,軟件的功能日益提高導致其結構越來越復雜,尤其是在進行黑盒測試過程中,將測試用例的輸入輸出關系對應起來更加困難,并且生成的測試用例集往往數量較大[1]。因此,許多研究人員都為生成覆蓋率高數量小的測試用例集進行探索研究[2]。
在進行功能測試前,首先要對規格說明中的需求進行約簡整合。然后再通過因果圖法、等價類劃分法等方法選取得到一組典型的測試數據,減少測試用例的數量[3]。隨著機器學習技術和理論得到了巨大的發展,機器學習也已經逐漸應用在了軟件測試用例集的生成和優化方面。文獻[4]提出利用神經網絡和程序變異的測試用例輸出預測方法;文獻[5]提出了通過Ranking SVM算法,對測試用例集進行排序篩選的方法;文獻[6]提出通過聚類算法實現對所需測試用例的自動化識別;文獻[7]通過強化學習實現測試用例集的持續優化集成,提升測試效率。
微軟公司的pict工具廣泛應用于測試用例的生成,它利用組合原理生成覆蓋率高數量小的測試用例集,但是生成的測試用例都缺少預期結果。如果人工進行預測結果的填寫,將會耗費大量的人力,并且過程枯燥。
針對以上問題,本文采用GA-SVM模型進行測試用例集的自動生成,通過GA算法選取SVM模型參數的最佳值。……