(論文翻譯)一個(gè)對減少測試套件在故障定位的影響的實(shí)證研究_第1頁
(論文翻譯)一個(gè)對減少測試套件在故障定位的影響的實(shí)證研究_第2頁
(論文翻譯)一個(gè)對減少測試套件在故障定位的影響的實(shí)證研究_第3頁
(論文翻譯)一個(gè)對減少測試套件在故障定位的影響的實(shí)證研究_第4頁
(論文翻譯)一個(gè)對減少測試套件在故障定位的影響的實(shí)證研究_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、一個(gè)對減少測試套件在故障定位的影響的 實(shí)證研究Yanbing Yu James A. Jones Mary Jean H 計(jì)算機(jī)學(xué)院佐治亞理工學(xué)院佐治亞州亞特蘭大,U.S.A.摘要故障定位技術(shù)利用信息在測試套件中的所有測試案例已經(jīng)被提出。這些技術(shù)使用各種方法來識別可能的故障部分程序,基于關(guān)于程序與測試套件的執(zhí)行信息。研究人員已經(jīng)開始調(diào)查組成測試套件對這些故障定位的有效性技術(shù)的影響。在這篇論文里,我們展示在第一個(gè)實(shí)驗(yàn)一個(gè)方面的測試套件的組成-測試套件的減縮。我們的實(shí)驗(yàn)研究故

2、障定位技術(shù)的有效性測試套件減縮的影響。在我們的實(shí)驗(yàn)中,我們應(yīng)用10個(gè)測試套件減縮的戰(zhàn)略來測試八個(gè)項(xiàng)目程序的套件。然后,我們測試了四個(gè)留下的運(yùn)用故障定位技術(shù)的未經(jīng)減縮和減縮過的測試套件。我們也測量在測試套件大小減少10個(gè)測試套件減縮戰(zhàn)略。我們的實(shí)驗(yàn)由此可見,故障定位的有效性取決于對測試套件的削減戰(zhàn)略使用的,它說明之間的測試套件減縮和故障定位的成效。分類和主題描述 D.2.5軟件工程:測試和調(diào)試一般條款實(shí)驗(yàn),可靠性關(guān)鍵詞故障定位,測試套件減縮,實(shí)證研究1。引言軟件調(diào)試后,已是一項(xiàng)昂貴的部分失敗在軟件開發(fā)過程。要確定故障位置,引起了故障,軟件開發(fā)人員經(jīng)常使用手冊和繁瑣的方法。在有限的診斷技術(shù),如插入

3、打印語句之中,代碼和使用符號調(diào)試器,發(fā)現(xiàn)故障,或故障定位,往往能消耗大量時(shí)間和資源。為了解決故障定位,研究人員費(fèi)用提出了自動(dòng)故障定位技術(shù)。這些技術(shù)通常使用的動(dòng)態(tài)信息索取執(zhí)行程序開發(fā)人員關(guān)注可能直接錯(cuò)誤的地點(diǎn),因此,降低了搜索代價(jià)。這些故障定位技術(shù),許多使用信息關(guān)于這個(gè)標(biāo)識的(例如,1,12,13,14)測試用例的測試套件的執(zhí)行。隨著passed /failed該測試套件的執(zhí)行結(jié)果,這些技術(shù)是根據(jù)一些報(bào)道有關(guān)的信息類型測試套件的執(zhí)行。我們稱這些報(bào)道為基礎(chǔ)的故障定位技術(shù)。研究表明,這些技術(shù)可減少故障定位的費(fèi)用由有幫助減少了程序的百分比,必須進(jìn)行檢查,發(fā)現(xiàn)故障(例如,6,11,16)。一個(gè)問題涉及到

4、這些報(bào)道為基礎(chǔ)的故障定位技術(shù)是效果,該測試套件的組成 對故障定位。迄今為止,一些研究人員已經(jīng)開始調(diào)查的方式,組成 測試套件的影響了故障定位的有效性技術(shù)。最近的兩個(gè)文件報(bào)告的影響研究 增加對故障定位所用的測試套件的大小。阿布雷烏和同事隨機(jī)選擇的測試套件 不同數(shù)量的passed和failed的測試用例。對于他們的 故障定位技術(shù)和學(xué)科課程和測試套件,他們發(fā)現(xiàn),其中超過6失敗 測試用例或通過二十多個(gè)測試案例產(chǎn)生 對故障定位的有效性影響不大 技術(shù)。然而,他們沒有給上找到的passed和failed的測試情況下,這些邊界的一般方法。博德里通過有選擇地增加和他的同事加入測試用例的測試套件的大小。他們定義一個(gè)

5、動(dòng)態(tài)的基本作為該區(qū)塊是由同一組語句覆蓋測試 案件。使用測試用例生成,測試他們提出的保留 案件增加的動(dòng)態(tài)基本塊的數(shù)量和 丟棄測試用例沒有。他們發(fā)現(xiàn),增加了動(dòng)態(tài)基本塊的數(shù)量增加了故障定位技術(shù)的有效性。這些都不技術(shù),但是,考慮如何消除從測試用例 測試套件會(huì)影響故障定位。最近的一個(gè)文件并考慮減少測試套件。浩和他的同事斷定該測試情況相似或裁員導(dǎo)致的故障定位效率的損失。他們完成了一項(xiàng)實(shí)證研究表明,注射冗余可以損害一個(gè)故障定位技術(shù)的有效性。他們的研究結(jié)果表明,減少可能提高有效性。我們的初步結(jié)果這個(gè)結(jié)果相矛盾我們發(fā)現(xiàn),沒有額外的冗余,在一般情況下,減少故障定位技術(shù)的有效性。為了解決測試套件的組成這些問題,我們

