亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于加權(quán)屬性的測試用例選擇方法

文檔序號:6372834閱讀:324來源:國知局
專利名稱:基于加權(quán)屬性的測試用例選擇方法
技術(shù)領(lǐng)域
本發(fā)明屬于軟件測試技術(shù)領(lǐng)域,尤其是軟件測試中測試用例選擇領(lǐng)域,用于測試用例審查,是一種測試用例取樣技術(shù)。
背景技術(shù)
在軟件的測試過程中為了找出軟件中的錯誤,有時候開發(fā)者要人工審查大量的測試用例,判斷其是否執(zhí)行失敗。然后通過審查執(zhí)行失敗的測試用例幫助找到軟件中出錯的地方,繼而糾正錯誤。所以有時候軟件測試的開銷是非常巨大的,但這個開銷又是必須花費(fèi)的。 交互式測試結(jié)果審查推薦技術(shù)的目標(biāo)就是減少軟件測試過程中的人工開銷。該技術(shù)會自動的推薦最可能執(zhí)行失敗的測試用例給開發(fā)者審查,避免了開發(fā)者需要人工的逐個執(zhí)行每一個測試用例并檢查它是成功的還是失敗的。傳統(tǒng)的測試結(jié)果審查推薦技術(shù)的主要流程如下1執(zhí)行所有的測試用例,得到每一個測試用例的執(zhí)行剖面。執(zhí)行剖面就是軟件執(zhí)行過程中的使用的各種元素的序列,如語句,函數(shù),變量等的被使用情況。2對執(zhí)行剖面進(jìn)行聚類。3用不同的策略從每個類簇中挑選測試用例審查。這些策略統(tǒng)稱為簇取樣技術(shù)(cluster sampling).不同的測試用例推薦技術(shù)的主要區(qū)別在于從類簇中篩選測試用例的方法不同。最近已經(jīng)有對cluster sampling技術(shù)的研究把軟件錯誤定位的思想引入到了最后挑選測試用例審查的過程,這種技術(shù)被稱為基于執(zhí)行頻譜的測試用例取樣技術(shù)ESBS(Execution Spectra Based Strategy),這種 cluster sampling 技術(shù)其基本的思想如下:被越多的失敗的測試用例調(diào)用的軟件元素越可能存在錯誤。我們稱這種軟件元素為可疑元素。反過來使用可疑元素越多的測試用例越可能是失敗的測試用例。最理想的情況是聚類后失敗的測試用例和成功的測試用例被完全區(qū)分開,能引發(fā)相同錯誤的測試用例被放在同一個類簇中。引發(fā)不同錯誤的測試用例被放在不同的類簇中。在這種情況下,開發(fā)者只需要在每一個類簇中取極少數(shù)的測試用例審查就可以定位所有的錯誤。因?yàn)楝F(xiàn)有的聚類算法只能在一定程度上把失敗的測試用例放在相同的類中。所以這些技術(shù)雖然可以比檢查所有測試用例節(jié)省開銷,但是由于聚類精度不夠,即聚類不可能把所有的失敗測試用例和成功測試用例區(qū)分開來,在實(shí)際過程中開發(fā)者依然要審查大量的成功的測試用例。

