《軟體測試的演化搜尋方法》是依託南京大學,由聶長海擔任項目負責人的面上項目。
基本介紹
- 中文名:軟體測試的演化搜尋方法
- 項目類別:面上項目
- 項目負責人:聶長海
- 依託單位:南京大學
項目摘要,結題摘要,
項目摘要
軟體測試的過程就是利用各種方法搜尋軟體中潛藏的錯誤的過程,軟體測試的演化搜尋方法是利用各種啟發式搜尋技術解決軟體測試中的問題,它將隨機性與目標導向性進行有機結合,為軟體測試提供了一種有效方法,成為傳統軟體測試方法的一個重要補充。本項目擬從以下方面進行深入系統研究:(1)各種搜尋技術在測試用例生成及最佳化中的套用與比較;(2)研究在互動測試、結構測試、功能測試、性能測試等傳統測試領域中套用基於搜尋的軟體測試技術,並進行比較;(3)研究基於搜尋軟體測試的性能改進,預期輸出,質量評估和自動化等問題;(4)研究基於搜尋的軟體測試的模型、可測試性轉化、故障檢測能力和故障診斷方法等;(5)與其他方法的交叉結合、比較和在雲計算、物聯網等新技術新領域中的套用。在已有研究基礎上,通過理論與工程實踐的緊密結合,開拓創新,為搜尋方法在軟體測試中的套用和推廣提供理論、方法、實證和工具支持。
結題摘要
軟體測試旨在發現軟體中潛在的錯誤,是保證軟體質量的重要環節,其中的測試用例生成和最佳化問題難以獲得最優解,演化搜尋方法提供了一個新的途徑,該方法將測試問題轉化為最佳化問題利用演化計算方法求解。本研究以組合測試方法為實例,系統地研究了使用遺傳算法、粒子群算法、蟻群算法、自適應隨機等演化搜尋方法解決組合測試用例生成、排序和約簡等問題,取得了常規方法(數學方法、貪心算法等)無法達到的效果。同時,我們在研究中發現1、在套用各種演化搜尋算法解決問題時,演化搜尋算法的配置參數需要調優;2、問題域解的結構表示方法會影響求解結果;3、演化搜尋算法計算時間長,並行計算可以有效提高計算效率;4、軟體測試的方法,如組合測試,需要有自適應機制,這樣可以隨著具體套用場景進行動態調整,保持其科學有效性。我們建設了一個組合測試的專門網站,可以為組合測試研究提供專業的文獻服務,支持工具服務和一個專門的關於組合測試理論與方法的微課教學服務。研究結果為演化搜尋方法在軟體測試,特別是在組合測試中的套用和推廣提供了理論、方法、實證和工具支持。