6、有開始一個(gè)項(xiàng)目,將考慮組成測試套件不同的方法。在本文中,我們提出我們的結(jié)果第一個(gè)實(shí)驗(yàn)的測試套件組成,其中我們調(diào)查的效果,測試套件減少戰(zhàn)略上的故障定位技術(shù)的有效性。在實(shí)驗(yàn)中,我們用10測試套件的減貧戰(zhàn)略和現(xiàn)有四個(gè)故障定位技術(shù),以及一組方案,包含單個(gè)和多個(gè)故障,和一個(gè)大數(shù)的測試套件。我們的實(shí)驗(yàn)表明取舍之間存在的測試套件減少和故障定位有效性。我們的實(shí)驗(yàn)還表明,在一般情況下,現(xiàn)有的測試套件減少戰(zhàn)略減少故障定位技術(shù)的有效性。在論文中,我們還提出了一種新的測試套件的減貧戰(zhàn)略,并表明,為我們的主題方案和測試套件,它會(huì)導(dǎo)致在四個(gè)故障定位效果的影響可以忽略不計(jì)技術(shù)。本文的主要貢獻(xiàn)是:1. 第一個(gè)控制實(shí)

7、驗(yàn)(我們的知識)的評估的測試套件減少效益上故障定位的有效性,同時(shí)使用單相和多故障的程序。2.一個(gè)新的測試套件的減貧戰(zhàn)略的描述,隨著經(jīng)驗(yàn)的證據(jù)表明,他們保持故障定位的有效性在降低測試套件。3.有證據(jù)表明違反現(xiàn)有的報(bào)告聲稱在測試套件冗余是一種錯(cuò)誤源故障定位。2。技術(shù)研究在本節(jié)中,我們提出了相關(guān)測試套件減少戰(zhàn)略和故障定位技術(shù),我們使用我們的實(shí)驗(yàn)。2.1測試套件減少2.1.1測試套件減少概述測試套件減少識別技術(shù)的一個(gè)子集測試套件,保持一些測試套件的特點(diǎn),作為覆蓋面等。這些實(shí)體的覆蓋測量(即,覆蓋實(shí)體)被稱為測試用例的要求。對于例如,測試用例的要求可能是一個(gè)程序的語句,分支,或系統(tǒng)的要求。鑒于這種集測試

8、用例的要求,測試套件減少問題陳述如下:鑒于:測試套件TS,一個(gè)測試用例要求設(shè)置R1,R2,. . Rn必須滿足,以提供所需的測試覆蓋的方案,并且TS,T1,T2,.Tn,與RIS,這樣每個(gè)關(guān)聯(lián)的任何一個(gè)Tj的測試案例屬于Ti可以用于測試?yán)?。問題:尋找從TS代表的測試用例集能夠滿足所有的RIS。一個(gè)測試套件,滿足所有RiS必須至少包含一個(gè)每個(gè)測試案例Ti。這樣的設(shè)置被稱為擊中集Ti。最大限度的降低是實(shí)現(xiàn)了與最低基數(shù)擊中的TiS。由于發(fā)現(xiàn)的最小基數(shù)擊中集問題是棘手的,測試套件減少技術(shù)必須近似的最小基數(shù)。的算法已被開發(fā)用于測試套件減少使用(例如,5,8,9,15)。 2.1.2測試套件的減貧戰(zhàn)略該測

9、試套件的減貧戰(zhàn)略,我們?yōu)槲覀兊膶?shí)驗(yàn)中使用的有兩個(gè)方面:(1)測試用例的要求用于減少和(2)測試儀正在考慮減少。為了我們的測試套件的減貧戰(zhàn)略的第一個(gè)維度,我們考慮兩個(gè)測試用例要求在其上應(yīng)用降低:基于語句和矢量為基礎(chǔ)的?;谡Z句的減少(縮寫為S),一個(gè)經(jīng)常使用的測試套房減貧戰(zhàn)略(例如,8),作為它的目標(biāo)是產(chǎn)生減少測試套件,執(zhí)行同一組語句如未經(jīng)扣減的測試套件。因此,這一戰(zhàn)略的測試用例要求在程序中的語句。為了說明這一點(diǎn),考慮的方案和測試套件顯示圖1。程序mid()輸入三個(gè)整數(shù)和輸出三個(gè)整數(shù)的中間值。要權(quán)代碼是關(guān)于八個(gè)測試用例的測試套件的更多信息:輸入在每一列的頂部顯示,覆蓋面所表現(xiàn)出的黑點(diǎn),并pass

10、ed /failed狀態(tài)顯示在列的底部。到了正確的測試套件有相關(guān)的故障定位數(shù)列,這些列將在2.2節(jié)中所述。對于語句的減少,測試用例要求陳述S1,S2, S13,并且測試套件涵蓋所有報(bào)表顯示除了S12?;谡Z句的減少可能導(dǎo)致t1,t2,t3,t4因?yàn)檫@種測試套件的子集也包括在除S12(即程序中的所有語句,它滿足相同的測試情況的要求)。在這種情況下,t5,t6,t7,和t8提供超過t1, t2, t3, t4沒有額外的語句覆蓋。不止一個(gè)降低測試套件能滿足相同如未經(jīng)扣減測試套件的測試情況的要求。對于我們的例如,測試套件t1, t2, t3, t4, t5,t2, t3, t4, t7,和t2, t3

11、, t4, t5, t7也減少測試套件,滿足相同的測試情況下的要求,在未經(jīng)扣減的測試套件。Vector-based的簡寫(縮寫為V),我們的新的測試套件的削減戰(zhàn)略,作為它的目標(biāo)是產(chǎn)生一個(gè)減少測試套件,執(zhí)行相同的語句設(shè)定為載體對未經(jīng)扣減的測試套件。一個(gè)statement vector的設(shè)置語句執(zhí)行一個(gè)測試案例。為了說明這一點(diǎn),考慮再次計(jì)劃和測試套件如圖1所示。對于基于矢量的減少,測試用例的要求是在程序語句載體。測試用例t1,t7和t8每次執(zhí)行語句矢量<s1, s2, s3, s4, s6, s7, s13>。因此,要保持載體的覆蓋面,這些測試案例之一必須在任何降低測試套件?;谑噶康?/p>

