楊 芳, 丁曉明
(西南大學(xué) 計(jì)算機(jī)與信息科學(xué)學(xué)院,重慶 400715)
多目標(biāo)測試用例優(yōu)先級排序研究進(jìn)展*
楊 芳, 丁曉明**
(西南大學(xué) 計(jì)算機(jī)與信息科學(xué)學(xué)院,重慶 400715)
單目標(biāo)測試用例優(yōu)先級排序具有片面性的缺點(diǎn),為解決問題出現(xiàn)了多目標(biāo)測試用例優(yōu)先級排序;多目標(biāo)測試用例優(yōu)先級排序是根據(jù)多個優(yōu)化目標(biāo)給出測試用例的執(zhí)行次序,從而提高軟件測試效率,并降低回歸測試開銷;在介紹多目標(biāo)測試用例優(yōu)先級排序基本概念的基礎(chǔ)上,總結(jié)了目前求解問題的主要方法,指出其存在的問題,給出了多目標(biāo)測試用例優(yōu)先級排序問題的未來研究方向。
回歸測試;測試用例優(yōu)先級排序;優(yōu)化目標(biāo);加權(quán)法;帕累托最優(yōu);進(jìn)展
回歸測試是軟件生命周期中不可或缺的過程,是一種重要的保證軟件正確性的手段[1]。但隨著軟件的更新?lián)Q代和軟件規(guī)模的增大,回歸測試時重新執(zhí)行所有測試用例不現(xiàn)實(shí),所以對測試用例進(jìn)行預(yù)處理尤為重要。測試用例優(yōu)先級排序(Test Case Prioritization,TCP)是一種根據(jù)給定的優(yōu)化目標(biāo)來尋找最優(yōu)測試用例執(zhí)行次序的軟件回歸測試技術(shù)。為了同時滿足多個優(yōu)化目標(biāo),出現(xiàn)了多目標(biāo)測試用例優(yōu)先級排序(Multi Objective Test Case Prioriti-zation,MOTCP),其在解決回歸測試問題上取得了良好的效果。
1.1 多目標(biāo)測試用例優(yōu)先級排序
Elbaum和Rothermel等[2]對TCP問題的定義為:給定測試用例集T,PT為T的全排列集合,其包含T中所有可能的測試用例執(zhí)行序列,排序目標(biāo)函數(shù)f,其定義域?yàn)镻T,值域?yàn)閷?shí)數(shù),尋找T′∈PT,使得?T″∈PT∧T″≠T′有f(T′)≥f(T″)。
由以上描述可知,將一個特定執(zhí)行次序作為函數(shù)f的輸入,輸出為與排序目標(biāo)相關(guān)的值,則一般情況下輸出值越大,排序結(jié)果越好。
根據(jù)單個優(yōu)化目標(biāo)對測試用例進(jìn)行排序往往具有片面性。比如根據(jù)代碼覆蓋率進(jìn)行排序,測試用例1的代碼覆蓋率為50%,其優(yōu)先級設(shè)為1,錯誤檢測數(shù)為0;測試用例2的代碼覆蓋率為5%,其優(yōu)先級設(shè)為2,錯誤檢測數(shù)為1。測試用例1的優(yōu)先級更高,但測試用例2的錯誤檢測數(shù)更多。因此,在實(shí)際的軟件測試過程中,通常需要同時滿足多個優(yōu)化目標(biāo),給出綜合權(quán)衡后的優(yōu)先排序方案。Elbaum等人[3]提出了綜合考慮測試耗費(fèi)和錯誤嚴(yán)重度的TCP方法,引入單位覆蓋消耗比率,結(jié)合錯誤嚴(yán)重度來評估測試用例的檢錯能力。Zhang X等人[4]綜合需求重要度和需求耗費(fèi),討論了廣義需求概念下測試用例的評估和排序問題。
MOTCP是在TCP的基礎(chǔ)上出現(xiàn)的一種新的排序方法,其一般性描述[5]如下。
1.2 優(yōu)化目標(biāo)
MOTCP主要是研究不同測試用例優(yōu)化目標(biāo)的組合與實(shí)際錯誤檢測能力之間的關(guān)系。常見的優(yōu)化目標(biāo)有:平均決策覆蓋率(Average Percentage Decision Coverage,APDC)、條件/分支覆蓋準(zhǔn)則(Modified Condition/Decision Coverage,MC/DC)、平均語句覆蓋率(Average Percentage of Block Coverage,APBC)[6]、平均代碼覆蓋率(Average Percentage of Statement Coverage,APSC)、錯誤檢測率(Average Percentage of Fault Detect,APFD)、有效執(zhí)行時間(Effective Execution Time,EET)等。
石宇楠等[7]提出了一種新的排序準(zhǔn)則——平均變異殺死率(Average Percentage of Mutation Kill,PAMK),即“在較短的時間內(nèi)殺死更多的變異”,從而在一定程度上提高發(fā)現(xiàn)錯誤的能力。
MOTCP技術(shù)與傳統(tǒng)的TCP技術(shù)相比主要區(qū)別在于兩方面的改變,一是在優(yōu)化目標(biāo)的個數(shù)選取上采用兩個及以上,二是在排序方法上采用加權(quán)法或者帕累托最優(yōu)。
2.1 基于加權(quán)法的多目標(biāo)測試用例優(yōu)先級排序技術(shù)
加權(quán)法即在MOTCP問題上直接對多個優(yōu)化目標(biāo)進(jìn)行權(quán)值分配后求和,根據(jù)加權(quán)求和后的權(quán)值對測試用例排序,從而轉(zhuǎn)化為單目標(biāo)測試用例優(yōu)先級排序法。在排序算法上大多采用爬山算法、貪心算法、遺傳算法、蟻群算法等啟發(fā)式搜索算法[8]。
Kim等人[9]將歷史上各階段測試歷史信息賦予不同的權(quán)值,然后把各權(quán)值加權(quán)求和,綜合考慮測試用例的各項(xiàng)因素。王子元等[10-11]綜合考慮測試用例的組合權(quán)重和執(zhí)行開銷從而對測試用例集進(jìn)行排序。Srikanth等[12]在對測試用例排序時同時考慮了缺陷檢測率、配置開銷和環(huán)境搭建時間。牟永敏等[13]分別對函數(shù)調(diào)用路徑覆蓋能力和覆蓋路徑檢錯指標(biāo)定義權(quán)值后,通過求和對測試用例進(jìn)行排序。但這種加權(quán)法不夠智能,權(quán)值分配受人的主觀影響大,錯誤檢測率不穩(wěn)定。
Krishna等[14]綜合測試時間、代碼覆蓋率來計(jì)算遺傳算法中的適應(yīng)度值,并對各階段的適應(yīng)度值加權(quán)求和,從而提高錯誤檢測率。Chen等[15]將各優(yōu)化目標(biāo)進(jìn)行權(quán)值分配后求和,把多目標(biāo)優(yōu)先級排序轉(zhuǎn)化成二次分配問題,且用蟻群算法來實(shí)現(xiàn)。Singh等[16]基于改進(jìn)蟻群算法對各優(yōu)化目標(biāo)進(jìn)行權(quán)值分配呈現(xiàn)了一種在有限時間內(nèi)取得更大錯誤覆蓋率的方法。這種采用遺傳算法或蟻群算法來搜索更優(yōu)測試用例的方法有一定的智能性,但仍然是對各優(yōu)化目標(biāo)進(jìn)行簡單的權(quán)值分配后求和,且算法本身的執(zhí)行效率受各個參數(shù)的影響很大,算法效率有待提高。
常龍輝等[17]提出一種基于歷史信息的測試用例優(yōu)先級排序方法,分別給缺陷發(fā)現(xiàn)率、測試用例穩(wěn)定性設(shè)置權(quán)重,綜合這兩個因素設(shè)置優(yōu)先級值,并在測試過程中動態(tài)自適應(yīng)地調(diào)整測試用例優(yōu)先級,實(shí)現(xiàn)了盡早發(fā)現(xiàn)軟件缺陷的目的。方法里的動態(tài)調(diào)整優(yōu)先級算法中range值的設(shè)定傾向于經(jīng)驗(yàn)值,不夠精確。張娜等[18]從需求的角度來研究測試用例優(yōu)先級排序問題,分別對測試用例重要度、測試用例失效率和需求覆蓋率這3個測試用例優(yōu)先級影響因子定義權(quán)值,設(shè)計(jì)了一種基于多目標(biāo)優(yōu)化的測試用例優(yōu)先級在線調(diào)整策略,實(shí)現(xiàn)了在盡早達(dá)到測試覆蓋率的同時,盡早檢測到更多的、嚴(yán)重等級較高的軟件缺陷的目的。
鄭錦勤等[19]先對測試用例進(jìn)行選擇,然后根據(jù)絕對貢獻(xiàn)度、缺陷檢測能力、缺陷影響度的加權(quán)求和值對測試用例排序,再在測試過程中動態(tài)調(diào)整優(yōu)先級。這種方法在第一步測試用例選擇的過程中可能會遺漏能夠發(fā)現(xiàn)錯誤的測試用例。
2.2 基于帕累托最優(yōu)的多目標(biāo)測試用例優(yōu)先級排序技術(shù)
基于帕累托最優(yōu)的MOTCP是指在保證測試有效性的前提下,同時考慮多個優(yōu)化目標(biāo),通過計(jì)算Pareto最優(yōu)解集給出一組可供選擇的最優(yōu)測試用例排序方案。Yoo等[20]在測試用例選擇中引入Pareto方法,選取代碼覆蓋率、測試用例執(zhí)行成本、歷史錯誤檢測率為優(yōu)化目標(biāo),用多目標(biāo)優(yōu)化方法來設(shè)置測試用例優(yōu)先級。證實(shí)了適用于單目標(biāo)優(yōu)化的貪心算法對多目標(biāo)優(yōu)化不適用。
目前,基于帕累托最優(yōu)的測試用例優(yōu)先級排序研究還比較少,且已有的研究所采用的算法大多為群體智能搜索算法,如進(jìn)化算法,蟻群算法。通過種群迭代得到一系列最優(yōu)解集,然后權(quán)衡實(shí)際情況后從中選擇一個較合理的排序。
2.2.1 進(jìn)化算法
進(jìn)化算法是通過模擬生物進(jìn)化過程來求解問題的一類智能算法,在很多領(lǐng)域的實(shí)際優(yōu)化問題中都得到了應(yīng)用,但它的執(zhí)行效率深受種群規(guī)模和測試用例集規(guī)模的影響。
Walcott等[21]采用遺傳算法先選出花費(fèi)資源較少的測試用例子集,然后對該測試用例子集按平均代碼覆蓋率進(jìn)行排序,有效提高了時間限制下的測試用例集錯誤檢測率。
程俊等[22]研究了基于NSGA-Ⅱ的多目標(biāo)測試用例預(yù)優(yōu)化技術(shù),方法同時將平均代碼覆蓋率和有效執(zhí)行時間作為優(yōu)化目標(biāo),并給出了一種基于CPU+GPU異構(gòu)模式的并行適應(yīng)度評估策略來解決適應(yīng)度評估的耗時問題。但這種策略中GPU的計(jì)算資源沒有得到充分利用,其采用的是粗粒度的任務(wù)劃分方案,擴(kuò)展性還有待提高。邊毅等[23]采用先進(jìn)的GPU圖形卡通用并行計(jì)算技術(shù),提出了面向CPU+GPU異構(gòu)計(jì)算下的多目標(biāo)測試用例優(yōu)先排序技術(shù),在NSGA-Ⅱ中實(shí)現(xiàn)了測試用例集預(yù)優(yōu)化,極大地提高了計(jì)算效率。
石宇楠等[7]提出了一種基于競爭模式的多目標(biāo)協(xié)同進(jìn)化算法。采用平均代碼覆蓋率和平均變異殺死率作為優(yōu)化目標(biāo)來進(jìn)行適應(yīng)度度量,提高了算法的錯誤檢測率;利用競爭性的協(xié)同進(jìn)化思想加快了算法收斂速度。但方法的交叉操作過程復(fù)雜,且需要對種群進(jìn)行多次迭代,在用例池規(guī)模或被測程序代碼量大的情況下效率會下降。
Yuchi H等[24]從最近一次的回歸測試信息中選取測試成本、錯誤嚴(yán)重度兩個優(yōu)化目標(biāo),運(yùn)用改進(jìn)遺傳算法使找到的執(zhí)行序列在單位測試成本中檢測到的故障嚴(yán)重程度最高。但方法完全沒有考慮源代碼,沒有從源頭考慮軟件中可能出錯的地方。
2.2.2 蟻群算法
蟻群算法是通過模擬螞蟻覓食行為來求解問題的一種群體智能算法,在多目標(biāo)優(yōu)化問題中得到了廣泛應(yīng)用,它的執(zhí)行效率也會隨著種群規(guī)模和測試用例集規(guī)模的增大而下降。
顧聰慧等[25]提出一種基于蟻群優(yōu)化算法的MOTCP方法,改進(jìn)了多目標(biāo)解集優(yōu)劣的評價方法,選取的兩個優(yōu)化目標(biāo)分別是有效執(zhí)行時間、平均語句覆蓋率。方法隨著程序規(guī)模和蟻群規(guī)模的增大執(zhí)行時間花費(fèi)會急劇增加。邢行等[26]針對蟻群算法求解MOTCP問題時收斂速度慢、易陷入局部最優(yōu)問題,提出一種基于上位基因段的信息素更新策略,選取有效執(zhí)行時間、平均語句覆蓋率為優(yōu)化目標(biāo),在求解MOTCP問題上取得了顯著效果。
2.2.3 粒子群算法
粒子群算法是受飛鳥集群活動的啟發(fā)而提出的一種智能算法,與其他群體智能算法相比較,粒子群算法在處理多目標(biāo)優(yōu)化問題上很有優(yōu)勢。其內(nèi)部信息交互機(jī)制簡單,收斂速度快,需要調(diào)整的參數(shù)少,全局搜索能力強(qiáng)。
陳云飛等[5]提出了一種基于粒子群優(yōu)化算法的MOTCP方法,設(shè)計(jì)了粒子的表示和狀態(tài)更新方式,選取了兩個優(yōu)化目標(biāo):有效執(zhí)行時間、平均語句覆蓋率,實(shí)驗(yàn)結(jié)果證實(shí)在MOTCP問題上效果很好。但方法使用遺傳算法中的交叉操作作為群間交互手段,計(jì)算量大,效率有待進(jìn)一步提高。
MOTCP與傳統(tǒng)的TCP一樣,其最終目的都是為了提高測試用例集的錯誤檢測速率。為了比較不同測試用例優(yōu)先級排序方法的性能,需要通過實(shí)驗(yàn)來對各排序方法進(jìn)行評價。目前,最廣泛應(yīng)用的評價指標(biāo)是APFD,該指標(biāo)能有效評估測試用例優(yōu)先級排序的平均錯誤檢測效率。
APFD由Rothermel等率先提出。給定測試用例集T,T中有n個測試用例,設(shè)現(xiàn)已檢測出m個缺陷,給定測試用例執(zhí)行序列后,TFi表示檢測到缺陷i的第一個測試用例在執(zhí)行序列中的位置。APFD的計(jì)算公式[27]如下:
(1)
考慮測試用例的執(zhí)行開銷和缺陷危害程度,Elbaum等提出了改進(jìn)的評價指標(biāo)PAPFDC[3]。當(dāng)各測試用例的執(zhí)行開銷和缺陷危害程度一樣時,式(1)就是化簡后的式(2)。ti表示第i個測試用例的執(zhí)行開銷,fi表示第i個缺陷的危害程度。PAPFDC的計(jì)算公式如下:
(2)
PAPFD和PAPFDC評價指標(biāo)的取值范圍都是0~100%,其值越大,則錯誤檢測率越高,排序效果越好。它們的取值上限為100%,但實(shí)際上很難達(dá)到這個值,這些評價指標(biāo)主要用于不同排序策略之間的性能比較[28]。
為滿足實(shí)際軟件測試需求,如何找到更為有效的測試用例優(yōu)先級排序方法,尤其是多目標(biāo)測試用例優(yōu)先級方法已成為當(dāng)前軟件測試領(lǐng)域中的關(guān)鍵問題和研究熱點(diǎn)。到目前為止的研究表明,進(jìn)一步的研究工作可從以下幾個方面展開。
(1) 現(xiàn)有的大多數(shù)多目標(biāo)測試用例優(yōu)先級排序研究主要集中在加權(quán)法,但加權(quán)法不是嚴(yán)格意義上的MOTCP。加權(quán)法中各優(yōu)化目標(biāo)的權(quán)值分配不智能,受人的主觀影響大;或者測試中采用的動態(tài)優(yōu)先級調(diào)整算法復(fù)雜,時間復(fù)雜度高??梢跃腿绾芜M(jìn)行高效智能地權(quán)值分配進(jìn)行改進(jìn),也可以減少算法的時間復(fù)雜度。
(2) 用帕累托最優(yōu)的方法進(jìn)行多目標(biāo)測試用例優(yōu)先級排序的研究還比較少,且大多采用進(jìn)化算法、蟻群算法,采用其他智能搜索算法的還很少??梢蕴骄科渌悄芩阉魉惴ㄔ趩栴}上的應(yīng)用效果,改進(jìn)其他群體智能算法使其適用于測試用例優(yōu)先級排序,更好地提高測試用例優(yōu)先級排序效率。
(3) 用帕累托最優(yōu)的方法進(jìn)行多目標(biāo)測試用例優(yōu)先級排序時,大多數(shù)研究選取的優(yōu)化目標(biāo)是平均代碼覆蓋率和有效執(zhí)行時間,但影響測試用例排序效率的因素遠(yuǎn)不止這2個。可以研究其他優(yōu)化目標(biāo)對測試用例優(yōu)先級排序效率的影響。
(4) 用帕累托最優(yōu)的方法進(jìn)行多目標(biāo)測試用例優(yōu)先級排序時,大多數(shù)研究只采用了2個優(yōu)化目標(biāo)。探究3個及3個以上優(yōu)化目標(biāo)對測試用例優(yōu)先級排序效率的影響具有重要意義。
(5) 建設(shè)多目標(biāo)測試用例優(yōu)先級排序通用平臺,平臺可以根據(jù)具體被測軟件選擇優(yōu)化目標(biāo)的個數(shù)及具體優(yōu)化目標(biāo),自動對測試用例進(jìn)行排序,并計(jì)算排序后的錯誤檢測效率。
[1] RAMANATHAN M K,KOYUTURK M,GRAMA A,et al.PHALANX:A Graph-Theoretic Framework for Test Case Prioritization[C]∥Proceedings of the 2008 ACM Sympo-sium on Applied Computing (SAC 2005),New York:2008:667-673
[2] ROTHERMEL G,UNTCH R H,CHU C.Prioritizing Test Cases for Regression Testing[J].IEEE Transactions on Software Engineering,2001,27(10):929-948
[3] ELBAUM S,MALISHEVSKY A G,ROTHERMEL G.Incorporating Varying Test Costs and Fault Severities into Test Case Prioritization[C]∥Proceedings of the Intern-ational Conference on Software Engineering,2001:329-338
[4] ZHANG X,NIE C,XU B,et al.Test Case Prioritization Based on Varying Testing Requirement Priorities And Testcase Costs[C]∥Proceedings of the International Conference on Quality Software,2007:15-24
[5] 陳云飛,李征,趙瑞蓮.基于PSO的多目標(biāo)測試用例預(yù)優(yōu)化[J].計(jì)算機(jī)科學(xué),2014,41(5):72-77
CHEN Y F,LI Z,ZHAO R L.Applying PSO to Multi-Objective Test Cases Prioritization[J].Computer Science,2014,41(5):72-77
[6] 仝海燕,呂洪善,賈爽.白盒測試之基本路徑測試技術(shù)探析[J].重慶工商大學(xué)學(xué)報(自然科學(xué)版),2014,31(1):65-68
TONG H Y,LU H S,JIA S.Analysis of Basic Path Testing Technique Based on White Box Test[J].Journal of Chongqing Technology and Business University (Natural Science Edition),2014,31(1):65-68
[7] 石宇楠,李征,龔沛.基于多目標(biāo)協(xié)同進(jìn)化的測試用例優(yōu)先排序[J].計(jì)算機(jī)科學(xué),2015,42(12):124-129
SHI Y N,LI Z,GONG P.Multi-Objective Coevolutionary Test Case Prioritization[J].Computer Science, 2015,42(12):124-129
[8] 陳陽梅,丁曉明.測試用例集約簡方法綜述[J].重慶工商大學(xué)學(xué)報(自然科學(xué)版),2012,29(3):70-74
CHEN Y M,DING X M.Review of Test Suite Reduction Method[J].Journal of Chongqing Technology and Business University (Natural Science Edition),2012,29(3):70-74
[9] KIM J M,PORTER A.A History-based Test Prioritization Technique for Regression Testing in Resource Constrained Environments[C]∥The International Conference Software Engineering,2002:119-129
[10] WANG Z Y,XU B W,CHEN L,et al.Cost-Effective Combinatorial Test Case Prioritization for Varying Combination Weights[C]∥Proceedings of the Int’l Conference on Software & Knowledge Engineering,2010:273-278
[11] WANG Z Y,CHEN L,XU B W,et al.Cost-Cognizant Combinatorial Test Case Prioritization[J].Int’l Journal of Software Engineering and Knowledge Engineering,2011,21(6):829-854
[12] SRIKANTH H,COHEN M B,QU X.Reducing Field Failures in System Configurable IEEE Press Software:Cost-based Prioritization[C]∥Proceedings of the Int’l Conference on Software Reliability Engineering,2009:61-70
[13] 牟永敏,李慧麗.基于函數(shù)調(diào)用路徑的測試用例優(yōu)先級排序[J].計(jì)算機(jī)工程,2014,40(7):242-246
MU Y M,LI H L.Test Case Prioritization Based on Function Calling Paths[J].Computer Engineering,2014,40(7):242-246
[14] KRISHNA M R,SAHAAYA A A.Regression Test Suite Prioritization Using Genetic Algorithms[J].International Journal of Hybrid Information Technology,2009,2(3):35-52
[15] CHEN G Y,ROGERS J.Arranging Software Test Cases Through an Optimization Method[C]∥Proceedings of the 2010 Conference on Technology Management for Global Economic Growth (PICMET’10),Phuket,Thailand,2010:1-5
[16] SINGH Y,KAUR A,SURI B.Test Case Prioritization Using Ant Colony Optimization[J].ACM Sigsoft Software Engineering Notes,2010,35(4):1-7
[17] 常龍輝,繆淮扣,肖蕾.基于歷史信息的自適應(yīng)測試用例優(yōu)先級技術(shù)[J].計(jì)算機(jī)科學(xué),2015,42(9):154-158
CHANG L H,MIAO H K,XIAO L.Self-Adaptive Test Case Prioritization Based on History Information[J].Computer Science,2015,42(9):154-158
[18] 張娜,姚瀾,包曉安,等.多目標(biāo)優(yōu)化的測試用例優(yōu)先級在線調(diào)整策略[J].軟件學(xué)報,2015,26(10):2451-2464
ZHANG N,YAO L,BAO X A,et al.Multi-Objective Optimization Based on-line Adjustment Strategy of Test Case Prioritization[J].Journal of Software,2015,26(10):2451-2464
[19] 鄭錦勤,牟永敏.基于函數(shù)調(diào)用路徑的回歸測試用例選擇排序方法研究[J].計(jì)算機(jī)應(yīng)用研究,2016,33(7):2063-2067
ZHENG J Q,MU Y M.Regression Test Case Selection and Prioritization based on Functions Calling Path[J].Application Research of Computers,2016,33(7):2063-2067
[20] YO S,HARMAN M.Pareto Efficient Multi-objective Test Case Selection[C]∥Proceedings of the 2007 Int’l Symp on Software Testing and Analysis,2007:140-150
[21] WALCOTT K,SOFFA M,KAPFHAMMER G,et al.Time-aware Test Suite Prioritization[C]∥Proceedings of the International Symposium on Software Testing and Analysis,2006:1-12
[22] 程俊,李征,趙瑞蓮.CPU+GPU異構(gòu)并行多目標(biāo)測試用例預(yù)優(yōu)化技術(shù)[C]∥第七屆中國測試學(xué)術(shù)會議(CTC2012),2012:116-121
CHENG J,LI Z,ZHAO R L.CPU+GPU Heterogeneous Parallel Multi-Objective Test Case Prioritization[C]∥The Seventh China Test Conference (CTC2012),2012:116-121
[23] 邊毅,袁方,郭俊霞,等.面向CPU+GPU異構(gòu)計(jì)算的多目標(biāo)測試用例優(yōu)先排序[J].軟件學(xué)報,2016,27(4):943-954
BIAN Y,YUAN F,GUO J X,et al.CPU+GPU Heterogeneous Computing Orientated Multi-Objective Test Case Prioritization[J].Journal of Software,2016,27(4):943-954
[24] HUANG Y C,PENG K L.A History-based Cost-Cognizant Test Case Prioritization Technique in Regression Testing[J].The Journal of Systems and Software,2012,85:626-637
[25] 顧聰慧,李征,趙瑞蓮.基于ACO的測試用例預(yù)優(yōu)化及參數(shù)影響分析[J].計(jì)算機(jī)科學(xué)與探索,2014,8(12):1463-1473
GU C H,LI Z,ZHAO R L.ACO Based Test Case Prioritization and Impact Analysis of Parameters[J]. Journal of Frontiers of Computer Science and Technology,2014,8(12):1463-1473
[26] 邢行,尚穎,趙瑞蓮,等.面向多目標(biāo)測試用例優(yōu)先級排序的蟻群算法信息素更新策略[J].計(jì)算機(jī)應(yīng)用,2016,36(9):2497-2502
XING X,SHANG Y,ZHAO R L,et al.Pheromone Updating Strategy of Ant Colony Algorithm for Multi-Objective Test Case Prioritization[J].Journal of Computer Application,2016,36(9):2497-2502
[27] ELBAUM S,MALISHEVSKY A G,ROTHERMEL G.Prioritizing Test Cases for Regression Testing[C]∥Proceedings of the Int’l Symp on Software Testing and Analysis,2000:102-112
[28] 陳翔,陳繼紅,鞠小林,等.回歸測試中的測試用例優(yōu)先排序技術(shù)述評[J].軟件學(xué)報,2013,24(8):1695-1712
CHEN X,CHEN J H,JU X L,et al.Survey of Test Case Prioritization Techniques for Regression Testing[J].Journal of Software,2013,24(8):1695-1712
責(zé)任編輯:田 靜
Research Progress in Multi-Objective Test Case Prioritization
YANG Fang, DING Xiao-ming
(School of Computer and Information Science, Southwest University,Chongqing 400715, China)
Single objective Test Case Prioritization has the one-sided disadvantage.In order to solve this problem,the multi-objective test case prioritization is proposed.The multi-objective test case prioritization is to give the execution order of test cases based on multiple optimal objectives,so as to improve the efficiency of software testing and reduce the cost of regression testing.On the basis of introducing the basic concept of multi-objective test case prioritization,the main methods to solve the problem are summarized and the existing problems are pointed out.Finally,the future research direction of multi-objective test case prioritization is given.
regression testing; test case prioritization; optimal objective; weighted method; Pareto optimal; progress
10.16055/j.issn.1672-058X.2017.0003.012
2016-11-20;
2016-12-22. * 基金項(xiàng)目:國家自然科學(xué)基金(61003203).
楊芳(1990-),女,重慶人,碩士研究生,從事軟件測試研究.
**通訊作者:丁曉明(1966-),男,重慶人,副教授,博士,從事軟件測試研究.E-mail:xmding@swu.edu.cn.
TP311
A
1672-058X(2017)03-0065-06