《組合測試用例優先排序算法及選擇策略研究》是依託江蘇大學,由黃如兵擔任項目負責人的青年科學基金項目。
基本介紹
- 中文名:組合測試用例優先排序算法及選擇策略研究
- 項目類別:青年科學基金項目
- 項目負責人:黃如兵
- 依託單位:江蘇大學
項目摘要,結題摘要,
項目摘要
組合測試用例優先排序旨在對給定的組合測試用例集依據一定的標準進行優先排序,以能夠儘快地發現錯誤,進而能夠較早地進行錯誤分析、定位和修復。當前該領域的排序算法大多直接採用貪心策略,其測試效果和測試效率受貪心算法的效率、局部最佳化的影響。本項目從提高該排序領域貪心算法性能、以測試用例搜尋來避免貪心算法局部最佳化、以智慧型選擇來避免盲目選擇排序算法的不足等三個方面著手,嘗試用新方式推進組合測試用例優先排序方法。項目首先分析基於貪心思想的組合測試用例優先排序算法的影響因素,以搭建算法框架進而獲取高效的貪心算法。接著結合搜尋技術,提出基於搜尋思想的組合測試用例優先排序算法,以克服貪心策略的局部最佳化所帶來的不足。在此基礎上,本項目研究依據測試需求或(和)組合測試用例集的類型智慧型地選擇合適的優先排序算法,建立測試需求、組合測試用例集的類型與優先排序算法的三方關聯,以此智慧型選擇來避免純粹基於貪心策略方法不足。
結題摘要
組合測試用例優先排序(CTCP)在近些年得到了廣泛的研究,目前大多直接採用貪心策略,其測試效果和測試效率受貪心算法的效率、局部最佳化的影響。本項目從提高該排序領域貪心算法性能、以測試用例搜尋來避免貪心算法局部最佳化、以智慧型選擇來避免盲目選擇排序算法的不足等三個方面著手,嘗試用新方式推進組合測試用例優先排序方法。項目首先分析基於貪心思想的組合測試用例優先排序算法的影響因素,以搭建算法框架進而獲取高效的貪心算法。接著結合搜尋技術,提出基於搜尋思想的組合測試用例優先排序算法,以克服貪心策略的局部最佳化所帶來的不足。在此基礎上,本項目研究依據測試需求或組合測試用例集的類型智慧型地選擇合適的優先排序算法。在本項目中,我們提出了一系列高效的CTCP算法,包括基於重複Base-Choice的CTCP算法、基於低力度組合覆蓋循環疊代的CTCP算法、基於低力度組合覆蓋權重的CTCP算法、以及基於搜尋思想的CTCP算法。通過充分的實驗表明,我們的貪心算法在保證測試性能的同時,能夠較大幅度降低時間開銷。而且,基於搜尋思想的CTCP算法能夠有效地提高錯誤檢測速率和組合覆蓋速率。此外,我們提出了兩種組合測試用例集的類型分析技術:基於聚類的組合測試用例集分類技術和基於統計分布的組合測試用例集分類技術。在此基礎上,我們提出了通過分析組合測試用例集的類型來選擇合適的CTCP算法。當測試需求有約束的時候,有些CTCP算法就不適用,因此,我們通過大規模的實驗分析了當前CTCP的測試性能和測試效率,給出了基於測試需求的CTCP算法選擇準則。最後,我們設計並開發了組合測試用例優先排序算法及選擇策略原型系統,用以支持並實現所提出的方法。我們的研究豐富了組合測試用例優先排序的技術,進一步促進了組合測試和回歸測試的發展。