12、減少可能導(dǎo)致測試套件t1,t2,t3,t4,t5。在這種情況下,t6,t7和t8提供任何額外的載體覆蓋率超過 t1,t2,t3,t4,t5。對于這個(gè)例子,也有其他減少測試套件,如t2, t3, t4, t5, t7和t2, t4, t5, t6, t8,滿足相同的測試情況下的要求,對未經(jīng)扣減的測試套件。 為了我們的測試套件的減貧戰(zhàn)略的第二個(gè)方面,我們考慮在測試套件測試案例集其上減少執(zhí)行。我們應(yīng)用到五年的測試套件的測試集類型的減少:(1)all,(2)passed,(3)failed,(4)passed和failed,以及(5)所有與偏愛失敗。第一個(gè)且最為傳統(tǒng)的測試集包括在測試套件中的所有測試案

13、例,或全部。對于此測試設(shè)置,在測試套件中的所有測試案例被認(rèn)為是同樣在減少。第二個(gè)測試集由全部通過在測試套件的測試情況下,或通過。對于此測試集,減少執(zhí)行只在通過測試的情況下,無減少失敗的測試用例。第三個(gè)測試集包括失敗的測試用例,或失敗。對于這種測試裝置,減少執(zhí)行的測試失敗的情況下,沒有減少對通過測試的情況。第四個(gè)測試集由集傳遞和失敗的測試案例,或passed與failed。對于此測試集,每個(gè)測試組病例通過,失敗減少孤立,然后減少集相結(jié)合,形成了降低測試套件。第五測試儀整個(gè)測試套件包括與減少偏好給失敗的測試用例,或所有與失敗的偏愛。對于這種測試裝置,減少執(zhí)行的,只是像所有的方法只要通過測試案例和失

14、敗測試用例是在降低測試保持相等的候選人套件,測試失敗的情況下被選中。結(jié)合兩個(gè)維度測試情況的要求和測試集正在考慮10測試套件的結(jié)果減貧戰(zhàn)略。簡短的縮寫表達(dá)每個(gè)戰(zhàn)略說明會(huì)顯示在下面。SA:基于語句的所有測試案例的減少;SP:基于語句只通過測試用例減少;SF:基于語句僅在失敗的測試用例減少;SPF:基于語句的上都過去了,沒有減少在隔離的測試案例;SR:基于語句與失敗的測試用例偏好所有測試用例減少;VA:基于矢量的所有測試案例的減少;VP:矢量為基礎(chǔ)的測試用例只通過減少;VF:基于矢量的只有失敗的測試用例減少;VPF:向量的基礎(chǔ)上同時(shí)通過減少和失敗的測試?yán)綦x;VR:向量的基礎(chǔ)上同所有測試用例優(yōu)先減少

15、失敗的測試用例;為了說明這策略,再來考慮方案在圖1的測試套件。表1顯示,每個(gè)測試套件減貧戰(zhàn)略,一個(gè)可能減少的結(jié)果。表1:MID()測試套件減少的結(jié)果。2.2故障定位技術(shù)研究人員已經(jīng)提出了提供援助,以尋找自動(dòng)化的技術(shù)開發(fā)人員數(shù)故障。許多使用這些技術(shù)覆蓋信息約一個(gè)測試套件,以確定可能的故障部分(S)程序(例如,2,6,12,13,14,16)。本節(jié)介紹對這些報(bào)道為基礎(chǔ)的故障定位概述四技術(shù),我們在實(shí)驗(yàn)中使用。2.2.1 Tarantula在以前的工作,我們呈列一份覆蓋面為基礎(chǔ)的技術(shù),稱為Tarantula。Tarantula分配兩個(gè)指標(biāo)中的每個(gè)程序覆蓋實(shí)體- suspiciousness和confi

16、dence -基于passed和failed的測試數(shù)目在一個(gè)測試套件的執(zhí)行案件,覆蓋實(shí)體Tarantula可以適用于各種覆蓋的實(shí)體,如作為分支機(jī)構(gòu),語句和變量。不過,在這討論中,我們使用的覆蓋面實(shí)體聲明。該Tarantula背后的度量直覺故障定位是,在一個(gè)主要執(zhí)行程序語句由失敗的測試用例更可能會(huì)比那些有問題這主要是由通過執(zhí)行測試用例。一個(gè)語句S suspiciousness的計(jì)算方法在公式1中 failed(S)是一個(gè)函數(shù),返回時(shí),作為一個(gè)百分比,對數(shù)比失敗的測試用例該執(zhí)行s到失敗的測試用例在測試數(shù)套件。 passed(S),同樣,是一個(gè)函數(shù),作為回報(bào),百分比,對通過測試的個(gè)案比率執(zhí)行s到傳遞

17、測試用例在測試數(shù)套件。如果在這個(gè)比例的分母是零,Tarantula指定零suspiciousness。而suspiciousness的范圍從0,表明一個(gè)說法是不可疑,1,聲明指出,是非??梢伞T揷onfidence指標(biāo)是為了衡量程度在給定的suspiciousness的confidence。Tarantula技術(shù)賦予更大的confidence語句涵蓋更多的測試案例。語句的confidence的計(jì)算方法使用被測suspiciousness和confidence,Tarantula的各種技術(shù)方案的覆蓋面實(shí)體每個(gè)語句提供了一個(gè)等級。該技術(shù)首先排序?qū)档兔髂昱判騭uspiciousness,和休息的關(guān)

