黃靜旋,林怡坤,鄧志敏
(廣東軟件測評中心,廣東 廣州 510663)
眾包測試(crowdsourcing test)簡稱眾測,其作為一種不同于傳統(tǒng)軟件測試方式的新方法,引起了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注[1-6]。與傳統(tǒng)的軟件測試相比,眾測主要是將測試任務(wù)(test task)在線上發(fā)布,由眾測工人(crowd worker)領(lǐng)取任務(wù)并完成。眾測工人可以處于不同地域,且其測試經(jīng)驗(yàn)和測試技能參差不齊。在完成測試以后,眾測工人會提交測試報(bào)告(test report)來描述測試軟件的行為、執(zhí)行結(jié)果和存在的缺陷,開發(fā)維護(hù)人員會根據(jù)測試報(bào)告來復(fù)現(xiàn)并修改軟件的缺陷或問題。該方式可以提供多元的測試環(huán)境,提高缺陷檢測效果,至關(guān)重要的一點(diǎn)是可以降低測試費(fèi)用。
現(xiàn)有針對眾測的研究大多是圍繞眾測流程、眾測平臺以及眾測的安全可靠性等方面展開的,但在實(shí)際的眾測實(shí)施過程中,眾測工人是整個任務(wù)測試過程中極其重要的一部分,而目前對于眾測工人的研究較少。因此,本文主要研究眾測工人在眾測實(shí)施過程中發(fā)揮的作用。為了解眾測工人的能力水平和參與測試的積極性,本文提出以下3 個方面的問題:①眾測工人的能力水平如何量化判定?②如何有效地對眾測工人的能力水平進(jìn)行等級劃分?③眾測工人參與測試任務(wù)的積極性受哪些因素影響?
基于上述問題,采用以下4 個指標(biāo)來定義眾測工人的能力水平,分別是任務(wù)接收率、任務(wù)難度等級、任務(wù)完成率和測試報(bào)告質(zhì)量良好率。任務(wù)接收率是通過眾測工人在平臺測試任務(wù)中接收的任務(wù)數(shù)量來計(jì)算的;任務(wù)難度等級是根據(jù)任務(wù)難度,按照非常難、難、一般、容易、非常容易5個等級劃分的;任務(wù)完成率是通過眾測工人完成測試任務(wù)的數(shù)量進(jìn)行計(jì)算的;報(bào)告質(zhì)量良好率是通過眾測工人提交的測試用例數(shù)量和缺陷數(shù)量綜合計(jì)算的。
本文提出一種計(jì)算眾測工人能力水平的指標(biāo)和方法,能夠同時考慮任務(wù)接收率、任務(wù)難度等級、任務(wù)完成率和報(bào)告質(zhì)量良好率4 方面指標(biāo)。首先,通過平臺實(shí)際數(shù)據(jù),利用SPSS 工具對數(shù)據(jù)進(jìn)行分析,得到成分得分系數(shù)矩陣,將其作為指標(biāo)的權(quán)重系數(shù);然后,根據(jù)權(quán)重系數(shù)可計(jì)算出參與任務(wù)的眾測工人能力水平值。在此基礎(chǔ)上,根據(jù)眾測工人的能力水平值可更好地對眾測工人進(jìn)行等級劃分,為其在進(jìn)行任務(wù)選擇時提供參考,并且可以提高眾測工人參與任務(wù)的積極性。最后,本文通過調(diào)查問卷方式對500 多名眾測工人的信息進(jìn)行統(tǒng)計(jì),分析了影響眾測工人參與任務(wù)積極性水平的因素,并針對上述影響因素提出一種針對眾測工人的管理模式,同時提出將其運(yùn)用于實(shí)際項(xiàng)目中的一個具體實(shí)踐方法。
隨著很多眾測平臺(例如uTest、Pay4Bugs、百度眾測、群智眾測等)的興起,測試活動不再拘束于面對面和點(diǎn)對點(diǎn),而是可以分布在不同時間、不同地點(diǎn)、不同設(shè)備上面,從而使測試活動變得更加高效、全面。
崔強(qiáng)等[7]主要關(guān)注如何為新的測試任務(wù)選擇一組合適的眾測工人,從而提高缺陷檢測率和需求關(guān)鍵點(diǎn)覆蓋度。通過實(shí)驗(yàn)驗(yàn)證,發(fā)現(xiàn)眾測工人的主動性、相關(guān)性和多樣性從不同角度影響著測試質(zhì)量,并給出了其度量方法。但是研究忽視了眾測工人自身的能力水平對于測試任務(wù)的影響,僅僅只是通過相關(guān)性來描述眾測工人與任務(wù)之間的關(guān)系。
唐文君等[8]主要討論了基于強(qiáng)化學(xué)習(xí)的Web 服務(wù)眾測任務(wù)分派方法,采用該方法可將眾包測試任務(wù)分派給合適的眾測工人,以較低成本獲得更好的測試結(jié)果。其根據(jù)眾測工人執(zhí)行任務(wù)的歷史時間,通過統(tǒng)計(jì)條件概率計(jì)算眾測工人在任務(wù)期限內(nèi)完成任務(wù)的概率,并將其作為眾測工人的信譽(yù)值來反映眾測工人質(zhì)量,同時在每次任務(wù)分派完成后對眾測工人信譽(yù)值進(jìn)行更新。但該方法對于眾測工人的評價比較單一,并不能完整、充分地體現(xiàn)眾測工人的能力水平。
Cheng 等[9]主要對移動應(yīng)用眾包測試質(zhì)量影響因素進(jìn)行分析,針對移動應(yīng)用眾包測試質(zhì)量影響因素復(fù)雜多樣致使測試質(zhì)量難以評估的問題,提出一種基于斯皮爾曼相關(guān)系數(shù)分析的測試質(zhì)量影響因素分析方法。該方法主要圍繞眾包平臺、測試任務(wù)和眾測工人三方面展開,其中并沒有過多地對眾測工人的能力和積極性水平進(jìn)行分析,而是將眾測工人的測試經(jīng)驗(yàn)、專業(yè)能力、信譽(yù)度、接收任務(wù)數(shù)、完成任務(wù)數(shù)作為眾多因素之一進(jìn)行考慮。
從以上文獻(xiàn)可知,已有研究的側(cè)重點(diǎn)主要是眾測流程、眾測平臺以及眾測的安全可靠性等方面內(nèi)容,并沒有認(rèn)真考慮到眾測工人這一具體群體在實(shí)際平臺運(yùn)行和項(xiàng)目任務(wù)完成過程中起到的作用,其作用可能是積極的,也可能是消極的。如果處理不好,甚至可能造成整個平臺或任務(wù)的癱瘓。
隨著工業(yè)環(huán)境下系統(tǒng)軟件的快速發(fā)展,軟件測試越來越受到人們的重視。但傳統(tǒng)的軟件測試在一些時候并不能滿足測試的基本需求,因此眾測引起了研究者們的注意。眾測通過將眾包的概念引入到軟件測試領(lǐng)域,能夠幫助軟件開發(fā)人員和測試工程師發(fā)現(xiàn)更多的軟件缺陷[10-12]。下面介紹眾測的相關(guān)概念以及基本流程。
本文涉及眾測中的4 個基本概念,分別是眾測平臺、測試任務(wù)、眾測工人、測試報(bào)告。
眾測平臺:指一個集合各方需求的綜合性平臺。眾測發(fā)包方可以發(fā)布需求,眾測接包方可以接收任務(wù),眾測平臺作為媒介為發(fā)包方和接包方提供信息交流的平臺。
測試任務(wù):指發(fā)布在眾測平臺上的軟件測試任務(wù),其包含了發(fā)布者的基本信息以及對于測試需求的說明和相關(guān)文檔信息。
眾測工人:指眾測平臺招募的參與測試任務(wù)的工作人員。眾測平臺可以根據(jù)眾測工人完成測試任務(wù)的數(shù)量及質(zhì)量對其進(jìn)行等級劃分,以便更好地完成測試任務(wù)。
測試報(bào)告:眾測工人在完成測試任務(wù)后會形成一個文字說明,其中包含測試類型、測試說明、測試輸入、操作步驟、軟件行為描述、軟件執(zhí)行結(jié)果以及缺陷標(biāo)記等內(nèi)容。
如圖1 所示,眾測是由眾測平臺、眾測接包方和眾測發(fā)包方三方組成的。眾測發(fā)包方將需要進(jìn)行測試的軟件需求發(fā)布在眾測平臺上,眾測平臺在接受發(fā)包方的請求后,將需求發(fā)布在眾測廣場,發(fā)包方的需求經(jīng)過處理后形成眾測任務(wù)。眾測工人作為眾測接包方,根據(jù)任務(wù)類型以及自身喜好選擇接收任務(wù)與否。當(dāng)眾測工人接收任務(wù)后,按照發(fā)包方的需求對系統(tǒng)軟件進(jìn)行測試。如果工人的測試能力較差,接收一些不了解的任務(wù)后,可能會出現(xiàn)任務(wù)無法完成或完成質(zhì)量較差的情況;如果工人的測試能力一般,也可能會出現(xiàn)測試任務(wù)無法完成或完成質(zhì)量較差的情況,但是相比前者而言,任務(wù)的完成率有一定提升,報(bào)告的良好率也會更加符合發(fā)包方的需求;如果工人的測試能力較強(qiáng),且選擇的任務(wù)也符合自己的測試方向,則任務(wù)的完成率以及報(bào)告的良好率將會有大幅提升,且在滿足發(fā)包方需求方面會做的更好。最終在完成測試后,眾測工人形成測試報(bào)告并提交到眾測平臺。因?yàn)闇y試報(bào)告含有大量冗余和重復(fù)的信息,平臺方會對報(bào)告進(jìn)行融合處理,并對眾測工人提交的每一份測試報(bào)告作出質(zhì)量評價,形成一份最終的測試鑒定報(bào)告反饋給眾測發(fā)包方,自此一個項(xiàng)目的眾測基本流程執(zhí)行完畢。
Fig.1 Basic flow of crowdsourcing test圖1 眾測基本流程
軟件測試需求方在群智眾測平臺發(fā)布眾測任務(wù),任務(wù)需要一定數(shù)量的眾測工人參與進(jìn)來,但是眾測任務(wù)在測試難度和測試需求上會有不同要求??紤]到眾測工人的能力水平參差不齊,而在實(shí)際群智平臺運(yùn)營工作中,平臺只是對任務(wù)的接收和完成情況進(jìn)行了統(tǒng)計(jì)。通過計(jì)算對眾測工人進(jìn)行等級劃分,從一個側(cè)面可以反映出眾測工人的能力水平。但是,這種做法缺乏對測試報(bào)告質(zhì)量的考查,以及任務(wù)難度對于眾測工人能力的影響。如果將報(bào)告質(zhì)量和任務(wù)難度考慮進(jìn)去,眾測工人的能力水平等級劃分更能體現(xiàn)出一定的科學(xué)性。因此,本文提出判定眾測工人能力水平的4 個指標(biāo),分別是任務(wù)接收率、任務(wù)難度等級、任務(wù)完成率和報(bào)告質(zhì)量良好率。
首先,眾測工人在平臺中項(xiàng)目任務(wù)接收數(shù)量ti(i=1,2,…,n)與實(shí)際項(xiàng)目數(shù)量ni(i=1,2,…,n)的比值就是任務(wù)接收率ri(i=1,2,…,n)。公式如下:
其次,眾測工人可能因?yàn)楦鞣N原因,無法正常按時按質(zhì)完成接收的任務(wù)。因此,對完成的任務(wù)數(shù)量fi(i=1,2,…,m,m ≤n)進(jìn)行統(tǒng)計(jì),完成的任務(wù)數(shù)量與接收任務(wù)數(shù)量之間的比值就是任務(wù)完成率ci(i=1,2,…,m,m ≤n)。公式如下:
再次,平臺在進(jìn)行任務(wù)發(fā)布時,對任務(wù)難度按照非常難、難、一般、容易、非常容易5 個等級hi(i=1,2,3,4,5)進(jìn)行劃分,數(shù)字越大,等級越高。每一個等級對應(yīng)一個分?jǐn)?shù)區(qū)間,分別是:0.8
最后,根據(jù)測試工人提交的測試報(bào)告,統(tǒng)計(jì)所有報(bào)告中的測試用例數(shù)量oi(i=1,2,…,a)以及缺陷數(shù)量pi(i=1,2,…,b),并對其進(jìn)行綜合計(jì)算,計(jì)算結(jié)果即為報(bào)告質(zhì)量良好率q。公式如下:
其中,Wi表示眾測工人的能力水平值。
從公式(7)中可以看出,眾測工人的能力水平是由4個方面因素共同決定的,無論是眾測新工人,還是老工人,熟能生巧,當(dāng)接包達(dá)到一定數(shù)量,其熟練度和技巧性也就可以達(dá)到一定水平,所以采用接收率來表示眾測工人的工作承受能力。但是,接收率并不能完全表示眾測工人的能力水平,測試任務(wù)不同,難度也不同,有的任務(wù)需要一定的知識儲備。因此,任務(wù)的復(fù)雜度體現(xiàn)了眾測工人的能力水平。同樣,任務(wù)完成情況也可以體現(xiàn)眾測工人的能力水平。因?yàn)樵趯?shí)際的工作過程中,很多眾測工人對自己的能力認(rèn)識不足,同時對任務(wù)的評估也不足,當(dāng)接收了任務(wù)以后,由于難度系數(shù)較大,或者測試項(xiàng)目不對口,很難及時完成,有的則是直接選擇放棄,因此任務(wù)完成率可以作為衡量個人能力水平的一個指標(biāo)。最后,在任務(wù)接收率和完成率達(dá)到一定要求時,測試報(bào)告質(zhì)量良好率是檢測眾測工人能力水平的另一個指標(biāo)。因?yàn)樵谕瓿赡骋豁?xiàng)任務(wù)時都要提交一定數(shù)量的測試報(bào)告或者缺陷報(bào)告,在提交的這些報(bào)告中,每個人針對項(xiàng)目的測試需求都會編寫相應(yīng)的測試用例,用例的多少可以反映一定的測試覆蓋率。覆蓋率越大,則找出問題缺陷的可能性越大,發(fā)現(xiàn)的缺陷越多,則說明在測試過程中工人的測試能力突出,且對于測試項(xiàng)目的認(rèn)識也很迅速。因此,結(jié)合測試用例數(shù)量和缺陷數(shù)量可以給出報(bào)告質(zhì)量的優(yōu)良等級。
因此,通過上述分析,本文以任務(wù)接收率、任務(wù)難度等級、任務(wù)完成率和報(bào)告質(zhì)量良好率4 個方面作為衡量眾測工人能力水平的4 個指標(biāo),其中任務(wù)接收率和任務(wù)完成率是整體指標(biāo),而任務(wù)難度等級和報(bào)告質(zhì)量良好率是個體差異性指標(biāo)。
如何對眾測工人能力水平值進(jìn)行精準(zhǔn)判別,本文提出了以任務(wù)接收率、任務(wù)復(fù)雜度、任務(wù)完成率和報(bào)告質(zhì)量良好率作為衡量眾測工人能力水平的4 個指標(biāo)。為了確定任務(wù)接收率、任務(wù)難度等級、任務(wù)完成率和報(bào)告質(zhì)量良好率4 個影響因素是如何影響眾測工人能力水平的,分別給定4 個權(quán)重系數(shù):α、β、γ、δ,則可以得到針對單個眾測工人的能力水平值Wi(i=1,2,…,n),公式如下:
利用SPSS 工具中的因子分析方法對群智眾測平臺50個實(shí)際測試任務(wù)中153 名眾測工人的實(shí)際數(shù)據(jù)進(jìn)行分析,可以得到如表1所示的KMO 和巴特利特檢驗(yàn)結(jié)果。
Table 1 KMO and Bartlett test table表1 KMO與巴特利特檢驗(yàn)表
KMO 檢驗(yàn)是為了驗(yàn)證所使用的數(shù)據(jù)是否適合采用因子分析方法進(jìn)行分析處理,其取值范圍是0~1。其中,0.9~1 表示極好,0.8~0.9 表示很好,0.7~0.8 表示中等,0.6~0.7 表示一般,0.5~0.6 表示可接受,0~0.5 表示不可接受。本文數(shù)據(jù)得到的KMO 取值為0.576,表明數(shù)據(jù)可以進(jìn)行因子分析。而巴特利特檢驗(yàn)是為了檢驗(yàn)數(shù)據(jù)是否滿足服從多元正態(tài)分布的總體要求,表中顯著性值為0.000,小于0.05,拒絕各變量獨(dú)立的假設(shè),變量間具有較強(qiáng)的相關(guān)性。同時說明數(shù)據(jù)來自正態(tài)分布總體,適合作進(jìn)一步分析處理。
變量共同度表示各變量中所含原始信息能被提取的公因子解釋的程度,采用主成分分析方法,結(jié)果如表2 所示。因?yàn)楸疚臄?shù)據(jù)的變量共同度基本都在85%以上,所以提取的公因子對各變量的解釋能力很強(qiáng)。
Table 2 Common factor variance table表2 公因子方差表
總方差解釋如表3 所示?!俺跏继卣髦怠币涣酗@示只有前兩個特征值大于1,所以SPSS 只選擇了前兩個主成分?!疤崛≥d荷平方和”一列顯示第一主成分的方差貢獻(xiàn)率是57.112%,前兩個主成分的方差占所有主成分方差的85.025%。由此可見,選前兩個主成分已足夠替代原來的變量,基本上涵蓋了原變量的大部分信息。而“旋轉(zhuǎn)載荷平方和”一列顯示的是旋轉(zhuǎn)以后的因子提取結(jié)果,與未旋轉(zhuǎn)之前差別不大。
Table 3 Total variance explaination table表3 總方差解釋表
最終得到成分得分系數(shù)矩陣如表4 所示,據(jù)此可以直接寫出各公因子的表達(dá)式。需要說明的是,在表達(dá)式中各個變量已經(jīng)不是原始變量,而是標(biāo)準(zhǔn)化變量。但是本文只考慮各個指標(biāo)變量是如何影響眾測工人能力水平的,以及各指標(biāo)變量在總量中占比多少。因此,在這里僅僅只是將成分得分系數(shù)作為權(quán)重系數(shù)來看待,以解釋各個指標(biāo)在實(shí)際運(yùn)用中所占比重,并不需要考慮如何將原始變量轉(zhuǎn)換為標(biāo)準(zhǔn)化變量。而在實(shí)際計(jì)算中,不考慮各指標(biāo)的負(fù)作用,在表4 中成分2 的任務(wù)接收率出現(xiàn)了-0.416,所以本文僅用成分1 的成分得分系數(shù)作為各指標(biāo)的權(quán)重系數(shù)α、β、γ、δ的值。因此,公式(8)可以書寫如下:
Table 4 Component score coefficient matrix table表4 成分得分系數(shù)矩陣表
對于一個平臺任務(wù),眾測工人接收與否純粹屬于個人主觀意愿,雖然接收率的高低對于完成率有積極影響,但其只能反映眾測工人接收任務(wù)意愿的高低。因此,接收率系數(shù)α為0.206。通過對數(shù)據(jù)進(jìn)行分析,可以知道測試任務(wù)完成率是任務(wù)完成情況的重要指標(biāo)之一。如果一個任務(wù)在平臺發(fā)布以后卻完成不了,只能說明平臺的測試效果并不是很好。就眾測工人個人而言,任務(wù)完成率與其個人完成率息息相關(guān)。因此,可以根據(jù)眾測工人的個人任務(wù)完成率來推定整個平臺的任務(wù)完成率,完成率系數(shù)β 為0.147。雖然任務(wù)的接收率越高,任務(wù)的完成率也隨之增加,但是因?yàn)槿蝿?wù)難度較大,即使接收率很高,完成率也不一定高,所以任務(wù)完成率是受到接收率和任務(wù)難度等級共同影響的,并且任務(wù)難度等級對眾測工人的影響較大。因此,眾測工人能夠解決更難的問題,表明其能力越強(qiáng),所以任務(wù)難度等級系數(shù)γ 為0.445。報(bào)告質(zhì)量的好壞是對于測試任務(wù)最終的鑒定,所以如果報(bào)告質(zhì)量太差,上述指標(biāo)即使全部達(dá)標(biāo),也很難說明測試的有效性。測試任務(wù)的整體報(bào)告質(zhì)量良好率與個人報(bào)告質(zhì)量良好率成正比,因此報(bào)告質(zhì)量系數(shù)是0.462。
眾測工人等級需要按照一定的層次進(jìn)行劃分,該層次劃分是按照任務(wù)接收率、任務(wù)難度等級、任務(wù)完成率和報(bào)告質(zhì)量良好率分別根據(jù)權(quán)重系數(shù)計(jì)算得到的。如圖2 所示,將眾測工人劃分為5 個等級,分別是測試小新、測試初級、測試中級、測試能手和測試達(dá)人。每一個等級又作了進(jìn)一步劃分,測試小新是V1~V15,測試初級是V16~V35,測試中級是V36~V80,測試能手是V81~V120,測試達(dá)人是V121++。眾測工人的等級需要進(jìn)行賦分,每一個等級之間相差10分,因此測試小新的分值是0~150,測試初級的分值是160~350,測試中級的分值是360~800,測試能手的分值是810~1 200,測試達(dá)人的分值是1 210++。每一個眾測任務(wù)在發(fā)布時也會進(jìn)行賦分,難度較大的賦分較高,一般為30分,難度中等的賦分一般為20 分,難度較低的賦分一般為10 分。眾測工人接收任務(wù),積極參與測試并完成,在提交測試報(bào)告后,通過計(jì)算即可知道參與該任務(wù)的眾測工人能力水平值。按照從高到低的順序?qū)と速x予分值,并加到眾測工人的原能力水平值中,分值積累達(dá)到相應(yīng)級別即可晉級。
Fig.2 Crowdsourcing test worker ability level grade division圖2 眾測工人能力水平等級劃分
下面對單個眾測工人能力水平值的計(jì)算進(jìn)行說明,假設(shè)某一任務(wù)的接收率為21%,完成率為71.4%,難度等級為0.4,假設(shè)眾測工人A 的報(bào)告質(zhì)量良好率為60%,眾測工人B 的報(bào)告質(zhì)量良好率為40%,眾測工人C 的報(bào)告質(zhì)量良好率為80%,通過公式(9)的計(jì)算可知眾測工人A、B、C 在任務(wù)測試過程中的能力水平值WA、WB、WC分別為0.603 4、0.511 0、0.695 8。
難度等級為0.4 的測試任務(wù)屬于中等難度等級,可以考慮對任務(wù)賦20 分。首先計(jì)算出所有眾測工人的能力水平值之和W總,然后計(jì)算出每名眾測工人能力水平值的占比R,最后通過占比計(jì)算出所獲取的分?jǐn)?shù)值S,將分?jǐn)?shù)值加到原有的能力水平值之上。公式如下:
假設(shè)眾測工人A 是測試初級,原始能力水平值已達(dá)到358 分,加上這次任務(wù)所獲得的6.66 分,就已經(jīng)滿360 分,成功晉級測試中級V36;眾測工人B 是測試小新,所處等級是V12,對應(yīng)分?jǐn)?shù)是128 分,此次加上最新的任務(wù)分?jǐn)?shù)已達(dá)到130分以上,則可以提升到V13。
從一個測試小新到達(dá)測試達(dá)人的時間周期大約是兩年,中間需要經(jīng)過測試初級、測試中級和測試能手3 個階段。通過這幾個階段,眾測工人的能力和經(jīng)驗(yàn)都有了大幅提升。將眾測工人進(jìn)行等級劃分是為了更好地服務(wù)于平臺的任務(wù)劃分,使工人能夠更高效地完成任務(wù),而不是將簡單任務(wù)和難度較高的任務(wù)一視同仁。因?yàn)楫?dāng)眾測工人的能力水平達(dá)不到要求時,可能無法按時保質(zhì)保量地完成測試任務(wù)。如果眾測工人始終滿足于接收一些簡單任務(wù),得到的分?jǐn)?shù)會很少,可能會長期停留在初級階段。但是如果接收難度等級較高的任務(wù),眾測工人獲取的分?jǐn)?shù)也會增多,等級就會逐步提升。任務(wù)的難度等級與經(jīng)濟(jì)效益成正比,因此工人等級越高,平臺也會更傾向于向其推薦難度更大且效益更高的測試任務(wù)。
在分析眾測工人的能力水平影響因素基礎(chǔ)上,對其能力水平值進(jìn)行描述和計(jì)算,并且結(jié)合實(shí)際項(xiàng)目將眾測工人等級劃分的方法進(jìn)行闡述。這種等級劃分不僅能解決眾測工人在選擇任務(wù)時的科學(xué)性問題,而且能避免在簡單任務(wù)中出現(xiàn)高薪酬的情況,在一定程度上還可以作為眾測工人參與測試任務(wù)積極性的判斷標(biāo)準(zhǔn)。因?yàn)楸姕y工人的能力水平值越高,參與完成測試的任務(wù)則越多,說明工人參與的積極性水平越高。在群智眾測平臺推廣前期,部分項(xiàng)目出現(xiàn)了眾測工人不愿意參與接收任務(wù)的情況,任務(wù)的完成率也達(dá)不到目標(biāo)要求,導(dǎo)致項(xiàng)目幾乎陷入停滯狀態(tài),所以從中可以看出眾測工人參與任務(wù)的積極性對于眾測平臺的重要性。因此,下文將對眾測工人的積極性水平影響因素和人員基本狀況進(jìn)行分析,針對如何提高眾測工人積極性水平提出相關(guān)解決辦法及其實(shí)現(xiàn)途徑。
在群智眾測平臺初期推廣運(yùn)營過程中,平臺上發(fā)布了一系列openEuler 相關(guān)的測試任務(wù)以及其他的軟件測試任務(wù)。因?yàn)闇y試任務(wù)存在一定難度和理解的復(fù)雜性,所以出現(xiàn)了人員參與測試積極性低迷的現(xiàn)象。通過觀察與分析,總結(jié)出了以下5個主要影響因素,如圖3所示。
Fig.3 Analysis of the influence of workers' enthusiasm in crowdsourcing test圖3 眾測工人積極性影響分析
(1)眾測工人的能力水平較差,對測試領(lǐng)域的知識技能不了解,怯于接收任務(wù)。眾測是一個新興事物,大多數(shù)人沒有接觸過,也不具備測試相關(guān)的業(yè)務(wù)知識。測試入門簡單,但是想要做好不容易,大多數(shù)人考慮到可能涉及領(lǐng)域知識,不敢輕易嘗試。
(2)對平臺任務(wù)接收模式不了解。平臺從部署到推廣時間較短,眾測工人對部分測試任務(wù)相關(guān)的業(yè)務(wù)流程不是很熟悉。因此,參與進(jìn)來的新人較少,只有一些早期參與測試的人員在堅(jiān)持,造成平臺人員成長速度過于緩慢。
(3)部分測試任務(wù)較繁瑣,難度較大。一些參與進(jìn)來的眾測工人對軟件的操作并不是很熟悉,有的任務(wù)甚至需要進(jìn)行代碼編程。當(dāng)開始的工作難度超出預(yù)期后,部分眾測工人因?yàn)槟芰ο拗?,沒有辦法靠自己能力獨(dú)立解決,會直接選擇放棄任務(wù)。
(4)測試任務(wù)費(fèi)用發(fā)放不及時,工人失去繼續(xù)做任務(wù)的信心。平臺業(yè)務(wù)審核較為緩慢,造成費(fèi)用發(fā)放周期拉長,使眾測工人出現(xiàn)了對平臺的信任危機(jī),擔(dān)心自己的付出得不到回報(bào)。
(5)眾測工人過于分散,信息獲取存在差異,難以形成向心力。測試人員的信息獲取均是以網(wǎng)絡(luò)聊天的形式進(jìn)行的,一些信息在理解上可能存在差異。因此,平臺與工人參與測試的積極性較低可能還有其他方面的因人之間難以進(jìn)行良好的互動,工人與工人之間也難以形成有效的經(jīng)驗(yàn)溝通和借鑒。
通過對眾測工人積極性水平影響因素進(jìn)行分析,了解了5 個方面的影響因素。為了探究5 個影響因素的合理性,采用問卷調(diào)查的方式對群智眾測平臺招募的500 多名線上眾測工人進(jìn)行信息采集和統(tǒng)計(jì)分析,包括職業(yè)、學(xué)歷、專業(yè)、對軟件測試的了解程度、參與眾測的目的、繼續(xù)參與眾測的意愿共6 個方面。對于職業(yè)、學(xué)歷和專業(yè)的統(tǒng)計(jì)是為了更好地了解參與測試人員的職業(yè)相關(guān)性及其對于任務(wù)的理解程度,可以大致了解眾測工人的能力水平;統(tǒng)計(jì)對軟件測試的了解程度是為了確定眾測工人的熟練程度占比,從而很好地劃分人員層次;參與眾測的目的是最能體現(xiàn)眾測工人想法和意愿的一個指標(biāo),該指標(biāo)主要是為了確定有多少人是為了通過測試獲取更豐厚的回報(bào),同時這一指標(biāo)也與工人繼續(xù)參與眾測的意愿有一定關(guān)聯(lián)性,只要愿意繼續(xù)參與眾測,就可以更加方便地進(jìn)行管理劃分。
眾測工人的職業(yè)與學(xué)歷分布情況如圖4 所示,其中以學(xué)生為主,占比86.7%,自由工作者、專門從事測評工作的人員分別占比3.3%,一般的上班人員占比6.7%;學(xué)歷層次以本科為主,占比41.7%,其次是碩士和???,分別占比25%和30%,博士占比3.3%。從該數(shù)據(jù)可以看出,眾測工人的學(xué)歷層次并不低,有的怯于接收任務(wù),可能只是欠缺相關(guān)領(lǐng)域的知識儲備,所以需要組織一些相關(guān)的知識培訓(xùn)。學(xué)生在校的自由時間相對較多,作為低收入群體,其對于參與眾測任務(wù)通常較為積極,因?yàn)閰⑴c眾測可以獲得較為可觀的經(jīng)濟(jì)收入。同時,以學(xué)生作為主體進(jìn)行測試,作為平臺方可以大大降低用工成本。專門從事測評相關(guān)工作的人員在處理難度較大且繁瑣的任務(wù)方面具有十分豐富的經(jīng)驗(yàn),平臺方應(yīng)積極發(fā)掘其潛在的價值,將其組織起來,以提升測試人員的穩(wěn)定性。
Fig.4 Occupational and educational distribution of the workers in the crowdsourcing test圖4 眾測工人職業(yè)與學(xué)歷分布情況
通過對眾測工人的專業(yè)進(jìn)行統(tǒng)計(jì),可以發(fā)現(xiàn)85%以上的人員均是與計(jì)算機(jī)或軟件相關(guān)的專業(yè),如圖5 所示。如果將計(jì)算機(jī)科學(xué)與技術(shù)(占比26.3%)和軟件工程(占比33.3%)專業(yè)人員均考慮成具有培養(yǎng)潛力的軟件測試人員,比例達(dá)到了59.6%,說明參與眾測平臺測試任務(wù)的人員對于軟件測試具有一定了解,但是了解的程度不同。通過問卷調(diào)查可以知道,對軟件測試“了解”的占59.6%,“了解一些”的占36.8%,“不了解”的僅占3.6%。因此,上述兩組數(shù)據(jù)吻合度很高,充分說明了眾測工人的潛在價值。雖然因?yàn)橐恍┬畔⒌臏贤ú粫?,可能?dǎo)致在部分任務(wù)中的人員凝聚力不夠,并出現(xiàn)理解上的偏差,加上工人在地理位置上較為分散,所以參與測試的積極性受到了一定影響,但是可以積極調(diào)動工人參與平臺任務(wù)的積極性,并使其加強(qiáng)對平臺運(yùn)營模式的了解,從而提升其能力水平值。素。通過分析眾測工人參與眾測的目的可以知道,“掙點(diǎn)額外收入”的比例達(dá)到了83.3%,“提升自己能力的比例”為71.7%,體驗(yàn)一下不同工作的比例為18.3%,所以眾測工人的收入發(fā)放緩慢以及部分測試任務(wù)的費(fèi)用達(dá)不到眾測工人的預(yù)期應(yīng)該是影響其積極性的主要因素。雖然平臺前期的一些任務(wù)參與積極性達(dá)不到預(yù)期,且費(fèi)用可能發(fā)放不及時以及一些測試任務(wù)的費(fèi)用較低,但是通過調(diào)查發(fā)現(xiàn),愿意繼續(xù)留下來進(jìn)行測試的人員比例仍達(dá)到了90%以上。通過對人員成分的分析,可以知道上文對影響眾測工人積極性因素的分析是正確的,也是符合預(yù)期的結(jié)果,所以只要采取一定措施,可以極大地提高眾測工人參與測試的積極性。
Fig.5 Professional distribution of workers in the crowdsourcing test圖5 眾測工人專業(yè)分布情況
通過對眾測工人積極性影響因素以及組成結(jié)構(gòu)的分析,可以很容易地知道,由于眾測工人比較分散,管理難度較大,在任務(wù)發(fā)布后,其對任務(wù)的認(rèn)識可能存在一定不足。而且對于參與任務(wù)的工人而言,在一些信息溝通上存在困難。因此,本文提出采用一種以任務(wù)為單位的眾測小組形式,如圖6所示。
Fig.6 Exploration of the management mode of workers in crowdsourcing test圖6 眾測工人管理模式探索
眾測工人與眾測工人之間可以進(jìn)行交流,而接收任務(wù)的工人只對所在項(xiàng)目的小組長負(fù)責(zé)。小組長作為項(xiàng)目的紐帶,起到統(tǒng)籌項(xiàng)目測試進(jìn)展并對接平臺項(xiàng)目管理員的作用。其從項(xiàng)目管理員處受領(lǐng)相關(guān)任務(wù)的測試需求,并對眾測工人進(jìn)行必要的解釋,以消除工人對項(xiàng)目的理解偏差。小組長在把握測試任務(wù)難度的同時,需要盡最大能力調(diào)動測試小組內(nèi)眾測工人的積極性,將其能力充分發(fā)揮出來。
考慮到一些測試任務(wù)的難度較大,對于絕大多數(shù)眾測工人而言,很難獨(dú)立自主地完成任務(wù)。因此,在測試小組的基礎(chǔ)上,本文引申出了一種解決思想,即采取“攻關(guān)小組”的形式,選擇業(yè)務(wù)能力強(qiáng)的測試人員擔(dān)任“攻關(guān)小組長”,先進(jìn)行測試的摸索?!肮リP(guān)小組長”在完成測試后,采用以點(diǎn)帶面、全面展開的方式對任務(wù)進(jìn)行測試。因?yàn)槿伺c人之間的差異性,測試的覆蓋面也會不一樣,可能發(fā)現(xiàn)的缺陷也不一樣。所以該方式既能節(jié)省時間,又能快速完成測試任務(wù)。在群智眾測平臺所有測試任務(wù)中,發(fā)布的openEuler 項(xiàng)目是最難實(shí)現(xiàn)和最難全面覆蓋的測試任務(wù),因?yàn)樾枰玫教摂M機(jī),其安裝過程繁瑣且存在個體差異性。因此,在任務(wù)發(fā)布后,接包率一開始很低,完成率更低,報(bào)告質(zhì)量也差??紤]到openEuler 項(xiàng)目的持續(xù)性,必須得想出解決問題的辦法。在采用“攻關(guān)小組”的形式進(jìn)行測試后,每次發(fā)布任務(wù),接包率均為百分之百,完成率均能達(dá)到80%以上,報(bào)告質(zhì)量的優(yōu)良率也穩(wěn)步提升,從一開始的20%達(dá)到現(xiàn)在的75%以上。采用測試小組管理模式和“攻關(guān)小組”的測試方法,在群智眾測平臺項(xiàng)目實(shí)際運(yùn)行過程中,充分說明了其有效性。該方法既可以解決眾測工人積極性不高的問題,又可以維持測試工人的穩(wěn)定性,還可以極大地提高測試任務(wù)的完成率。
本節(jié)主要對眾測工人積極性水平影響因素進(jìn)行分析,提出了5 個方面的影響因素。針對這些影響因素,采用問卷調(diào)查的方式收集相關(guān)信息并對其進(jìn)行分析,驗(yàn)證相關(guān)因素的合理性,最后提出眾測工人管理模式和具體方法,并在實(shí)際測試項(xiàng)目中得到了運(yùn)用和證實(shí)。該管理模式和方法可以解決上文所述的影響工人積極性的問題,但在處理費(fèi)用問題方面還有所欠缺,包括發(fā)放不及時和獎勵機(jī)制不完善。費(fèi)用發(fā)放不及時會直接影響眾測工人接收任務(wù)的積極性,長此以往,會喪失培養(yǎng)起來的耐心和信任。因此,要改進(jìn)費(fèi)用發(fā)放流程,加快費(fèi)用發(fā)放速度。此外,在管理模式上需要增加任務(wù)薪酬獎勵機(jī)制,對于完成任務(wù)出色的眾測工人給予一定的物質(zhì)獎勵。該方式不僅有利于管理,而且能更充分地調(diào)動工人參與任務(wù)的積極性。
在眾測環(huán)境下,眾測工人分布在不同地域,有著不同的測試經(jīng)驗(yàn),工人能力水平的高低對于測試任務(wù)會產(chǎn)生很大影響。本文提出眾測工人能力水平判定指標(biāo),分別是任務(wù)接收率、任務(wù)難度等級、任務(wù)完成率和報(bào)告質(zhì)量良好率,并提出了工人等級的劃分標(biāo)準(zhǔn)。在眾測工人能力水平等級劃分的基礎(chǔ)上,針對眾測工人參與測試任務(wù)積極性不高的問題,提出一種新的眾測工人管理模式?;谌褐潜姕y平臺的真實(shí)數(shù)據(jù)驗(yàn)證本文提出的方法,結(jié)果顯示了方法的有效性。當(dāng)采用“攻關(guān)小組”管理模式后,測試任務(wù)的接收率與完成率分別可達(dá)到100%和80%左右,優(yōu)于現(xiàn)有平臺的管理模式。
在未來的工作中,計(jì)劃研究如何將費(fèi)用管理機(jī)制融入工人管理模式,有效化解可能影響眾測工人積極性的因素。同時,將與群智眾測平臺保持密切的聯(lián)系,計(jì)劃將本文方法應(yīng)用于平臺實(shí)際環(huán)境中,從而更好地驗(yàn)證該等級劃分和管理方法在實(shí)際環(huán)境下的有效性。