李佳婧 蘇小紅 馬培軍 龔丹丹
摘要: 已有的面向錯誤定位的測試用例選擇方法大多數(shù)僅考慮了測試用例的語句覆蓋信息,不能為錯誤定位選擇合適的測試用例,從而導(dǎo)致不能有效提高錯誤定位的準(zhǔn)確性。針對這一問題,提出了一種新的測試用例選擇方法。文中方法分析了測試用例的執(zhí)行路徑信息,根據(jù)測試用例動態(tài)執(zhí)行時的分支特征,采用分支聚類方法對測試用例進行選擇。實驗表明,提出的方法可以有效減少測試用例數(shù)量,降低錯誤定位的復(fù)雜度,并提高錯誤定位的準(zhǔn)確性。
關(guān)鍵詞:
中圖分類號:TP311文獻標(biāo)識碼:A文章編號:2095-2163(2012)05-0016-04
0引言
隨著人們?nèi)粘I顚τ嬎銠C軟件的需求不斷增長,軟件系統(tǒng)的規(guī)模和復(fù)雜度也在不斷攀升,而對大規(guī)模復(fù)雜系統(tǒng)的測試和維護等需求超出了目前的測試與維護技術(shù)能力,因此也就出現(xiàn)了許多與軟件失效相關(guān)的事故,并且大多數(shù)的失效都是由于軟件錯誤導(dǎo)致的。軟件發(fā)生失效后,如何找到引發(fā)失效的錯誤位置或引發(fā)失效的原因,就是錯誤定位?眼1-4?演問題。而軟件錯誤定位算法的復(fù)雜度高,并且冗余的測試用例會影響軟件錯誤定位的準(zhǔn)確性。為了降低錯誤定位的復(fù)雜度,提高錯誤定位的準(zhǔn)確性,對如何選擇有利于實現(xiàn)錯誤定位的測試用例開展研究則具有重要意義。傳統(tǒng)的測試用例選擇方法多數(shù)是面向軟件測試的需求,追求的是測試的充分性,而面向錯誤定位的測試用例選擇方法則是側(cè)重于選擇對錯誤定位有效的測試用例。所以面向軟件測試需求選擇得到的測試用例集合并不完全適用于錯誤定位,甚至有些冗余的測試用例還會影響到軟件錯誤定位的準(zhǔn)確性。為了提高錯誤定位的準(zhǔn)確性并且降低其復(fù)雜度,研究面向錯誤定位的測試用例選擇方法是極其重要的。
目前,面向軟件錯誤定位需求的測試用例選擇方法的研究也逐漸增多。如Renieris?眼5?演等提出“近鄰模型”,該模型的主要思想是在失效測試用例的鄰域附近選擇成功測試用例,利用