18、系在減少的confidence。對于具有相同并列陳述suspiciousness和confidence,這項(xiàng)技術(shù)為它們分配一個(gè)作為并列陳述的等級和數(shù)量的總和語句數(shù)排名面前集聲明具有最高級別的,應(yīng)考慮由開發(fā)商故障時(shí),首先搜索。如果在審查這些報(bào)表,故障是沒有找到,開發(fā)人員可以檢查,以便對其余的語句降低職級。 為了說明Tarantula技術(shù),考慮前在圖1充裕。Tarantula suspiciousness,confidence,并為每個(gè)語句所產(chǎn)生的排名中顯示到測試套件的右列。該計(jì)劃包含第7行故障此行應(yīng)為 M= X;” 。根據(jù)由猜疑和confidence引起的排名,開發(fā)商將首先把重點(diǎn)放在引導(dǎo)線7注意

19、,因?yàn)樗蔷哂凶罡呒墑e聲明。2.2.2統(tǒng)計(jì)錯(cuò)誤隔離(SBI)Liblit和他的同事提出了類似的技術(shù),所謂統(tǒng)計(jì)錯(cuò)誤隔離(SBI)的計(jì)算一個(gè)謂詞P suspiciousness,他們稱之為failed。隨著假設(shè),即P的概率是真意味著失敗,他們計(jì)算的P衰竭在傳遞(P)是通過測試個(gè)案數(shù)目P是觀察到真正的和失敗的(P)是失敗的數(shù)量測試中,P是觀察到的真實(shí)情況。為了促進(jìn)各Tarantula,SBI比較,以及其他故障定位技術(shù),我們調(diào)整公式3計(jì)算語句的s或失效(S)suspiciousness通過考慮是否要謂詞s是執(zhí)行。在適應(yīng)方程,passed(S)是通過數(shù)測試執(zhí)行的s,failed(S)是未通過數(shù)測試執(zhí)行的

20、s,我們把這個(gè)故障作為suspiciousness S。鑒于suspiciousness S為每個(gè)語句計(jì)算值,在計(jì)算排名第2.2.1節(jié)所述。履行機(jī)構(gòu)還使用其他指標(biāo),背景和增加。操作方法然而,在這一技術(shù)的應(yīng)用,聲明覆蓋無選擇性抽樣謂詞觀察,這些指標(biāo)沒有影響力的排名。 為了說明SBI的技術(shù),再考慮圖1中的示例。SBI suspiciousness和職級列到了Tarantula結(jié)果的右側(cè)列。2.2.3 Jaccard在最近的工作,阿布雷烏和他的同事比較塔蘭-圖拉的suspiciousness與指標(biāo)言的Jaccard其診斷的準(zhǔn)確性。的Jaccard指數(shù)的,也稱為的Jaccard相似系數(shù)為,是用于度量比

21、較的樣本集的相似性和多樣性。該方程中的Jaccard文獻(xiàn)使用,可以表示為其中passed(S)和failed(S)是如公式4相同,totalfailed是失敗的測試用例數(shù)測試套件。鑒于suspiciousness J值計(jì)算每個(gè)語句,排名計(jì)算中所述第2.2.1節(jié)。圖1顯示的Jaccard suspiciousness和職級。2.2.4落合 在最近的工作,阿布雷烏和他的同事也比較Tarantula的suspiciousness與落合系數(shù),它起源于分子生物學(xué)領(lǐng)域。該對于落合方程可以表示為其中passed(S),failed(S),并totalfailed是相同公式5。鑒于suspiciousness

22、 O值計(jì)算每個(gè)語句,排名計(jì)算中所述第2.2.1節(jié)。圖1顯示了落合suspiciousness和職級。3。實(shí)驗(yàn) 為了理解的測試套件不同類型的影響在故障定位減貧戰(zhàn)略,我們進(jìn)行了實(shí)驗(yàn)。在本節(jié)中,我們首先描述研究變量和措施。然后,我們描述的對象為分析。最后,我們討論了我們的實(shí)驗(yàn)細(xì)節(jié)設(shè)置。3.1變量和措施 我們的主要目的是調(diào)查各種測試套件對故障定位的有效性減少戰(zhàn)略電子學(xué)分。我們的實(shí)驗(yàn)操作兩個(gè)獨(dú)立變量:測試套件的減貧戰(zhàn)略來減少測試套件和故障定位技術(shù),用來排名在主題方案陳述。在減貧戰(zhàn)略被描述在第2.1.2和故障定位技術(shù)是在2.2節(jié)中所述??傊覀儑L試使用10測試套件的減貧戰(zhàn)略和四種故障定位技術(shù),在40個(gè)配

23、對結(jié)果。對于每一個(gè)測試套件配對和減貧戰(zhàn)略故障定位技術(shù),我們測量兩個(gè)因變量:在測試套件大小的百分比減少在對故障定位的費(fèi)用增加。百分比在測試套件的大小減少是衡量計(jì)算的測試套件,以減少其未經(jīng)扣減的測試套件的大小比例。該指標(biāo),我們稱之為減少,是由下列公式計(jì)算。該故障定位技術(shù)的有效性是衡量該計(jì)劃的百分比,必須進(jìn)行檢查,以查找故障,如果使用規(guī)定的等級給予故障定位技術(shù)。該指標(biāo),我們稱之為費(fèi)用,是由下列公式計(jì)算。等效公制最初提交Renieris和賴斯和許多其他研究人員使用(例如,6,11,14,對于方案中包含多個(gè)故障,我們計(jì)算的第一個(gè)故障被發(fā)現(xiàn)的費(fèi)用,因?yàn)檫@將涉及到第一個(gè)錯(cuò)誤,開發(fā)人員將開始修復(fù)。 為了研究測