發(fā)明內(nèi)容
本發(fā)明要解決的問題是傳統(tǒng)的測試結(jié)果審查推薦技術(shù)所采用的從類簇中篩選測試用例的方法精度不夠,在實(shí)際過程中開發(fā)者依然要審查大量的成功的測試用例來完成測試用例的選擇。本發(fā)明的技術(shù)方案為基于加權(quán)屬性的測試用例選擇方法,在實(shí)驗(yàn)程序上運(yùn)行所有的測試用例,獲得每個測試用例的執(zhí)行剖面,執(zhí)行剖面為測試用例在執(zhí)行過程中所調(diào)用的函數(shù)序列,函數(shù)序列的每一個函數(shù)作為測試用例的一個屬性,如果函數(shù)被調(diào)用則在序列中的值為I反之則為O,然后分析選出最可能失效的測試用例使用k-means聚類算法對執(zhí)行剖面進(jìn)行聚類,類簇個數(shù)為總測試用例個數(shù)的5%,聚類結(jié)束后在每一個類簇中應(yīng)用基于屬性權(quán)重的策略WAS技術(shù)不斷挑選出測試用例審查,挑選方法如下應(yīng)用錯誤定位技術(shù)根據(jù)每個函數(shù)被失敗或成功的測試用例執(zhí)行的次數(shù)和審查結(jié)果,不斷改變每個函數(shù)的分值,所打的分值即函數(shù)的權(quán)值,在所有的類簇都執(zhí)行過上述過程后,用每個函數(shù)的權(quán)值代替初始的執(zhí)行剖面中每個函數(shù)的值,用改變后的執(zhí)行剖面重新聚類,在新的聚類結(jié)果上進(jìn)一步挑選測試用例,分析選出最可能失效的測試用例?;趯傩詸?quán)重的策略WAS技術(shù)具體步驟如下 初始時每個函數(shù)的致信值都置為0,設(shè)定閾值CT為I,所有致信值小于I的函數(shù)都是可疑函數(shù),測試用例執(zhí)行的可疑函數(shù)的個數(shù)為測試用例的可疑值,I)測試用例選擇,即從k-means聚類算法聚類后得到的類簇中選出一個可疑值最大的測試用例,可疑值用來度量測試用例失效的可能性大??;2)函數(shù)致信值計算,先審查選中的測試用例是通過還是失效,然后分析函數(shù)序列的執(zhí)行信息,以函數(shù)作為程序執(zhí)行元素,計算每個程序執(zhí)行元素的致信值,以致信值度量每個元素失效的可能性,如果這個測試用例通過,則它調(diào)用的每一個函數(shù)的致信值加1,反之減I ;3)執(zhí)行錯誤定位技術(shù),實(shí)驗(yàn)程序的每一個函數(shù)被賦予4個屬性〈anp, anf, aep, aef>,它們表示了某一函數(shù)與測試用例失效或通過的關(guān)系anp :沒有執(zhí)行這個函數(shù)并且通過的測試用例個數(shù);anf :沒有執(zhí)行這個函數(shù)并且失效的測試用例個數(shù);aep :執(zhí)行這個函數(shù)并且通過的測試用例個數(shù);aef :執(zhí)行這個函數(shù)并且失效的測試用例個數(shù);如果選擇的測試用例通過,則每一個調(diào)用的函數(shù)aep+1,每一個沒有調(diào)用的函數(shù)anp+1 ;如果選擇的測試用例失效,每一個調(diào)用的函數(shù)aef+1,每一個沒有調(diào)用的函數(shù)anf+1 ;然后檢查選擇的測試用例個數(shù)是否達(dá)到事先設(shè)定的閾值TL,如果選擇的測試用例個數(shù)達(dá)到TL,執(zhí)行步驟4),否則執(zhí)行步驟5),其中設(shè)置TL為總測試用例個數(shù)的5% ;4)使用杰卡德排序標(biāo)準(zhǔn)(Jaccard ranking metric)計算函數(shù)權(quán)重Functionweight,如下
權(quán)利要求
1.基于加權(quán)屬性的測試用例選擇方法,其特征是在實(shí)驗(yàn)程序上運(yùn)行所有的測試用例,獲得每個測試用例的執(zhí)行剖面,執(zhí)行剖面為測試用例在執(zhí)行過程中所調(diào)用的函數(shù)序列,函數(shù)序列的每一個函數(shù)作為測試用例的一個屬性,如果函數(shù)被調(diào)用則在序列中的值為I反之則為O,然后分析選出最可能失效的測試用例使用k-means聚類算法對執(zhí)行剖面進(jìn)行聚類,類簇個數(shù)為總測試用例個數(shù)的5%,聚類結(jié)束后在每一個類簇中應(yīng)用基于屬性權(quán)重的策略WAS技術(shù)不斷挑選出測試用例審查,挑選方法如下應(yīng)用錯誤定位技術(shù)根據(jù)每個函數(shù)被失敗或成功的測試用例執(zhí)行的次數(shù)和審查結(jié)果,不斷改變每個函數(shù)的分值,所打的分值即函數(shù)的權(quán)值,在所有的類簇都執(zhí)行過上述過程后,用每個函數(shù)的權(quán)值代替初始的執(zhí)行剖面中每個函數(shù)的值,用改變后的執(zhí)行剖面重新聚類,在新的聚類結(jié)果上進(jìn)一步挑選測試用例,分析選出最可能失效的測試用例。
2.根據(jù)權(quán)利要求I所述的基于加權(quán)屬性的測試用例選擇方法,其特征是基于屬性權(quán)重的策略WAS技術(shù)具體步驟如下 初始時每個函數(shù)的致信值都置為0,設(shè)定閾值CT為I,所有致信值小于I的函數(shù)都是可疑函數(shù),測試用例執(zhí)行的可疑函數(shù)的個數(shù)為測試用例的可疑值, 1)測試用例選擇,即從k-means聚類算法聚類后得到的類簇中選出一個可疑值最大的測試用例,可疑值用來度量測試用例失效的可能性大??; 2)函數(shù)致信值計算,先審查選中的測試用例是通過還是失效,然后分析函數(shù)序列的執(zhí)行信息,以函數(shù)作為程序執(zhí)行元素,計算每個程序執(zhí)行元素的致信值,以致信值度量每個元素失效的可能性,如果這個測試用例通過,則它調(diào)用的每一個函數(shù)的致信值加1,反之減I ; 3)執(zhí)行錯誤定位技術(shù),實(shí)驗(yàn)程序的每一個函數(shù)被賦予4個屬性〈anp,anf,aep, aef >,它們表示了某一函數(shù)與測試用例失效或通過的關(guān)系 anp :沒有執(zhí)行這個函數(shù)并且通過的測試用例個數(shù); anf :沒有執(zhí)行這個函數(shù)并且失效的測試用例個數(shù); aep :執(zhí)行這個函數(shù)并且通過的測試用例個數(shù); aef :執(zhí)行這個函數(shù)并且失效的測試用例個數(shù); 如果選擇的測試用例通過,則每一個調(diào)用的函數(shù)aep+1,每一個沒有調(diào)用的函數(shù)anp+1 ;如果選擇的測試用例失效,每一個調(diào)用的函數(shù)aef+1,每一個沒有調(diào)用的函數(shù)anf+1 ;然后檢查選擇的測試用例個數(shù)是否達(dá)到事先設(shè)定的閾值TL,如果選擇的測試用例個數(shù)達(dá)到TL,執(zhí)行步驟4),否則執(zhí)行步驟5),其中設(shè)置TL為總測試用例個數(shù)的5% ; 4)使用杰卡德排序標(biāo)準(zhǔn)計算函數(shù)權(quán)重Functionweight,如下
3.根據(jù)權(quán)利要求I或2所述的基于加權(quán)屬性的測試用例選擇方法,其特征是每一次聚類結(jié)束后每個函數(shù)的致信值都重置為0,即在進(jìn)行函數(shù)致信值計算之前,每一個函數(shù)都是可疑函數(shù)。
全文摘要
基于加權(quán)屬性的測試用例選擇方法,在實(shí)驗(yàn)程序上運(yùn)行所有的測試用例,獲得每個測試用例的執(zhí)行剖面,執(zhí)行剖面為測試用例在執(zhí)行過程中所調(diào)用的函數(shù)序列,使用k-means聚類算法對剖面進(jìn)行聚類,聚類結(jié)束后在每一個類簇中應(yīng)用基于屬性權(quán)重的策略挑選出測試用例審查,選出最可能失效的測試用例。本發(fā)明作為一種改進(jìn)交互式測試結(jié)果審查推薦技術(shù),引入了軟件錯誤定位技術(shù),通過改變執(zhí)行剖面中屬性的權(quán)重,使得和錯誤相關(guān)的屬性的權(quán)重更大,使得聚類過程能更好的把失敗的測試用例聚在一起,從而使得測試人員只要檢測較少的測試用例就可以發(fā)現(xiàn)更多的失敗的測試用例。
文檔編號G06F17/30GK102831055SQ20121023186
公開日2012年12月19日 申請日期2012年7月5日 優(yōu)先權(quán)日2012年7月5日
發(fā)明者陳振宇, 汪亞斌, 馮洋, 駱斌, 楊宜杰 申請人:陳振宇
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1