成 靜,葛璐琦,張 濤,劉 瑩,張逸飛
(1.西安工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,西安 710021; 2.西北工業(yè)大學(xué) 軟件與微電子學(xué)院,西安 710072;3.西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,西安 710068)
移動(dòng)應(yīng)用眾包測(cè)試是一種將傳統(tǒng)內(nèi)部執(zhí)行的測(cè)試任務(wù)以自由自愿方式外包給網(wǎng)絡(luò)匿名大眾用戶的測(cè)試行為[1]。眾包測(cè)試因其可在線招募測(cè)試專家、無(wú)需準(zhǔn)備測(cè)試環(huán)境與設(shè)備等低成本的測(cè)試方式而被移動(dòng)應(yīng)用開發(fā)商及個(gè)人所使用[2]。然而,因移動(dòng)應(yīng)用復(fù)雜的測(cè)試環(huán)境、多樣化的測(cè)試需求、能力水平不一的測(cè)試參與人員,令移動(dòng)應(yīng)用眾包測(cè)試的開展面臨復(fù)雜的質(zhì)量因素影響,測(cè)試質(zhì)量難以得到有效保障。
目前,眾包測(cè)試質(zhì)量保證研究主要集中在以下方面:
1)眾包工作者的信譽(yù)問題。通過評(píng)估工作者的信譽(yù)值,將其作為眾包平臺(tái)識(shí)別惡意工作者或選擇接包方工作者的重要指標(biāo)[3]。阮閃閃等[4]通過證據(jù)理論計(jì)算出眾包測(cè)試者的直接信譽(yù)和間接信譽(yù),評(píng)定綜合信譽(yù),檢測(cè)出惡意工作者。肖江輝[5]通過對(duì)眾包測(cè)試人員的可信度進(jìn)行建模,根據(jù)測(cè)試人員的測(cè)試表現(xiàn),提交的Bug數(shù)量以及Bug等級(jí),給出一個(gè)可信度值,從而對(duì)眾包測(cè)試人員的可信度進(jìn)行評(píng)估。
2)眾包平臺(tái)的獎(jiǎng)勵(lì)機(jī)制。眾包平臺(tái)通過設(shè)置合理的激勵(lì)機(jī)制,讓接包工作者具有較高的工作動(dòng)力[6]。一般情況下,眾包平臺(tái)都是通過提供金錢報(bào)酬的方法來(lái)促進(jìn)工作者的動(dòng)力。當(dāng)眾包工作者提交任務(wù)后,發(fā)包方將以現(xiàn)金的形式支付給工作者一定的工作報(bào)酬[7]。 Wen等[8]基于質(zhì)量驅(qū)動(dòng)的拍賣理論,提出了針對(duì)移動(dòng)群智感知環(huán)境的眾包激勵(lì)機(jī)制。
3)眾包結(jié)果的質(zhì)量控制。通過對(duì)眾包工作者提交的結(jié)果質(zhì)量進(jìn)行評(píng)估,來(lái)識(shí)別一些惡意的工作者,保證眾包任務(wù)的質(zhì)量[9]。目前最流行的方法是通過建立概率模型,并使用期望最大化(Expectation Maximization, EM)算法和其他推理工具計(jì)算誤差率,進(jìn)而對(duì)眾包人員的工作進(jìn)行評(píng)價(jià)[10]。
然而,上述研究?jī)H對(duì)眾包測(cè)試質(zhì)量的保證措施開展,而未針對(duì)影響眾包測(cè)試質(zhì)量的基本關(guān)鍵因素進(jìn)行深入分析。本文從眾包測(cè)試人員、眾包測(cè)試平臺(tái)、眾包測(cè)試任務(wù)這3個(gè)方面出發(fā),結(jié)合斯皮爾曼相關(guān)分析、多元逐步回歸技術(shù)對(duì)移動(dòng)應(yīng)用眾包測(cè)試進(jìn)行全面的質(zhì)量影響因素分析,進(jìn)而篩選出移動(dòng)應(yīng)用眾包測(cè)試質(zhì)量關(guān)鍵影響因素。
移動(dòng)應(yīng)用眾包測(cè)試質(zhì)量影響因素的分析過程主要包括數(shù)據(jù)收集、斯皮爾曼相關(guān)系數(shù)分析、逐步回歸法建立模型、模型評(píng)估這幾個(gè)步驟,其具體過程如圖1所示。
圖1 移動(dòng)應(yīng)用眾包測(cè)試質(zhì)量影響因素分析過程
首先,通過抓包程序抓取眾測(cè)平臺(tái)上近幾年的相關(guān)移動(dòng)應(yīng)用測(cè)試的數(shù)據(jù),并從眾包測(cè)試人員、眾包測(cè)試平臺(tái)、眾包測(cè)試任務(wù)三個(gè)維度來(lái)分析對(duì)測(cè)試質(zhì)量產(chǎn)生影響的因素。其次,通過斯皮爾曼相關(guān)系數(shù)計(jì)算各潛在因素與測(cè)試質(zhì)量之間的相關(guān)性,識(shí)別出與測(cè)試質(zhì)量顯著相關(guān)的因素,剔除掉與測(cè)試質(zhì)量相關(guān)性弱或無(wú)關(guān)的數(shù)據(jù)。最后,通過多元回歸分析方法建立各影響因素與測(cè)試質(zhì)量之間的分析模型,并使用相對(duì)平均誤差對(duì)模型評(píng)估,當(dāng)具備較好評(píng)估效果時(shí),則結(jié)束關(guān)鍵質(zhì)量影響因素的篩選過程。
表1 眾包測(cè)試人員、平臺(tái)及任務(wù)質(zhì)量影響因素
針對(duì)目前已有的移動(dòng)應(yīng)用眾包測(cè)試質(zhì)量研究成果[11]以及移動(dòng)應(yīng)用眾包測(cè)試相關(guān)特性,本文從眾包測(cè)試人員、眾包測(cè)試平臺(tái)、眾包測(cè)試任務(wù)3個(gè)方面對(duì)測(cè)試質(zhì)量影響因素進(jìn)行分析,并給出了相應(yīng)的度量方式。移動(dòng)應(yīng)用眾包測(cè)試質(zhì)量影響因素如圖2所示。
1)眾包測(cè)試人員因素。
眾包測(cè)試人員是眾包測(cè)試任務(wù)的執(zhí)行方,眾包測(cè)試人員的專業(yè)能力以及信用問題等都會(huì)對(duì)眾測(cè)結(jié)果產(chǎn)生極大影響,因此在眾包測(cè)試任務(wù)執(zhí)行過程中,邀請(qǐng)高水平、高信用的眾包測(cè)試人員十分關(guān)鍵。
2)眾包測(cè)試平臺(tái)因素。
眾包測(cè)試平臺(tái)是眾包測(cè)試工作的開展平臺(tái),為測(cè)試人員提供測(cè)試任務(wù)選擇與接收以及測(cè)試相關(guān)工具。在測(cè)試平臺(tái)方面,任務(wù)發(fā)布天數(shù)是衡量一個(gè)平臺(tái)的重要因素,該因素說明平臺(tái)用戶的活躍程度。當(dāng)存在較多活躍用戶及任務(wù)數(shù),任務(wù)質(zhì)量也相對(duì)較高。
圖2 移動(dòng)應(yīng)用眾包測(cè)試質(zhì)量影響因素
3)眾包測(cè)試任務(wù)基本信息因素。
眾包測(cè)試任務(wù)基本信息是眾包測(cè)試任務(wù)發(fā)布的基本信息,如測(cè)試需求、薪酬、測(cè)試周期等。眾包測(cè)試任務(wù)基本信息是對(duì)參與測(cè)試人員的篩選,也是測(cè)試人員衡量任務(wù)是否合適自己的標(biāo)準(zhǔn),故眾包測(cè)試任務(wù)的基本信息也對(duì)測(cè)試質(zhì)量有潛在影響[12]。
綜上所述,移動(dòng)應(yīng)用眾包測(cè)試人員、平臺(tái)及任務(wù)三個(gè)方面的影響因素及度量方式如表1所示。
為研究各潛在因素與測(cè)試質(zhì)量之間的相關(guān)密切程度,分析出移動(dòng)應(yīng)用眾包測(cè)試質(zhì)量顯著相關(guān)的因素,需要進(jìn)行相關(guān)性分析。在正式進(jìn)行研究之前,本文從模擬搭建的小型眾包平臺(tái)中提取了200個(gè)相關(guān)數(shù)據(jù)作為訓(xùn)練樣本,經(jīng)過研究對(duì)比,發(fā)現(xiàn)這些數(shù)據(jù)中影響因素與測(cè)試質(zhì)量之間的聯(lián)合分布不一定滿足正態(tài)分布,因此在本文中采用斯皮爾曼相關(guān)系數(shù)來(lái)研究各潛在因素與測(cè)試質(zhì)量之間的相關(guān)性。經(jīng)過對(duì)訓(xùn)練樣本的實(shí)驗(yàn),發(fā)現(xiàn)采用斯皮爾曼相關(guān)系數(shù)可以快速且準(zhǔn)確地篩選出移動(dòng)應(yīng)用眾包測(cè)試關(guān)鍵影響因素,故證明本方法是有效的。
斯皮爾曼相關(guān)系數(shù)也稱秩相關(guān)系數(shù),是利用兩個(gè)變量的秩次大小來(lái)作線性相關(guān)分析,對(duì)于原始變量的分布不作要求,屬于非參數(shù)型統(tǒng)計(jì)方法。
斯皮爾曼相關(guān)系數(shù)計(jì)算時(shí),需要對(duì)樣本數(shù)據(jù)進(jìn)行排秩,其計(jì)算公式如下:
(1)
其中:di2=(R1i-R2i)2,表示兩變量之間秩差的平方,n為樣本容量,表示該潛在影響因素與測(cè)試質(zhì)量有n對(duì)樣本值。rs的取值范圍在-1~+1,即-1≤rs≤1,rs>0為正相關(guān),rs<0為負(fù)相關(guān),如果rs=0,表示兩個(gè)變量之間完全不相關(guān)。
利用相關(guān)系數(shù)分析,僅是獲取因變量和自變量相關(guān)關(guān)系的方向和密切程度,需要通過回歸分析建立分析模型進(jìn)一步分析與測(cè)試質(zhì)量顯著相關(guān)的因素與測(cè)試質(zhì)量之間的相互依賴關(guān)系。為了消除多重共線性對(duì)最終分析結(jié)果造成的干擾,本文采用逐步回歸法建立分析模型。
使用逐步回歸方法建立眾包測(cè)試質(zhì)量分析模型的過程中將逐個(gè)引入自變量,并在引入同時(shí)檢查是否可以剔除某個(gè)變量,具體的實(shí)現(xiàn)步驟如下:
通過前一階段斯皮爾曼相關(guān)系數(shù)分析,篩選出p個(gè)與眾包測(cè)試質(zhì)量顯著相關(guān)的因素為自變量,測(cè)試質(zhì)量為因變量,就可以建立多元回歸模型。
多元回歸模型建立步驟:
首先對(duì)p個(gè)質(zhì)量影響因素xi(1≤i≤p)分別擬合線性回歸模型
y=β0+βixi+ε
(2)
其中:β0,β1,…,βp是p+1個(gè)未知參數(shù),ε是不可預(yù)測(cè)的隨機(jī)誤差,且通常假定ε~N(0,δ2)。y為因變量,即測(cè)試質(zhì)量,影響因素xi為自變量,即上一階段得出的與測(cè)試質(zhì)量顯著相關(guān)的影響因素。
然后計(jì)算F統(tǒng)計(jì)量:
(3)
其中:SSR(xi)表示通過該影響因素預(yù)測(cè)的測(cè)試質(zhì)量與實(shí)際測(cè)試質(zhì)量的均值的差的平方和,也稱之為回歸平方和;MSE(xi)表示通過該影響因素預(yù)測(cè)的測(cè)試質(zhì)量與實(shí)際測(cè)試質(zhì)量的差的平方和的均值。
選出F統(tǒng)計(jì)量中的最大值Fmax與測(cè)試質(zhì)量影響因素的F臨界值FE進(jìn)行比較:若Fmax≤FE,即除該影響因素xi1外的其他影響因素中沒有一個(gè)是統(tǒng)計(jì)上顯著的,則選取過程結(jié)束,上一步選擇的模型為最優(yōu)模型;若Fmax>FE,則表示影響因素xi2質(zhì)量的影響是顯著的,則將自變量xi2選入模型中。
此外,需計(jì)算當(dāng)xi2進(jìn)入模型后,xi2對(duì)y的影響是否仍然顯著。計(jì)算公式如下:
(4)
重復(fù)以上步驟,直到?jīng)]有新的影響因素能進(jìn)入模型,同時(shí)在模型之中的已有影響因素都無(wú)法剔除,則結(jié)束選擇過程。最后一個(gè)模型即為所求的最優(yōu)回歸模型,其得出的結(jié)果即可反映各影響因素與測(cè)試質(zhì)量間的依賴關(guān)系。其中該模型中的自變量便為與測(cè)試質(zhì)量顯著相關(guān)的影響因素,相關(guān)系數(shù)即為該影響因素與測(cè)試質(zhì)量之間的密切程度。
通過獲取某移動(dòng)應(yīng)用眾包測(cè)試平臺(tái)相關(guān)數(shù)據(jù),根據(jù)斯皮爾曼相關(guān)系數(shù)計(jì)算出各因素與測(cè)試質(zhì)量之間的關(guān)聯(lián)關(guān)系,進(jìn)而篩選出關(guān)聯(lián)性較強(qiáng)的關(guān)鍵影響因素,利用多元逐步回歸法建立各影響因素與測(cè)試質(zhì)量之間的線性關(guān)系。最后計(jì)算出模型預(yù)測(cè)結(jié)果與樣本實(shí)際結(jié)果之間的平均相對(duì)誤差完成對(duì)模型的評(píng)估分析。
本文通過爬蟲程序,獲取了某移動(dòng)應(yīng)用眾包測(cè)試平臺(tái)上發(fā)布的各類測(cè)試信息,包括任務(wù)類型、任務(wù)薪酬、測(cè)試周期等,測(cè)試人員的測(cè)試經(jīng)驗(yàn)、專業(yè)能力、信譽(yù)等級(jí)以及平臺(tái)成熟度等相關(guān)數(shù)據(jù)。在獲取到的2 048個(gè)測(cè)試任務(wù)數(shù)據(jù)中,分別統(tǒng)計(jì)眾包測(cè)試人員、平臺(tái)及任務(wù)樣本數(shù)據(jù)如表2所示。
表2 眾包測(cè)試人員、平臺(tái)、任務(wù)樣本數(shù)據(jù)
根據(jù)獲取到的數(shù)據(jù)以及各因素?cái)?shù)據(jù)的分布特征進(jìn)行相關(guān)性分析。利用3.1節(jié)中的斯皮爾曼相關(guān)分析法,計(jì)算各影響因素與測(cè)試質(zhì)量之間的斯皮爾曼的相關(guān)系數(shù),以及在0.05的顯著性水平下,各影響因素與測(cè)試質(zhì)量之間的斯皮爾曼顯著性,計(jì)算結(jié)果如表3所示。
表3 斯皮爾曼相關(guān)系數(shù)結(jié)果
由表7可知,在顯著性水平為0.05時(shí),對(duì)測(cè)試質(zhì)量有顯著影響的因素有測(cè)試人員測(cè)試經(jīng)驗(yàn)、測(cè)試人員專業(yè)能力、測(cè)試人員信譽(yù)度、參與任務(wù)數(shù)量、按時(shí)交稿任務(wù)數(shù)量、設(shè)計(jì)測(cè)試用例數(shù)量、測(cè)試用例執(zhí)行數(shù)量、發(fā)現(xiàn)Bug數(shù)量、有效Bug數(shù)量、近期活躍用戶數(shù)量、近期平均任務(wù)質(zhì)量、任務(wù)類型、任務(wù)要求數(shù)目、需求文檔長(zhǎng)度這14個(gè)因素。其中任務(wù)要求數(shù)目和需求文檔長(zhǎng)度的相關(guān)系數(shù)為負(fù)數(shù),表明其值越高,則測(cè)試質(zhì)量越低,其余因素皆與測(cè)試質(zhì)量呈正相關(guān);收益、測(cè)試周期、測(cè)試環(huán)境等由于樣本值分布比較集中,對(duì)測(cè)試任務(wù)區(qū)分性小,因此與測(cè)試質(zhì)量沒有顯著相關(guān)性;測(cè)試人員專業(yè)能力和測(cè)試人員經(jīng)驗(yàn)這兩個(gè)因素之間具有重復(fù)性。因此可以篩選出測(cè)試人員專業(yè)能力、按時(shí)交稿任務(wù)數(shù)量、有效Bug數(shù)量、平均任務(wù)質(zhì)量、任務(wù)類型、任務(wù)要求數(shù)目這6項(xiàng)為關(guān)鍵質(zhì)量影響因素。
4.3.1 多元逐步回歸模型建立
將斯皮爾曼相關(guān)分析識(shí)別出的6個(gè)顯著影響因素作為模型的輸入,測(cè)試人員測(cè)試質(zhì)量的分值作為輸出,建立多元逐步回歸模型。各影響因素的系數(shù)β、t檢驗(yàn)值、P值以及方差膨脹因子(Variance Inflation Factor, VIF)的回歸結(jié)果如表4所示。
根據(jù)表4可知,該回歸模型中所有影響因素的P值是小于0.05的,表明其對(duì)測(cè)試質(zhì)量有顯著影響,并且各影響因素的方差膨脹因子VIF均小于1.5,表明多元線性回歸模型中不存在多重共線性。
表4 回歸系數(shù)表
依據(jù)多元回歸結(jié)果,對(duì)測(cè)試質(zhì)量有顯著影響的6個(gè)關(guān)鍵質(zhì)量影響因素,可以用式(5)的多元線性回歸方程表示,其中TQ表示任務(wù)質(zhì)量。
TQ=20.343+0.012×professionalAbility+0.291×SubmitTNum+0.087×ValidBugNum+0.577×TaskQuality+0.042×TaskType-0.153×TaskItemNum
(5)
從式(5)可以看到,在6項(xiàng)關(guān)鍵質(zhì)量影響因素中,對(duì)移動(dòng)應(yīng)用眾包測(cè)試質(zhì)量影響程度最大的為近期平均任務(wù)質(zhì)量,其次為按時(shí)交稿任務(wù)數(shù)量。所以發(fā)包方為了提高移動(dòng)應(yīng)用眾包測(cè)試質(zhì)量,可以考慮以上6個(gè)因素,尤其是可以選擇近期平均任務(wù)質(zhì)量高及按時(shí)交稿任務(wù)數(shù)量高的測(cè)試人員來(lái)完成任務(wù)。
4.3.2 模型評(píng)估
為驗(yàn)證多元線性回歸模型結(jié)果的準(zhǔn)確性,本文使用平均相對(duì)誤差(Mean Relative Error, MRE)作為衡量指標(biāo),具體的計(jì)算公式如下:
(6)
其中:n為樣本數(shù)量,Qi為樣本值,Qi′為預(yù)測(cè)值,MRE的值越小表明模型的準(zhǔn)確率越高,效果越好。本文隨機(jī)抽取樣本數(shù)據(jù)集中的近15天的數(shù)據(jù)為測(cè)試樣本,進(jìn)行模型效果的計(jì)算,計(jì)算結(jié)果MRE值為3.08%。根據(jù)式(5)對(duì)模型結(jié)果進(jìn)行預(yù)測(cè),并以模型的預(yù)測(cè)值與網(wǎng)站樣本值作比較,在SPSS中建立如圖3所示的散點(diǎn)圖。
圖3 預(yù)測(cè)值與樣本值散點(diǎn)圖
MRE的結(jié)果值為3.08%表明模型的平均相對(duì)誤差很小,同時(shí)在圖3可以看到,檢驗(yàn)數(shù)據(jù)中樣本值和預(yù)測(cè)值的結(jié)果非常接近,表明多元線性回歸模型和樣本數(shù)據(jù)集具備較好的擬合程度。因此,對(duì)于移動(dòng)應(yīng)用眾包測(cè)試質(zhì)量影響因素分析,本文構(gòu)建的基于斯皮爾曼相關(guān)分析及多元逐步回歸模型分析方法具有較好的適用性。
傳統(tǒng)眾包任務(wù)的評(píng)分機(jī)制往往是由眾包任務(wù)的發(fā)布者及專業(yè)的評(píng)審人員根據(jù)提交的軟件與需求的符合程度來(lái)對(duì)軟件的質(zhì)量打分,因此,眾測(cè)平臺(tái)采用的質(zhì)量評(píng)價(jià)機(jī)制所提供的測(cè)試質(zhì)量得分也可以比較客觀地反映眾包測(cè)試人員完成測(cè)試任務(wù)的程度,和發(fā)現(xiàn)bug的數(shù)量以及等級(jí)。然而這種評(píng)分機(jī)制仍可能存在發(fā)布者惡意差評(píng)、專家在大量任務(wù)評(píng)估時(shí)出現(xiàn)差錯(cuò)、消耗大量人力、評(píng)價(jià)效率低下等問題。為了進(jìn)一步說明,本文在剔除任務(wù)發(fā)布者惡意差評(píng)的情況下,從測(cè)試樣本中隨機(jī)選取50,100,…,500組評(píng)分,以任務(wù)發(fā)布者評(píng)分為基準(zhǔn),分別計(jì)算本模型的評(píng)分及專家評(píng)分與任務(wù)發(fā)布者評(píng)分之間的平均相對(duì)誤差。計(jì)算結(jié)果如圖4所示。
由圖4可知,隨著樣本數(shù)量的增加,專家評(píng)分的平均相對(duì)誤差逐漸變大,而本模型評(píng)價(jià)的平均相對(duì)誤差卻穩(wěn)定在一個(gè)相對(duì)較小的水平,說明本模型結(jié)果的可靠性。雖然大部分情況下,任務(wù)發(fā)布者的評(píng)分是客觀的,但仍存在少數(shù)惡意差評(píng)的情況。通過本模型,可以高效且準(zhǔn)確地對(duì)任務(wù)質(zhì)量進(jìn)行評(píng)價(jià),也進(jìn)一步說明本文篩選出的6個(gè)關(guān)鍵影響因素是準(zhǔn)確的,可通過對(duì)這6個(gè)關(guān)鍵影響因素對(duì)測(cè)試質(zhì)量進(jìn)行控制與提升。
由于影響移動(dòng)應(yīng)用眾包測(cè)試質(zhì)量的因素眾多,難以從中識(shí)別關(guān)鍵影響因素。本文通過斯皮爾曼相關(guān)系數(shù)分析及逐步回歸法建立分析模型對(duì)移動(dòng)應(yīng)用眾包測(cè)試質(zhì)量影響因素進(jìn)行分析篩選,識(shí)別出移動(dòng)應(yīng)用眾包測(cè)試關(guān)鍵質(zhì)量影響因素。下一步將深入研究如何利用質(zhì)量影響因素有效提高移動(dòng)應(yīng)用眾包測(cè)試質(zhì)量。