24、試套件上減少故障定位的影響,我們計(jì)算費(fèi)用的增加,這是之間的差異計(jì)算的費(fèi)用減少測試套件和測試計(jì)算的未經(jīng)扣減的費(fèi)用套件,其中一個(gè)正費(fèi)用的增加意味著減少傷害故障定位而負(fù)費(fèi)用的增加意味著削減福利故障定位。使用費(fèi)用的增加(這是程序的一個(gè)百分比)使我們能夠正?;姆桨赶鳒p效果不同的大小。3.2分析對象我們用來作為分析的對象(見表2)8個(gè)C程序。每個(gè)項(xiàng)目都有一個(gè)版本,每個(gè)包含一個(gè)故障等。每個(gè)程序也有一個(gè)大的宇宙投入。我們使用這些C程序,因?yàn)樗麄円呀?jīng)以往許多故障定位研究中使用(例如,1,6,11,14)。程序print_tokens,print_tokens2,更換,時(shí)間表,schedule2,TCAS和to

25、t_info,再加上他們版本和投入,為聚集在西門子公司研究了故障檢測能力的研究控器流和數(shù)據(jù)流覆蓋準(zhǔn)則10??臻g方案是由歐洲航天局。一個(gè)測試空間構(gòu)建了一套從10,000測試用例隨機(jī)生成的Vokolos和弗蘭克17和3585測試的研究人員創(chuàng)造了亞里士多德的研究案例集團(tuán)3。每個(gè)西門子程序的版本,每個(gè)空間程序的原始版本包含一個(gè)故障,雖然故障可能跨越多個(gè)語句或甚至功能。除了單一故障的版本,我們隨機(jī)產(chǎn)生的故障注入其10210 3版本和故障故障的太空計(jì)劃版本到原來的版本即視為無版本故障|正確的版本。相結(jié)合,有190錯(cuò)誤的版本。在這些版本中,我們可以使用169版本。兩個(gè)版本4和6中沒有語法print_toke

26、ns從程序的正確版本的差異C文件中有一個(gè)頭文件唯一的區(qū)別。在八個(gè)32版的更換版本,版本schedule29和版本1,2,3,12,32和34的空間沒有測試案例失敗,因而故障從來沒有表現(xiàn)出來。在11個(gè)版本10版的print_token2,更換版本,版本275,6和附表9和版本25,26,30,35,36,和空間38 測試用例失敗,因?yàn)橐粋€(gè)段錯(cuò)誤。因此,我們無法使用這11個(gè)版本我們的實(shí)驗(yàn)。取出后的21個(gè)版本,我們剩下的169版本。3.3實(shí)驗(yàn)裝置 我們應(yīng)用了10個(gè)測試套件的減貧戰(zhàn)略和 四種故障定位技術(shù),我們的169版本 計(jì)劃和測試套件。本節(jié)介紹 方式,我們成立了實(shí)驗(yàn)應(yīng)用測試包減貧戰(zhàn)略和故障定位技術(shù),

27、我們使用。 我們用三個(gè)步驟來設(shè)置實(shí)驗(yàn)。首先, 這些節(jié)目以模擬實(shí)際大小的測試套件 并嘗試不同的組合測試套件, 對于每一個(gè)版本的169,我們隨機(jī)生成10 來自50個(gè)測試案例包含不同大小的測試套件 500增加了50測試套件大小測試用例 每次測試案例。這個(gè)過程1, 690(169* 10)從50到500大小的測試套件。為了提供在許多測試套件平均,我們重復(fù)了第一 步100次,造成169, 000(1,690* 100)測試 套房。我們利用這些169,000人的未減數(shù)測試套件 測試套件。其次,我們采用了10減貧戰(zhàn)略 從2.1.2節(jié)的未減數(shù)的測試套件。這給了 我們1,690,000(169,000* 10)

28、減少測試套件。包括169,000 1未經(jīng)扣減的測試套件,690,000 減少測試套件造成1,859,000大小不同的測試套件。第三,我們采用的四個(gè)故障定位技術(shù),以1, 859, 000測試套件并記錄 7,436,000(1,859,000* 4)故障定位結(jié)果為分析。3.3.1生成不減少的測試套件 每個(gè)我們所使用的主題程序的版本有大型試驗(yàn)池。我們把整個(gè)測試池作為輸入并應(yīng)用了以下過程隨機(jī)生成不減少的測試套件。 1。我們從測試案例池隨機(jī)選擇了一個(gè)失敗的測試,以確保生成的測試套件至少有一次失敗的測試案例。 2。我們從測試的測試案例庫隨機(jī)選擇了一個(gè)測試(不考慮它的通過/失敗狀態(tài)),反復(fù)這個(gè)過程,直到我們

29、得到所需的數(shù)字(例如,50;100·······)。每次一個(gè)測試用例被選中,我們標(biāo)記它,確定它部不會(huì)被重復(fù)選擇。 3.3.2應(yīng)用削減策略 對于未削減的169000測試套件,我們使用以下過程來實(shí)施五項(xiàng)基于削減策略的聲明。1。我們標(biāo)記所有的狀態(tài)為“未覆蓋的”和所有的測試案件為“未選中。”2。對于每一個(gè)“未選中”的測試案例,我們計(jì)算了它包含的“未覆蓋”的狀態(tài)數(shù)目。3。我們首先標(biāo)記(如果有多個(gè))測試案例所遇到包含的最大數(shù)量“選擇”狀態(tài),我們把它所有包含的狀態(tài)標(biāo)記為“覆蓋”。4。重復(fù)步驟1-3,直到我們有沒有剩余“未選中”的案例包含有

30、“未覆蓋”的狀態(tài)。5。我們認(rèn)為,所有“選擇”測試案例都作為減少測試套件的成員。 同樣,對于每169000未經(jīng)削減的測試套件,我們使用以下過程來實(shí)施基于矢量削減策略。 1。我們重復(fù)對在測試套件的測試情況下,對每個(gè)測試案例進(jìn)行檢查,我們是否已經(jīng)遭遇這種精確的狀態(tài)(或載體)被另一個(gè)案例所覆蓋。如果我們之前沒有遇到,我們?yōu)樗鼊?chuàng)建一個(gè)箱并且測試用例放置在該箱。如果我們遇到過,我們把它放入在匹配的箱中。 2。我們隨機(jī)抽取每個(gè)容器一個(gè)測試用例。被選中的測試包括減少的測試套件。 特別,對于策略SA和VA,我們隨機(jī)選擇了一個(gè)失敗的測試用例RST,以確保減少測試套件至少有一個(gè)失敗的測試案例。否則,故障定位可能不需

