姚 奕,劉語嬋,楊 帆
(陸軍工程大學(xué) 指揮控制工程學(xué)院,江蘇 南京 210007)
隨著互聯(lián)網(wǎng)群智技術(shù)的深入研究,測試中人員多樣性和互補(bǔ)性帶來的缺陷發(fā)現(xiàn)效率的提高,使得眾包測試得到了飛速發(fā)展[1]?,F(xiàn)有眾包測試平臺發(fā)布測試任務(wù)后,項目經(jīng)理通常只根據(jù)他們的個人經(jīng)驗來計劃眾包測試任務(wù)的結(jié)束。例如,他們通常采用基于時間或基于參與者的條件來結(jié)束眾測試任務(wù)。然而做出合理的決定是很有挑戰(zhàn)性的,眾包測試通常被視為一個黑箱過程,管理者的決策仍然對其實際進(jìn)展不敏感,這些基于經(jīng)驗的決定可能會導(dǎo)致無效的眾測過程。這表明了改進(jìn)當(dāng)前眾包測試實踐的實際需要和潛在機(jī)會。因此,眾包測試平臺希望尋找能夠?qū)崟r預(yù)測或估計軟件缺陷數(shù)量和可靠性的軟件可靠性建模技術(shù)。通過比較預(yù)測和檢測的缺陷數(shù)量以及評估軟件測試后的可靠性,以評估測試任務(wù)的進(jìn)度,能夠合理判定任務(wù)結(jié)束,避免浪費大量的測試時間和資源。
關(guān)于眾包測試缺陷數(shù)量預(yù)測的研究很少,Wang等[2]從軟件的可靠性出發(fā)對測試任務(wù)完成度進(jìn)行評估。Wang首先根據(jù)測試報告中缺陷的重疊性利用捕獲-重捕模型預(yù)測軟件中的缺陷規(guī)模,然后通過分析已檢測缺陷數(shù)量所占缺陷規(guī)模的百分比來衡量軟件的可靠性。然而,眾包測試區(qū)別于傳統(tǒng)的測試手段,以其參與者的隨機(jī)多樣性與測試報告數(shù)量的龐大性使得軟件產(chǎn)品被更加合理充分地測試。參與測試任務(wù)的人員越多越活躍,那么平臺接收到的測試報告也越多,則缺陷被發(fā)現(xiàn)的概率則更大。但是缺陷數(shù)量是恒定的,大量的人力和報告成本的投入可能會導(dǎo)致測試的低效益性。因此通過研究測試成本與缺陷發(fā)現(xiàn)數(shù)量的關(guān)系來預(yù)測缺陷數(shù)量。軟件可靠性增長模型(Software Reliability Growth Model,SRGM)[3-4]在度量、預(yù)測、保證可靠性上被廣泛應(yīng)用,同時也為最優(yōu)發(fā)布時間抉擇等軟件開發(fā)活動提供重要決策支持。SRGM從軟件失效的角度進(jìn)行可靠性建模,采用以微分方程(組)為主的數(shù)學(xué)手段建立軟件測試過程中的若干個隨機(jī)參量間的定量函數(shù)模型,例如測試時間、累積檢測的缺陷數(shù)量、測試工作量等參量?;谇蠼獬龅睦鄯e檢測缺陷數(shù)量函數(shù)表達(dá)式,可以獲得測試階段的可靠性[5]。SRGM除了包括完美排錯模型[6-8]、不完全排錯模型等類型[9-10],還考慮了測試資源和測試環(huán)境,基于測試工作量(Testing-Effort,TE)和變動點(Change-Point,CP)的SRGM相繼被提出[11-15]。各種類型的TE開始廣泛地出現(xiàn)在SRGM中,使得融入測試資源的花銷在建模中成為常態(tài)。
基于眾包測試人力成本和測試報告成本數(shù)量龐大的特點,本文對傳統(tǒng)的基于單個TE的SRGM進(jìn)行了改進(jìn),將測試人力和提交的測試報告數(shù)量同時納入測試工作量考慮范圍,提出了一種針對眾包測試的軟件缺陷數(shù)量估計模型(Crowdsourced Test Defect Number Estimation Model,CTDNEM)。其中利用相關(guān)函數(shù)對測試人力和測試報告數(shù)量兩個測試成本元素進(jìn)行相關(guān)性分析,并基于相關(guān)性程度和測試工作量函數(shù)(Testing-Effort Function,TEF)建立了一個通用的分段式可靠性建??蚣埽梢愿鶕?jù)不同元素之間的相關(guān)性程度來選擇合適的微分方程;同時在成本估計中,引入3種TEFs估計測試成本數(shù)據(jù),以此選擇最優(yōu)參數(shù)代入微分方程求解出測試中累積的檢測缺陷數(shù)量以及潛在缺陷數(shù)量,能夠有效提高缺陷數(shù)量估計的準(zhǔn)確性。
非齊次泊松過程(Non-Homogeneous Poisson Process,NHPP)類模型由于具有易理解與易使用等優(yōu)良特性,已成為目前研究最為廣泛的一類SRGMs[15]。缺陷的檢測與修復(fù)是在TE的消耗下進(jìn)行的,TE可有效地描述軟件開發(fā)過程中的工作剖面,因而SRGM中應(yīng)考慮到其存在,本文模型就是在此類模型框架基礎(chǔ)上進(jìn)行改進(jìn)的。
Zhang等[9]首次針對TE提出了一個相對統(tǒng)一的SRGM框架(Software Reliability Growth Model Based on Testing-Effort,TE-SRGM),該模型框架的建立基于下面的假設(shè)條件。
① 缺陷檢測過程隨時間服從NHPP過程。
② 在(t,t+Δt)時間內(nèi)檢測到缺陷的平均數(shù)量與當(dāng)前測試工作量消耗率下的軟件中剩余的平均缺陷數(shù)量成正比。這個比值即為當(dāng)前的缺陷檢測率,它可以是一個常數(shù)b,也可以是時間相關(guān)的函數(shù)b(t)。
③ 每次缺陷被檢測出來時,都會立即被完美地修復(fù),而修復(fù)只需要很少的時間,且不會引入新的缺陷,因此軟件中的缺陷總數(shù)是一個常值a。
④ 所有的缺陷都是獨立的,并且同樣可以檢測到。
根據(jù)上述假設(shè),即可得到如式(1)所示的考慮TE的NHPP軟件可靠性建??蚣堋?/p>
(1)
式中,m(t)為時間間隔[0,t]內(nèi)的檢測缺陷數(shù)的期望均值函數(shù);w(t)為測試工作量消耗速率函數(shù),它是測試工作量函數(shù)(記為W(t))對測試時間t的導(dǎo)數(shù);b(t)為當(dāng)時的缺陷檢測率;a為軟件中的缺陷總數(shù)。
在邊界條件為m(0)=0,W(0)=0時,將不同形式的測試工作量函數(shù)W(t)代入上述微分方程并求解,即可得到各種不同的累積檢測缺陷數(shù)量函數(shù)表達(dá)式(記為m(t))。
針對眾包測試人員多樣性和測試報告互補(bǔ)性的特點,將測試人力數(shù)量和提交測試報告數(shù)量作為測試成本元素,并基于TE-SRGM建立了眾包測試缺陷數(shù)量估計模型CTDNEM,模型的流程如圖1所示。
圖1 眾包測試缺陷數(shù)量估計流程
在模型假設(shè)的前提下,CTDNEM首先利用相關(guān)函數(shù)對測試人力和測試報告兩個測試成本元素進(jìn)行相關(guān)性分析,其次根據(jù)不同元素之間的相關(guān)性程度建立了一個通用的分段式可靠性建??蚣軄韺z測過程建模,然后利用實際測試成本數(shù)據(jù)分別估計3種TEF的參數(shù)并進(jìn)行比較,以此選擇出最優(yōu)的TEF代入微分方程。最終可以估計軟件潛在缺陷數(shù)量以及各時刻累積檢測缺陷數(shù)量。
首先,由于眾包測試過程只涉及缺陷檢測行為,不包含修復(fù)工作,該模型需要設(shè)置一個虛擬修復(fù)過程。本文中此過程屬于完美修復(fù),無需結(jié)合實際討論。其次,眾包測試軟件的規(guī)模通常較小,不適用于系統(tǒng)級的分析,因此需要對時間進(jìn)行細(xì)化處理。第三,考慮到測試報告具有高重復(fù)率和高互補(bǔ)率的特點,平臺需要對報告進(jìn)行融合,去重等處理。因此CTDNEM對TE-SRGM的假設(shè)進(jìn)行了修改,使其滿足眾包測試行為的特點。模型需要滿足以下假設(shè)條件。
① 測試過程中,缺陷檢測過程隨時間服從NHPP過程。
② 所有的缺陷都是獨立的,并且同樣可以檢測到。
③ 所有測試時間細(xì)化,將日歷時間轉(zhuǎn)化為時間戳形式,并保證測試起始時間為0。
④ 每次測試報告被提交后,都會進(jìn)行虛擬修復(fù),即發(fā)現(xiàn)的缺陷會立即被完美地修復(fù),且不會引入新的缺陷,因此軟件中的缺陷總數(shù)是一個常數(shù)a。
⑤ 測試報告中重復(fù)的缺陷只累積首次發(fā)現(xiàn)。缺陷被虛擬修復(fù)后,若測試報告中還上報該缺陷,此缺陷將被忽略。
⑥ 在(t,t+Δt)時間內(nèi)檢測到缺陷的平均數(shù)量與當(dāng)前缺陷檢測率b(t)及兩個測試成本工作量w1(t)和w2(t)的共同作用消耗率下軟件中剩余的平均缺陷數(shù)量成正比。其中,兩個測試成本元素的共同作用情況將在后面討論。
通常SRGM適用于系統(tǒng)級別的缺陷數(shù)量估計[5],而眾包測試中待測軟件規(guī)模較小,TE-SRGM原有測試工作量難以保證模型的準(zhǔn)確性。因此基于眾包測試特點,可以考慮使用多個測試成本元素,模型將測試人力和提交的測試報告數(shù)量納入考慮范圍。
在現(xiàn)實的測試環(huán)境中,測試成本元素并不是完全相互獨立的,也不是完全一致的,它們或多或少會有一定的聯(lián)系。因此,模型使用相關(guān)系數(shù)來表示兩個元素的相關(guān)性。相關(guān)系數(shù)最早是由統(tǒng)計學(xué)家卡爾·皮爾遜設(shè)計的統(tǒng)計指標(biāo)相關(guān)性,其計算公式為
(2)
式中,P為參與的測試人力變量;R為提交的測試報告數(shù)量變量;Var代表求方差;E代表求期望值。皮爾遜認(rèn)為相關(guān)系數(shù)ρ的絕對值若在0.7以上,就認(rèn)為P和R有強(qiáng)的相關(guān)性;在0.4~0.7之間,可以認(rèn)為兩者有相關(guān)性;在0.4以下,則認(rèn)為兩者沒有相關(guān)性[17]。
本文隨機(jī)對現(xiàn)有數(shù)據(jù)集成本數(shù)據(jù)進(jìn)行相關(guān)性分析,分析結(jié)果如圖2所示,該數(shù)據(jù)集的人員成本和報告成本的相關(guān)性為0.65,這表明兩個測試成本元素之間存在一定的正相關(guān)關(guān)系。因此,為了提高缺陷數(shù)量估計結(jié)果的準(zhǔn)確性,需要最小化兩個因素對彼此的影響。CTDNEM針對不同的相關(guān)性程度,建立了一個分段式的可靠性建??蚣埽梢宰钚』瘍蓚€成本元素對彼此的影響。
圖2 測試人力與測試報告相關(guān)性
第一節(jié)中TE-SRGM只考慮了單個測試成本元素的情況,無法將兩個或多個測試成本元素直接代入式(1)。CTDNEM則提出一個能夠包含兩個測試成本元素的可靠性建??蚣?。在式(1)的基礎(chǔ)上,模型引入兩個測試成本元素來對最終檢測到的缺陷平均數(shù)量進(jìn)行計算,考慮到測試成本元素之間的相關(guān)性,模型建立如下的可靠性建模框架。
(3)
式中,w1(t)為t時刻測試人員占用率;w2(t)為t時刻測試報告消耗率;a為缺陷總數(shù);λ和μ為相關(guān)性調(diào)和系數(shù);b(t)為缺陷檢測率。
整個測試過程中,總體的缺陷檢測率最終都會隨著缺陷數(shù)量的檢測和排除而上升并趨于恒定。因此CTDNEM利用現(xiàn)有的b(t)公式[18]:
(4)
式中,r為彎曲因子,表示軟件中不相關(guān)缺陷所占的比例。當(dāng)r=1時,所得到的m(t)即為凹型模型,其余情況得到的是S型模型。
兩個測試成本元素的3種相關(guān)性情況具體描述如下。
① 當(dāng)ρ(P,R)≥0.7時,P和R相關(guān)性極強(qiáng)。此時兩個元素的影響可用其中任一元素代替,微分方程與式(1)相同。
② 當(dāng)0.4≤ρ(P,R)<0.7時,P和R相關(guān)性較弱。此時認(rèn)定P和R在一定比例上影響缺陷檢測數(shù)量,在(t,t+Δt)時間內(nèi)檢測到缺陷的平均數(shù)量與一定權(quán)重下的兩個元素消耗率之和成正比。
③ 當(dāng)ρ(P,R)<0.4時,P和R基本無關(guān)。此時認(rèn)定P和R相互完全獨立,共同影響缺陷檢測數(shù)量,在(t,t+Δt)時間內(nèi)檢測到缺陷的平均數(shù)量與兩個元素消耗率皆成正比。
文獻(xiàn)[19]中明確指出,軟件中缺陷總數(shù)a、缺陷檢測率b(t)和測試工作量TE是影響SRGM的重要參數(shù)因素。前文已經(jīng)對前兩個因素進(jìn)行了分析,這里不再贅述。本節(jié)將對第3個因素TE進(jìn)行概要分析。
在軟件測試階段,會消耗大量的測試工作,例如測試報告的數(shù)量、測試人力和CPU時間等。消耗的測試工作指示了如何在軟件中有效地檢測缺陷,因此,資源消耗或人力資源分配可以通過不同的分布進(jìn)行建模。TE通常用測試工作量函數(shù)TEF來表示,即W(t),下面列出了3個常用的TEFs。
① Weibull-Type TEF:在整個測試階段,單位時間的TE不為常數(shù)。事實上,瞬時TE在測試生命周期中最終會降低,因此累積TE接近一個有限的極限。這種分析是合理的,因為沒有軟件公司會在軟件測試上花費無限的資源。因此,Yamada等提出了威布爾分布,其在(0,t]中消耗的累積TE公式如下[20]:
W(t)=W(1-e(-βtδ))θ,W>0,β>0,δ>0,θ>0
(5)
在測試時刻t消耗的瞬時TE為
(6)
式中,W為TE支出的總額;β為規(guī)模參數(shù);δ和θ為形狀參數(shù)。
Weibull-Type曲線有幾種特殊情況:當(dāng)θ=1,δ=1時,累積TE為指數(shù)曲線;當(dāng)θ=1,δ=2時,累積TE為Rayleigh曲線;當(dāng)θ=1時,累積TE為Weibull曲線。
② Logistic TEF:當(dāng)δ>3時,Weibull-Type曲線有明顯的峰值現(xiàn)象。這種現(xiàn)象不符合實際的軟件開發(fā)/測試過程。為此,Huang等提出使用Logistic TE函數(shù)來描述測試工作模式。其在(0,t]中消耗的累積TE為[21]
(7)
在測試時刻t消耗的瞬時TE為
(8)
③ Log-Logistic TEF:在某些缺陷數(shù)據(jù)集中,隨著測試的進(jìn)行,單位TE損耗的速率也可能呈現(xiàn)遞增或遞減的行為,現(xiàn)有的模型不能捕捉到這種趨勢。因此,Gokhale和Trivedi提出了Log-Logistic TE函數(shù),來描述出這種趨勢。其在(0,t]中消耗的累積TE為[22]
(9)
在測試時刻t消耗的瞬時TE為
(10)
① 數(shù)據(jù)集。從MoocTest眾包測試平臺上選擇4組真實的且包含測試工作量數(shù)據(jù)信息的缺陷數(shù)據(jù)集DS1~DS4。這4組眾包測試數(shù)據(jù)集覆蓋了不同數(shù)量的缺陷與測試人員,并且參與測試人員的數(shù)量都大于200,報告數(shù)量都大于1000,其成本數(shù)據(jù)遠(yuǎn)遠(yuǎn)超過傳統(tǒng)測試。這些項目經(jīng)過眾包測試后,根據(jù)其互補(bǔ)性特點進(jìn)行了測試報告、測試人力以及缺陷信息的統(tǒng)計與融合,形成了缺陷數(shù)據(jù)集,具體內(nèi)容如表1所示。
表1 眾包測試缺陷數(shù)據(jù)集統(tǒng)計信息
② 對照組。選取現(xiàn)有的TE-SRGM作為基線方法,基線方法中測試成本工作量使用的TEF根據(jù)實驗比較后選取最優(yōu)分布函數(shù)。
③ 實驗組。應(yīng)用本文提出的CTDNEM分別建立適于真實數(shù)據(jù)集的缺陷數(shù)量估計模型,并與基線方法進(jìn)行實例對比研究,其中測試成本工作量使用的TEF選擇方法與對照組相同。
④ 參數(shù)估計方法。方法包括最大似然估計(Maximum Likelihood Estimation,MLE)和最小二乘估計(Least Squares Estimation,LSE),其中TEF的參數(shù)估計僅使用LSE,累積檢測缺陷數(shù)量函數(shù)表達(dá)式m(t)的參數(shù)估計使用MLE和LSE。
⑤ 任務(wù)結(jié)束判定規(guī)則。累積缺陷檢測數(shù)量函數(shù)m(t)收斂,或者實際檢測數(shù)量與軟件潛在缺陷數(shù)量估計值a達(dá)到一定比例(如90%),即可判定任務(wù)完成。
為了檢查TEF與CTDNEM的性能,更好地評估和比較模型擬合缺陷的力,實驗使用以下3個評價指標(biāo)。
(1)估算精度(Accuracy of Estimation,AE)。
AE通過軟件中存在的初始估計的缺陷數(shù)和最終實際檢測到的缺陷累積數(shù)進(jìn)行計算,通過估計的軟件潛在缺陷數(shù)量與檢測結(jié)果的誤差反映軟件缺陷數(shù)量估計值的準(zhǔn)確度。
(11)
式中,Ma為測試后實際檢測到的缺陷累積數(shù);a為估計的軟件中的缺陷總數(shù)。估計值a最終可以用來與缺陷檢測數(shù)量比較,衡量測試任務(wù)進(jìn)度。
在黨中央遷往當(dāng)時北平的路上,毛澤東意味深長地說:這是“進(jìn)京趕考”?!拔覀儧Q不當(dāng)李自成,我們都希望考個好成績!”這考官自然是以工農(nóng)為主體的人民大眾。
(2)平方誤差的均值(Mean Square Error,MSE)。
(12)
式中,mi為ti時刻的實際檢測缺陷數(shù);m(ti)為ti時刻模型估計的期望缺陷數(shù)。MSE越小,擬合誤差越小,性能越好。
(3)預(yù)測效度(Predictive Validity,PV)。
(13)
取不同的預(yù)計點te(te≤tq),并重復(fù)上述過程,即可獲得不同的RE(Relative Error)值。通常情況下,可以將不同的RE值制成RE圖,以直觀地檢驗?zāi)P偷念A(yù)計能力。RE圖中接近于橫軸(即RE值接近于0)的點越多,表明模型預(yù)計能力越好。
(4)缺陷覆蓋率(Defect Coverage,DC)。
DC通過實時計算檢測到的缺陷累積數(shù)和初始估計的軟件缺陷數(shù)的比例,可以反映出缺陷被檢測的覆蓋程度。
(14)
式中,Ma為測試后實際檢測到的缺陷累積數(shù);a為估計的軟件中的缺陷總數(shù)。理想狀態(tài)下,當(dāng)DC=100%時,缺陷全部被檢測到。但是在實際測試中,DC總是小于理想值的,因此可以設(shè)定當(dāng)DC達(dá)到某比例時,即可判定任務(wù)完成。
為了驗證所提出的模型CTDNEM,并與基線方法TE-SRGM進(jìn)行性能比較,本文對4個實際的眾包測試軟件缺陷數(shù)據(jù)進(jìn)行了實驗,各個數(shù)據(jù)集的實驗結(jié)果如下。
(1)DS1。
為了估計工作量,實驗利用LSE方法對3種工作量函數(shù)進(jìn)行參數(shù)估計。圖3顯示了通過使用上述3種TEFs來擬合估計的人力和測試報告的測試工作量,擬合曲線和實際軟件數(shù)據(jù)分別用實線和虛線表示。
在圖3(a)中,Logistic TE函數(shù)曲線與實際數(shù)據(jù)最為接近,其參數(shù)為W=391.70,A=7.870,α=0.107,k=3.5×10-3;在圖3(b)中,Weibull-Type TE函數(shù)曲線與實際數(shù)據(jù)最為接近,其參數(shù)為W=1221.31,β=9.48×10-12,δ=2.564,θ=1.915。
通過相關(guān)系數(shù)計算公式得到測試人力和測試報告的相關(guān)性系數(shù)ρ=0.65,依據(jù)相關(guān)性系數(shù)實驗選取可靠性模型框架中第2個微分方程求解。對已知的W(t)擬合曲線求導(dǎo)并代入方程,求解出m(t)公式。式中的其他參數(shù)可以通過MLE和LSE方法進(jìn)行數(shù)值求解。然后將模型CTDNEM與基線方法進(jìn)行對比,其參數(shù)估計和比較結(jié)果如表2所示。
表2 DS1的缺陷數(shù)量估計和性能比較結(jié)果
表2中,CTDNEM在MLE方法上估計結(jié)果的AE值為4.30%,MSE值為22.73,使用LSE方法估計結(jié)果的AE值為8.56%,MSE值為49.62。與基線方法相比,CTDNEM估計性能提升很大。根據(jù)上述結(jié)果,估計的累積缺陷數(shù)量如圖4所示,最終預(yù)測缺陷數(shù)值開始收斂,且表2中的DC值已經(jīng)超過了100%,說明該測試已經(jīng)完成,符合實際情況。
圖4 DS1累積檢測缺陷估計與實際數(shù)量
最后,計算該數(shù)據(jù)集預(yù)測效度,結(jié)果如圖5所示。從結(jié)果觀察到,相對誤差隨著時間增加逐漸接近于0,即最終預(yù)測值越來越準(zhǔn)確。te/tq為50%時,準(zhǔn)確性就已經(jīng)在10%以內(nèi),te接近tq時,誤差曲線通常也集中于10%以內(nèi),可以看出CTDNEM可以利用較少的實際數(shù)據(jù)預(yù)測出未來的缺陷檢測數(shù)量,具有很高的估計準(zhǔn)確性。
圖5 DS1的RE曲線
(2)DS2。
DS2通過使用LSE來擬合估計的測試人力和測試報告的測試工作量如圖6所示。
圖6 DS2測試人力與測試報告的測試成本估計和實際數(shù)據(jù)
在圖6(a)中,Logistic TE函數(shù)曲線與實際數(shù)據(jù)最為接近,其參數(shù)為W=233.99,A=4.719,α=1.38×10-2,k=2.72×10-2;在圖6(b)中,Logistic TE函數(shù)曲線與實際數(shù)據(jù)最為接近,其參數(shù)為W=1253.88,A=7673.40,α=6.27×10-2,k=6.34×10-3。
依據(jù)計算得到測試人力和測試報告的相關(guān)性系數(shù)ρ=0.59,選取模型框架中第2個微分方程求解。模型CTDNEM與基線方法進(jìn)行對比結(jié)果如表3所示。
表3 DS2的缺陷數(shù)量估計和性能比較結(jié)果
表3中,CTDNEM在MLE方法上估計結(jié)果的AE值為3.16%,MSE值為28.58,在相同方法下,基線方法估計結(jié)果的AE值僅為3.02%,MSE值為22.10。由此可見CTDNEM在該數(shù)據(jù)集中,沒有很好地發(fā)揮出優(yōu)勢。根據(jù)參數(shù)結(jié)果,估計的累積缺陷數(shù)量如圖7所示,與實際提交數(shù)據(jù)相符合。此時檢測缺陷數(shù)量基本收斂,基線方法中DC值超過了90%,也可以判定測試任務(wù)完成,與實際情況相符。
圖7 DS2累積檢測缺陷估計/實際數(shù)量
最后,預(yù)測效度的結(jié)果如圖8所示,相對誤差隨著時間增加逐漸接近于0,在te/tq為60%時誤差就已經(jīng)在10%以內(nèi),可以看出CTDNEM具有很好的預(yù)測性,但是略遜于基線方法。
圖8 DS2的RE曲線
(3)DS3。
DS3通過使用LSE來擬合估計的測試人力和測試報告的測試工作量如圖9所示。
在圖9(a)中,Logistic TE函數(shù)曲線與實際數(shù)據(jù)最為接近,其參數(shù)為W=636.74,A=2.060,α=3.05×10-2,k=1.05×10-3;在圖9(b)中,Weibull-Type TE函數(shù)曲線與實際數(shù)據(jù)最為接近,其參數(shù)為W=4001.44,β=9.73×10-7,δ=1.397,θ=0.276。
圖9 DS3測試人力與測試報告的測試成本估計和實際數(shù)據(jù)
依據(jù)計算得到測試人力和測試報告的相關(guān)性系數(shù)ρ=0.72,選取模型框架中第1個微分方程求解。CTDNEM得到的微分方程與基線方法一致,其結(jié)果如表4所示。
表4 DS3的缺陷數(shù)量估計和性能比較結(jié)果
表4中,CTDNEM使用MLE方法效果較好,估計結(jié)果的AE值為8.31%,MSE值為37.62,使用LSE方法的AE值為12.24%,MSE值為87.61。根據(jù)參數(shù),估計的累積缺陷數(shù)量如圖10所示,此時檢測數(shù)量剛剛開始趨于平穩(wěn),而DC值在90%左右,由此判定測試關(guān)閉過早。
圖10 DS3累積檢測缺陷估計和實際數(shù)據(jù)
最后,預(yù)測效度的結(jié)果如圖11所示,te/tq為50%時,準(zhǔn)確性就已經(jīng)在10%以內(nèi),可以看出CTDNEM能較好地對DS3缺陷數(shù)量進(jìn)行估計。
圖11 DS3的RE曲線
(4)DS4。
DS4通過使用LSE來擬合估計的測試人力和測試報告的測試工作量,如圖12所示。
在圖12(a)中,Logistic TE函數(shù)曲線與實際數(shù)據(jù)最為接近,其參數(shù)為W=616.41,A=6.810,α=7.28×10-3,k=5.16×10-2;在圖12(b)中,Weibull-Type TE函數(shù)曲線與實際數(shù)據(jù)最為接近,其參數(shù)為W=4395.53,β=2.815,δ=1.990,θ=0.357。
圖12 DS4測試人力與測試報告的測試成本估計和實際數(shù)據(jù)
依據(jù)計算得到測試人力和測試報告的相關(guān)性系數(shù)ρ=0.66,選取模型框架中第2個微分方程求解。模型CTDNEM與基線方法進(jìn)行對比結(jié)果如表5所示。
表5 DS4的缺陷數(shù)量估計和性能比較結(jié)果
表5中,CTDNEM使用MLE方法效果較好,估計結(jié)果的AE值為3.61%,MSE值為29.72;使用LSE方法的AE值為8.56%,MSE值為51.55。兩種方法的結(jié)果皆優(yōu)于基線方法性能。根據(jù)參數(shù),估計的累積缺陷數(shù)量如圖13所示,累積檢測缺陷數(shù)量已經(jīng)開始收斂,且DC值皆高于90%,測試完成程度較高。
圖13 DS4累積檢測缺陷估計和實際數(shù)據(jù)
最后,預(yù)測效度的結(jié)果如圖14所示,te/tq為50%時,準(zhǔn)確性就已經(jīng)在10%以內(nèi),當(dāng)te接近tq時,誤差曲線主要集中于5%以內(nèi),可以看出CTDNEM估計結(jié)果的準(zhǔn)確性高。
圖14 DS4的RE曲線
綜上所述,CTDNEM在4個眾包測試數(shù)據(jù)集上進(jìn)行了實驗,所有測試人力數(shù)量滿足Logistic TE函數(shù)曲線,大部分測試報告數(shù)量滿足Weibull-Type TE函數(shù)曲線。累積檢測缺陷數(shù)量在3個數(shù)據(jù)集上的估計效果皆表現(xiàn)出良好的性能,在DS2數(shù)據(jù)集上遜色于基線方法。4個實驗的誤差曲線在te/tq為50%時,誤差都小于10%,表明模型能用較少的數(shù)據(jù)準(zhǔn)確評估任務(wù)完成度,由此可見CTDNEM能夠很好地對眾包測試數(shù)據(jù)集的缺陷進(jìn)行預(yù)估。
眾包測試中,測試人力和測試報告提交數(shù)量是衡量測試成本的兩個重要元素。為了能夠通過完成缺陷數(shù)量的實時預(yù)估以監(jiān)控眾包測試任務(wù)的過程,本文提出了一個同時考慮兩個測試成本元素的眾包測試缺陷數(shù)量估計模型。在此基礎(chǔ)上,結(jié)合已有的3種測試工作函數(shù),對如何利用新的可靠性建模框架在眾包測試數(shù)據(jù)集建模的過程進(jìn)行了分析。在4組真實的眾包測試數(shù)據(jù)集上,利用CTDNEM進(jìn)行了缺陷數(shù)量估計實驗,并將典型的TE-SRGM模型作為基線方法對估計性能進(jìn)行了對比。由對比結(jié)果可知,CTDNEM的擬合與估計結(jié)果在3組數(shù)據(jù)集上均表現(xiàn)良好,對4組測試任務(wù)關(guān)閉時間評估符合實際情況。由此可知,CTDNEM有更好的缺陷預(yù)估能力,在實際的眾包測試中對監(jiān)控測試任務(wù)過程、決策任務(wù)結(jié)束時間具有重要的指導(dǎo)意義。