31、要或應(yīng)用。 數(shù)據(jù)和分析 在本節(jié)中,我們描述了我們的實(shí)驗(yàn)結(jié)果,總結(jié)和解釋數(shù)據(jù),并討論了實(shí)驗(yàn)的有效性的威脅,以及我們?nèi)绾谓鉀Q它們。 4.1實(shí)驗(yàn)結(jié)果 我們組織的實(shí)驗(yàn)結(jié)果演示在下面的方式。我們首先檢查所有10個(gè)影響對故障定位一個(gè)測試套件的減貧戰(zhàn)略技術(shù) - -Tarantula。第4.1.1節(jié)給出的結(jié)果的方式,運(yùn)用了10個(gè)測試套件的減貧戰(zhàn)略每個(gè)影響蜘蛛的故障定位的有效性。接下來我們目前所取得的每減少10個(gè)測試套件減少技術(shù)。這些結(jié)果重要,因?yàn)樗鼈儽砻鳎瑴p少的大小和未經(jīng)扣減測試套件不同。第4.1.2節(jié)介紹這些測試套件減少的結(jié)果。根據(jù)對第4.1.1和4.1.2的結(jié)果,我們選擇了兩個(gè)策略,減少都是別人的代表,介

32、紹他們對每四個(gè)故障定位技術(shù)。第4.1.3介紹了這些結(jié)果。最后,在第4.1.4節(jié)中,我們展示了面積減少的測試套件由兩個(gè)代表為主體的每項(xiàng)計(jì)劃削減戰(zhàn)略。 4.1.1對 Tarantula開支增加 表3顯示了使用費(fèi)用增加 Tarantula的故障定位技術(shù)在所有的10個(gè)測試案例八個(gè)單一故障方案減貧戰(zhàn)略。在表中,行代表的主體計(jì)劃和列表示測試套件的減貧戰(zhàn)略使用他們的縮寫。表中的每個(gè)條目代表的意思費(fèi)用(見公式8)增加了對未經(jīng)扣減的計(jì)算基準(zhǔn)測試套件費(fèi)用。平均計(jì)算了該方案的所有版本,在所有100迭代,并在所有10個(gè)不同大小的測試套件。例如,對于更換,在支出平均增幅比對測試套件的削減戰(zhàn)略SP未經(jīng)扣減測試套件3.95

33、8。表中最后一行是一個(gè)總結(jié)匯總以上所有版本,并計(jì)算為過的所有程序的所有版本的意思是,在所有100次迭代,超過所有10個(gè)不同大小的測試套件。 該表顯示,所有聲明為基礎(chǔ)的減貧戰(zhàn)略招致比基于矢量的更大的開支增加戰(zhàn)略。雖然有少數(shù)例外使用SP策略,鋪天蓋地的趨勢是,這些聲明的削減戰(zhàn)略造成的費(fèi)用增加。這意味著,我們的主題節(jié)目,如果一個(gè)測試套件減少使用基于語句的策略,故障定位技術(shù)幾乎總是表現(xiàn)較差。其中基于語句的削減戰(zhàn)略,為我們的主題研究,在所有的測試組合減少與失敗的偏愛(SR)導(dǎo)致在故障定位開支增幅最大,并在所有失敗的測試用例(SF)減少導(dǎo)致至少增加開支。其中矢量為基礎(chǔ)的減貧戰(zhàn)略,減少對未經(jīng)扣減任何測試套件

34、顯示了對故障定位的影響可以忽略不計(jì)代價(jià)。這意味著,我們的主題節(jié)目,如果一個(gè)測試套件減少使用矢量為基礎(chǔ)的戰(zhàn)略,故障定位技術(shù)幾乎總是執(zhí)行相同的。我們也看到該矢量為基礎(chǔ)的戰(zhàn)略,減少對失敗的測試?yán)╒F)即被平均增幅最大,并在所有的測試案例減少與偏愛失?。╒R)的原因在故障定位的費(fèi)用至少增加。事實(shí)上,在許多版本和方案,總體而言,減少基礎(chǔ)在VR戰(zhàn)略導(dǎo)致在故障定位減少技術(shù)的花費(fèi),盡管我們注意到,這是減少小,并不總是存在。 4.1.2減少的百分比表4顯示了在大小比例減少測試套件使用了10個(gè)測試組合的削減戰(zhàn)略。如表3,行代表的主體計(jì)劃和列代表測試套件使用削減戰(zhàn)略它們的縮寫。表中的每項(xiàng)為平均對從未經(jīng)扣減測試使用

35、指定的策略套件測試套件的百分比下降。例如,對于更換,減少了92.310,平均達(dá)到上經(jīng)測試套件的削減戰(zhàn)略SP未經(jīng)扣減的測試套件;這意味著減少測試套件只有7.690的未經(jīng)扣減的測試套件。每個(gè)平均計(jì)算的所有故障該方案的版本,在所有100次迭代,超過所有10個(gè)不同大小的測試套件。表中最后一行是一個(gè)總結(jié),并作為計(jì)算過的所有程序的所有版本意味著對所有100次迭代,并在所有10個(gè),不同大小的測試套件。 從表中我們可以看到,大多數(shù)基于語句的減貧戰(zhàn)略提供相對于超過矢量為基礎(chǔ)的戰(zhàn)略減少。平均而言,基于語句的減貧戰(zhàn)略提供有關(guān)在90減少測試組合的大小,以及基于矢量的減少有關(guān),在測試套件的大小減少50提供策略。一發(fā)生異

36、常聲明為基礎(chǔ)和載體為基礎(chǔ)的減少時(shí),他們被應(yīng)用到失敗的測試基地:基于語句的削減戰(zhàn)略只適用于失敗測試用例(SF)提供大約只有5的減幅,以及基于矢量的削減戰(zhàn)略只適用于測試失敗例(VF)只提供約減少3。這個(gè)小減少的原因是,在一般情況下,這些測試套件包含有更多的通過比失敗的測試案例,并因此,這些減少能達(dá)到指示當(dāng)這些失敗的測試案例減少。此外,基于矢量的減貧戰(zhàn)略提供大約只有10的減少空間,因?yàn)椋骄s60的13585測試用例產(chǎn)生獨(dú)特的聲明載體。當(dāng)我們隨機(jī)抽取這些測試用例以創(chuàng)建相對較小未經(jīng)扣減測試套件(500個(gè)測試?yán)?,一個(gè)高比例的測試在這些情況下具有獨(dú)特的組合載體。4.1.3對所有故障定位技術(shù)的開支增加為了

37、評價(jià)和比較所有四個(gè)故障定位在技術(shù)討論的測試套件減少的影響第2節(jié),我們提出的每一個(gè)故障定位的結(jié)果技術(shù)對兩種策略:基于語句的上減少所有的測試案例(SA)和基于矢量的所有測試減少例(VA)。圖2顯示了這些結(jié)果。我們目前使用的數(shù)據(jù)10盒形圖的圖表。圖2顯示的每個(gè)圖表這個(gè)問題的方案。每一個(gè)盒形圖列顯示故障定位技術(shù)應(yīng)用于減少測試套件或者基于語句的減少或矢量為基礎(chǔ)的生產(chǎn)減少。故障定位技術(shù)的縮寫因此:T為Tarantula,S為統(tǒng)計(jì)錯(cuò)誤隔離,J為的Jaccard,O代表Ochiai。 這些數(shù)據(jù)表明,對于我們的主題節(jié)目,這些測試套件的削減戰(zhàn)略有四個(gè)類似的效果每科程序故障定位技術(shù)。該數(shù)據(jù)還顯示,基于語句的削減戰(zhàn)略

38、顯然既產(chǎn)生了故障定位較大的提高費(fèi)用和更大的可變性對那些增加矢量為基礎(chǔ)的戰(zhàn)略。然而,對于SA的盒形圖的普遍提高和廣泛,為VA的盒形圖都集中在零和狹窄。4.1.4大小結(jié)果 圖3顯示了每個(gè)測試套件的百分比減少削減戰(zhàn)略在每個(gè)主題節(jié)目作為兩個(gè)盒形圖圖表。左邊的圖表顯示了SA策略的結(jié)果而右圖顯示了VA戰(zhàn)略的結(jié)果。對于這些圖表的垂直軸表示的百分比測試套件的每個(gè)程序和減少體積減少戰(zhàn)略。這個(gè)數(shù)字表明,基于語句的減貧戰(zhàn)略提供了更大和更一致的減少比基于矢量的削減戰(zhàn)略。 4.2討論 在本節(jié)中,我們總結(jié)并提供有關(guān)的結(jié)果,我們?nèi)〉昧艘恍┮庖姟?shù)據(jù)顯示之間的測試套件的權(quán)衡這是實(shí)現(xiàn)減少和故障定位的有效性。聲明為基礎(chǔ)的削減戰(zhàn)略

39、提供了更大的測試套件減少,但一般負(fù)面影響的故障定位的有效性技術(shù)。矢量為基礎(chǔ)的減少提供了較少的測試套件的尺寸減少,但提供了可以忽略不計(jì)的影響有效性的故障定位技術(shù)。這些結(jié)果為所有四個(gè)故障定位技術(shù)。 在他們的研究,郝和他的同事發(fā)現(xiàn),測試用例的冗余故障定位產(chǎn)生負(fù)面影響。我們的研究提供了一個(gè)更徹底的目標(biāo)實(shí)驗(yàn)調(diào)查是否取消從測試冗余組合提高了故障定位技術(shù)的有效性,因?yàn)樗麄兲岢龅?。我們的評價(jià)不支持他們的發(fā)現(xiàn),削減是一個(gè)主要來源故障本地化錯(cuò)誤。雖然我們觀察到,偶爾故障定位提高了消除冗余,改善小和不可預(yù)測的。 由于我們的實(shí)驗(yàn)表明,我們的學(xué)科,測試套件的冗余消除負(fù)面影響的一般故障定位的成效,我們有興趣在是否有可能保

40、留故障定位的有效性,具有不可忽視的影響,同時(shí)節(jié)約了測試成本。我們觀察,通常傳統(tǒng)的,基于語句的減少可以節(jié)省測試費(fèi)用,但它在對故障定位的有效性為代價(jià)。我們調(diào)查了嚴(yán)格的削減標(biāo)準(zhǔn)|基于矢量|和顯示,在一般情況下,為我們的主題方案,測試費(fèi)用可能減少與故障定位的有效性的影響可以忽略不計(jì)。 由于減少和故障之間的定位效果的權(quán)衡,我們建議開發(fā)利用削減戰(zhàn)略根據(jù)可分配給測試時(shí)間。如果測試時(shí)間是有限的,檢測費(fèi)用是非常高,或開發(fā)時(shí)間低廉,基于語句減貧戰(zhàn)略可能是最合適的。如果開發(fā)商時(shí)間是最重要的,基于矢量的減貧戰(zhàn)略可能是最合適的。此外,如果檢測成本低廉,那么整個(gè)測試套件可以運(yùn)行提供與大多數(shù)信息的故障定位技術(shù)。4.3威脅到

41、有效期 內(nèi)部效度的威脅時(shí)出現(xiàn)的因素影響而研究人員的知識因變量。它可能是一些缺陷可能會(huì)影響實(shí)現(xiàn)結(jié)果。然而,我們置信凹痕在結(jié)果的準(zhǔn)確性,因?yàn)槲覀儗?shí)施了四個(gè)故障定位技術(shù)和10個(gè)測試套件的減貧戰(zhàn)略,其結(jié)果是它們之間的一致。 外部效度的威脅時(shí)出現(xiàn)的結(jié)果實(shí)驗(yàn)是無法被推廣到其他情況。在這個(gè)實(shí)驗(yàn)中,我們評估了測試故障只使用八個(gè)方案本地化套件減少電子學(xué)分,并因此,我們無法明確說明,我們的研究結(jié)果將持有的一般程序。我們試圖解決這些不確定性的一些通過執(zhí)行我們的評價(jià)不同大小的各種方案。對于每個(gè)主題節(jié)目,我們的評價(jià)不同規(guī)模的測試組合,許多不同的斷層,許多隨機(jī)選擇的測試組合。我們也執(zhí)行了在不同數(shù)量的評價(jià)對故障的節(jié)目之一,

42、這證明如何因素影響的結(jié)果。此外,我們實(shí)施和評估電子四個(gè)故障定位技術(shù)學(xué)分。 結(jié)構(gòu)效度的威脅出現(xiàn)時(shí)使用的指標(biāo)評估不準(zhǔn)確捕捉概念他們是為了評估。就我們而言,我們衡量有效性的故障定位技術(shù)的使用費(fèi)用的措施,顯示了百分比的代碼必須進(jìn)行檢查,以查找故障。公制假設(shè),開發(fā)人員將檢查計(jì)劃,聲明聲明,在規(guī)定的順序,直到到達(dá)故障,而且她將能夠認(rèn)識到這是錯(cuò)誤的。雖然這可能不是一個(gè)現(xiàn)實(shí)的調(diào)試過程中,我們認(rèn)為,它是一個(gè)相對合理的近似的有效性故障定位技術(shù)。例如,一種技術(shù)標(biāo)識作為最可疑的故障聲明可能會(huì)提供更好的提示比另一種技術(shù),它標(biāo)志著作為最可疑的故障開發(fā)聲明。5。概要和結(jié)論 測試和調(diào)試的費(fèi)用往往占主導(dǎo)地位的軟件發(fā)展過程,因此

43、,研究人員提出測試套件的減排技術(shù)和故障定位技術(shù)來解決每個(gè)這些來源的費(fèi)用。然而,到目前為止,出現(xiàn)了如何將這些小調(diào)查兩種成本的節(jié)能技術(shù)效果對方。在本文中,我們提供了第一次調(diào)查的效果測試組合減少對故障定位的有效性。我們評估了幾個(gè)測試套件的多種故障定位技術(shù)的減貧戰(zhàn)略,并提出新的削減戰(zhàn)略,有助于利用減少之間的取舍和本地化的成效。我們發(fā)現(xiàn),傳統(tǒng)的基于語句的減少負(fù)面影響的故障定位,而基于矢量的減少提供了可以忽略不計(jì)對故障定位的影響。此外,偶爾矢量為基礎(chǔ)的減少允許一個(gè)為故障定位技術(shù)的改進(jìn)。 雖然我們的評估清楚地表明了一個(gè)權(quán)衡減少和我們之間的故障定位的有效性學(xué)科課程,必須進(jìn)行更多的實(shí)驗(yàn)驗(yàn)證一般電子學(xué)分。具體來說

44、,我們正計(jì)劃在較大的項(xiàng)目實(shí)驗(yàn)。我們還計(jì)劃與其他實(shí)驗(yàn)削減戰(zhàn)略,以減少與就如樹枝一樣,數(shù)據(jù)流和其他路徑覆蓋準(zhǔn)則。我們也想探討戰(zhàn)略這是比基于語句的嚴(yán)格而減少少嚴(yán)格比基于矢量的減少,以提供更多替代品之間的減少和故障的權(quán)衡本地化的成效。 6。致謝 這項(xiàng)工作是支持的,部分由美國國家科學(xué)基金會(huì)獎(jiǎng)勵(lì)下CCR -0205422,CCF -0429117,和CCF -0541049到佐治亞理工學(xué)院。匿名評論提供了許多有益的建議,以改善文檔。7。參考 1 R. Abreu, P. Zoeteweij, and A. J. C. van Gemund. On the accuracy of spectrum-base

45、d fault localization. In Testing: Academic and Industrial Conference, Practice and Research Techniques, Windsor, UK, September 2007.2 H. Agrawal, J. Horgan, S. London, and W. Wong. Fault localization using execution slices and dataflow tests. In Proceedings of IEEE Software Reliability Engineering,

46、pages 143151, 1995.3 Aristotle Research Group. Aristotle analysis system, 2007. /aristotle/.4 B. Baudrey, F. Fleurey, and Y. L. Traon. Improving test Suites for ecient fault localization. In International Conference on Software Engineering, pages 8291, Shanghai, China, May 200

47、6.5 T. Y. Chen and M. F. Lau. Dividing strategies for the optimization of a test suite. Information Processing Letters, 60(3):135141, Mar. 1996.6 H. Cleve and A. Zeller. Locating causes of program failures. In Proceedings of the International Conference on Software Engineering, pages 342351, St. Lou

48、is, Missouri, May 2005. 7 D. Hao, Y. Pan, L. Zhang, W. Zhao, H. Mei, and J. Sun. A similarity-aware approach to testing based fault localization. In Proceedings of the Conference on Automated Software Engineering, pages 291294, November 2005.8 M. J. Harrold, R. Gupta, and M. L. So a. A methodology f

49、or controlling the size of a test suite. ACM Transactions on Software Engineering and Methodology, 2(3):270285, July 1993.9 J. R. Horgan and S. A. London. ATAC: A data ow coverage testing tool for C. In Proceedings of the Symp. On Assessment of Quality Software Development Tools, pages 210, May 1992.10 M. Hutchins, H. Foster, T. Goradia, and T. Ostrand.Experiments on

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論