黃靜旋,林怡坤,鄧志敏
(廣東軟件測評中心,廣東 廣州 510663)
眾包測試(crowdsourcing test)簡稱眾測,其作為一種不同于傳統軟件測試方式的新方法,引起了學術界和工業界的廣泛關注[1-6]。與傳統的軟件測試相比,眾測主要是將測試任務(test task)在線上發布,由眾測工人(crowd worker)領取任務并完成。眾測工人可以處于不同地域,且其測試經驗和測試技能參差不齊。在完成測試以后,眾測工人會提交測試報告(test report)來描述測試軟件的行為、執行結果和存在的缺陷,開發維護人員會根據測試報告來復現并修改軟件的缺陷或問題。該方式可以提供多元的測試環境,提高缺陷檢測效果,至關重要的一點是可以降低測試費用。
現有針對眾測的研究大多是圍繞眾測流程、眾測平臺以及眾測的安全可靠性等方面展開的,但在實際的眾測實施過程中,眾測工人是整個任務測試過程中極其重要的一部分,而目前對于眾測工人的研究較少。因此,本文主要研究眾測工人在眾測實施過程中發揮的作用。為了解眾測工人的能力水平和參與測試的積極性,本文提出以下3 個方面的問題:①眾測工人的能力水平如何量化判定?②如何有效地對眾測工人的能力水平進行等級劃分?③眾測工人參與測試任務的積極性受哪些因素影響?
基于上述問題,采用以下4 個指標來定義眾測工人的能力水平,分別是任務接收率、任務難度等級、任務完成率和測試報告質量良好率。任務接收率是通過眾測工人在平臺測試任務中接收的任務數量來計算的;任務難度等級是根據任務難度,按照非常難、難、一般、容易、非常容易5個等級劃分的;任務完成率是通過眾測工人完成測試任務的數量進行計算的;報告質量良好率是通過眾測工人提交的測試用例數量和缺陷數量綜合計算的。
本文提出一種計算眾測工人能力水平的指標和方法,能夠同時考慮任務接收率、任務難度等級、任務完成率和報告質量良好率4 方面指標。首先,通過平臺實際數據,利用SPSS 工具對數據進行分析,得到成分得分系數矩陣,將其作為指標的權重系數;然后,根據權重系數可計算出參與任務的眾測工人能力水平值。在此基礎上,根據眾測工人的能力水平值可更好地對眾測工人進行等級劃分,為其在進行任務選擇時提供參考,并且可以提高眾測工人參與任務的積極性。最后,本文通過調查問卷方式對500 多名眾測工人的信息進行統計,分析了影響眾測工人參與任務積極性水平的因素,并針對上述影響因素提出一種針對眾測工人的管理模式,同時提出將其運用于實際項目中的一個具體實踐方法。
隨著很多眾測平臺(例如uTest、Pay4Bugs、百度眾測、群智眾測等)的興起,測試活動不再拘束于面對面和點對點,而是可以分布在不同時間、不同地點、不同設備上面,從而使測試活動變得更加高效、全面。
崔強等[7]主要關注如何為新的測試任務選擇一組合適的眾測工人,從而提高缺陷檢測率和需求關鍵點覆蓋度。通過實驗驗證,發現眾測工人的主動性、相關性和多樣性從不同角度影響著測試質量,并給出了其度量方法。但是研究忽視了眾測工人自身的能力水平對于測試任務的影響,僅僅只是通過相關性來描述眾測工人與任務之間的關系。
唐文君等[8]主要討論了基于強化學習的Web 服務眾測任務分派方法,采用該方法可將眾包測試任務分派給合適的眾測工人,以較低成本獲得更好的測試結果。其根據眾測工人執行任務的歷史時間,通過統計條件概率計算眾測工人在任務期限內完成任務的概率,并將其作為眾測工人的信譽值來反映眾測工人質量,同時在每次任務分派完成后對眾測工人信譽值進行更新。但該方法對于眾測工人的評價比較單一,并不能完整、充分地體現眾測工人的能力水平。
Cheng 等[9]主要對移動應用眾包測試質量影響因素進行分析,針對移動應用眾包測試質量影響因素復雜多樣致使測試質量難以評估的問題,提出一種基于斯皮爾曼相關系數分析的測試質量影響因素分析方法。該方法主要圍繞眾包平臺、測試任務和眾測工人三方面展開,其中并沒有過多地對眾測工人的能力和積極性水平進行分析,而是將眾測工人的測試經驗、專業能力、信譽度、接收任務數、完成任務數作為眾多因素之一進行考慮。
從以上文獻可知,已有研究的側重點主要是眾測流程、眾測平臺以及眾測的安全可靠性等方面內容,并沒有認真考慮到眾測工人這一具體群體在實際平臺運行和項目任務完成過程中起到的作用,其作用可能是積極的,也可能是消極的。如果處理不好,甚至可能造成整個平臺或任務的癱瘓。
隨著工業環境下系統軟件的快速發展,軟件測試越來越受到人們的重視。但傳統的軟件測試在一些時候并不能滿足測試的基本需求,因此眾測引起了研究者們的注意。眾測通過將眾包的概念引入到軟件測試領域,能夠幫助軟件開發人員和測試工程師發現更多的軟件缺陷[10-12]。下面介紹眾測的相關概念以及基本流程。
本文涉及眾測中的4 個基本概念,分別是眾測平臺、測試任務、眾測工人、測試報告。
眾測平臺:指一個集合各方需求的綜合性平臺。眾測發包方可以發布需求,眾測接包方可以接收任務,眾測平臺作為媒介為發包方和接包方提供信息交流的平臺。
測試任務:指發布在眾測平臺上的軟件測試任務,其包含了發布者的基本信息以及對于測試需求的說明和相關文檔信息。
眾測工人:指眾測平臺招募的參與測試任務的工作人員。眾測平臺可以根據眾測工人完成測試任務的數量及質量對其進行等級劃分,以便更好地完成測試任務。
測試報告:眾測工人在完成測試任務后會形成一個文字說明,其中包含測試類型、測試說明、測試輸入、操作步驟、軟件行為描述、軟件執行結果以及缺陷標記等內容。
如圖1 所示,眾測是由眾測平臺、眾測接包方和眾測發包方三方組成的。眾測發包方將需要進行測試的軟件需求發布在眾測平臺上,眾測平臺在接受發包方的請求后,將需求發布在眾測廣場,發包方的需求經過處理后形成眾測任務。眾測工人作為眾測接包方,根據任務類型以及自身喜好選擇接收任務與否。當眾測工人接收任務后,按照發包方的需求對系統軟件進行測試。如果工人的測試能力較差,接收一些不了解的任務后,可能會出現任務無法完成或完成質量較差的情況;如果工人的測試能力一般,也可能會出現測試任務無法完成或完成質量較差的情況,但是相比前者而言,任務的完成率有一定提升,報告的良好率也會更加符合發包方的需求;如果工人的測試能力較強,且選擇的任務也符合自己的測試方向,則任務的完成率以及報告的良好率將會有大幅提升,且在滿足發包方需求方面會做的更好。最終在完成測試后,眾測工人形成測試報告并提交到眾測平臺。因為測試報告含有大量冗余和重復的信息,平臺方會對報告進行融合處理,并對眾測工人提交的每一份測試報告作出質量評價,形成一份最終的測試鑒定報告反饋給眾測發包方,自此一個項目的眾測基本流程執行完畢。

Fig.1 Basic flow of crowdsourcing test圖1 眾測基本流程
軟件測試需求方在群智眾測平臺發布眾測任務,任務需要一定數量的眾測工人參與進來,但是眾測任務在測試難度和測試需求上會有不同要求。考慮到眾測工人的能力水平參差不齊,而在實際群智平臺運營工作中,平臺只是對任務的接收和完成情況進行了統計。通過計算對眾測工人進行等級劃分,從一個側面可以反映出眾測工人的能力水平。但是,這種做法缺乏對測試報告質量的考查,以及任務難度對于眾測工人能力的影響。如果將報告質量和任務難度考慮進去,眾測工人的能力水平等級劃分更能體現出一定的科學性。因此,本文提出判定眾測工人能力水平的4 個指標,分別是任務接收率、任務難度等級、任務完成率和報告質量良好率。
首先,眾測工人在平臺中項目任務接收數量ti(i=1,2,…,n)與實際項目數量ni(i=1,2,…,n)的比值就是任務接收率ri(i=1,2,…,n)。公式如下:
其次,眾測工人可能因為各種原因,無法正常按時按質完成接收的任務。因此,對完成的任務數量fi(i=1,2,…,m,m ≤n)進行統計,完成的任務數量與接收任務數量之間的比值就是任務完成率ci(i=1,2,…,m,m ≤n)。公式如下:
再次,平臺在進行任務發布時,對任務難度按照非常難、難、一般、容易、非常容易5 個等級hi(i=1,2,3,4,5)進行劃分,數字越大,等級越高。每一個等級對應一個分數區間,分別是:0.8
最后,根據測試工人提交的測試報告,統計所有報告中的測試用例數量oi(i=1,2,…,a)以及缺陷數量pi(i=1,2,…,b),并對其進行綜合計算,計算結果即為報告質量良好率q。公式如下:
其中,Wi表示眾測工人的能力水平值。
從公式(7)中可以看出,眾測工人的能力水平是由4個方面因素共同決定的,無論是眾測新工人,還是老工人,熟能生巧,當接包達到一定數量,其熟練度和技巧性也就可以達到一定水平,所以采用接收率來表示眾測工人的工作承受能力。但是,接收率并不能完全表示眾測工人的能力水平,測試任務不同,難度也不同,有的任務需要一定的知識儲備。因此,任務的復雜度體現了眾測工人的能力水平。同樣,任務完成情況也可以體現眾測工人的能力水平。因為在實際的工作過程中,很多眾測工人對自己的能力認識不足,同時對任務的評估也不足,當接收了任務以后,由于難度系數較大,或者測試項目不對口,很難及時完成,有的則是直接選擇放棄,因此任務完成率可以作為衡量個人能力水平的一個指標。最后,在任務接收率和完成率達到一定要求時,測試報告質量良好率是檢測眾測工人能力水平的另一個指標。因為在完成某一項任務時都要提交一定數量的測試報告或者缺陷報告,在提交的這些報告中,每個人針對項目的測試需求都會編寫相應的測試用例,用例的多少可以反映一定的測試覆蓋率。覆蓋率越大,則找出問題缺陷的可能性越大,發現的缺陷越多,則說明在測試過程中工人的測試能力突出,且對于測試項目的認識也很迅速。因此,結合測試用例數量和缺陷數量可以給出報告質量的優良等級。
因此,通過上述分析,本文以任務接收率、任務難度等級、任務完成率和報告質量良好率4 個方面作為衡量眾測工人能力水平的4 個指標,其中任務接收率和任務完成率是整體指標,而任務難度等級和報告質量良好率是個體差異性指標。
如何對眾測工人能力水平值進行精準判別,本文提出了以任務接收率、任務復雜度、任務完成率和報告質量良好率作為衡量眾測工人能力水平的4 個指標。為了確定任務接收率、任務難度等級、任務完成率和報告質量良好率4 個影響因素是如何影響眾測工人能力水平的,分別給定4 個權重系數:α、β、γ、δ,則可以得到針對單個眾測工人的能力水平值Wi(i=1,2,…,n),公式如下:
利用SPSS 工具中的因子分析方法對群智眾測平臺50個實際測試任務中153 名眾測工人的實際數據進行分析,可以得到如表1所示的KMO 和巴特利特檢驗結果。

Table 1 KMO and Bartlett test table表1 KMO與巴特利特檢驗表
KMO 檢驗是為了驗證所使用的數據是否適合采用因子分析方法進行分析處理,其取值范圍是0~1。其中,0.9~1 表示極好,0.8~0.9 表示很好,0.7~0.8 表示中等,0.6~0.7 表示一般,0.5~0.6 表示可接受,0~0.5 表示不可接受。本文數據得到的KMO 取值為0.576,表明數據可以進行因子分析。而巴特利特檢驗是為了檢驗數據是否滿足服從多元正態分布的總體要求,表中顯著性值為0.000,小于0.05,拒絕各變量獨立的假設,變量間具有較強的相關性。同時說明數據來自正態分布總體,適合作進一步分析處理。
變量共同度表示各變量中所含原始信息能被提取的公因子解釋的程度,采用主成分分析方法,結果如表2 所示。因為本文數據的變量共同度基本都在85%以上,所以提取的公因子對各變量的解釋能力很強。

Table 2 Common factor variance table表2 公因子方差表
總方差解釋如表3 所示。“初始特征值”一列顯示只有前兩個特征值大于1,所以SPSS 只選擇了前兩個主成分。“提取載荷平方和”一列顯示第一主成分的方差貢獻率是57.112%,前兩個主成分的方差占所有主成分方差的85.025%。由此可見,選前兩個主成分已足夠替代原來的變量,基本上涵蓋了原變量的大部分信息。而“旋轉載荷平方和”一列顯示的是旋轉以后的因子提取結果,與未旋轉之前差別不大。

Table 3 Total variance explaination table表3 總方差解釋表
最終得到成分得分系數矩陣如表4 所示,據此可以直接寫出各公因子的表達式。需要說明的是,在表達式中各個變量已經不是原始變量,而是標準化變量。但是本文只考慮各個指標變量是如何影響眾測工人能力水平的,以及各指標變量在總量中占比多少。因此,在這里僅僅只是將成分得分系數作為權重系數來看待,以解釋各個指標在實際運用中所占比重,并不需要考慮如何將原始變量轉換為標準化變量。而在實際計算中,不考慮各指標的負作用,在表4 中成分2 的任務接收率出現了-0.416,所以本文僅用成分1 的成分得分系數作為各指標的權重系數α、β、γ、δ的值。因此,公式(8)可以書寫如下:

Table 4 Component score coefficient matrix table表4 成分得分系數矩陣表
對于一個平臺任務,眾測工人接收與否純粹屬于個人主觀意愿,雖然接收率的高低對于完成率有積極影響,但其只能反映眾測工人接收任務意愿的高低。因此,接收率系數α為0.206。通過對數據進行分析,可以知道測試任務完成率是任務完成情況的重要指標之一。如果一個任務在平臺發布以后卻完成不了,只能說明平臺的測試效果并不是很好。就眾測工人個人而言,任務完成率與其個人完成率息息相關。因此,可以根據眾測工人的個人任務完成率來推定整個平臺的任務完成率,完成率系數β 為0.147。雖然任務的接收率越高,任務的完成率也隨之增加,但是因為任務難度較大,即使接收率很高,完成率也不一定高,所以任務完成率是受到接收率和任務難度等級共同影響的,并且任務難度等級對眾測工人的影響較大。因此,眾測工人能夠解決更難的問題,表明其能力越強,所以任務難度等級系數γ 為0.445。報告質量的好壞是對于測試任務最終的鑒定,所以如果報告質量太差,上述指標即使全部達標,也很難說明測試的有效性。測試任務的整體報告質量良好率與個人報告質量良好率成正比,因此報告質量系數是0.462。
眾測工人等級需要按照一定的層次進行劃分,該層次劃分是按照任務接收率、任務難度等級、任務完成率和報告質量良好率分別根據權重系數計算得到的。如圖2 所示,將眾測工人劃分為5 個等級,分別是測試小新、測試初級、測試中級、測試能手和測試達人。每一個等級又作了進一步劃分,測試小新是V1~V15,測試初級是V16~V35,測試中級是V36~V80,測試能手是V81~V120,測試達人是V121++。眾測工人的等級需要進行賦分,每一個等級之間相差10分,因此測試小新的分值是0~150,測試初級的分值是160~350,測試中級的分值是360~800,測試能手的分值是810~1 200,測試達人的分值是1 210++。每一個眾測任務在發布時也會進行賦分,難度較大的賦分較高,一般為30分,難度中等的賦分一般為20 分,難度較低的賦分一般為10 分。眾測工人接收任務,積極參與測試并完成,在提交測試報告后,通過計算即可知道參與該任務的眾測工人能力水平值。按照從高到低的順序對工人賦予分值,并加到眾測工人的原能力水平值中,分值積累達到相應級別即可晉級。

Fig.2 Crowdsourcing test worker ability level grade division圖2 眾測工人能力水平等級劃分
下面對單個眾測工人能力水平值的計算進行說明,假設某一任務的接收率為21%,完成率為71.4%,難度等級為0.4,假設眾測工人A 的報告質量良好率為60%,眾測工人B 的報告質量良好率為40%,眾測工人C 的報告質量良好率為80%,通過公式(9)的計算可知眾測工人A、B、C 在任務測試過程中的能力水平值WA、WB、WC分別為0.603 4、0.511 0、0.695 8。
難度等級為0.4 的測試任務屬于中等難度等級,可以考慮對任務賦20 分。首先計算出所有眾測工人的能力水平值之和W總,然后計算出每名眾測工人能力水平值的占比R,最后通過占比計算出所獲取的分數值S,將分數值加到原有的能力水平值之上。公式如下:
假設眾測工人A 是測試初級,原始能力水平值已達到358 分,加上這次任務所獲得的6.66 分,就已經滿360 分,成功晉級測試中級V36;眾測工人B 是測試小新,所處等級是V12,對應分數是128 分,此次加上最新的任務分數已達到130分以上,則可以提升到V13。
從一個測試小新到達測試達人的時間周期大約是兩年,中間需要經過測試初級、測試中級和測試能手3 個階段。通過這幾個階段,眾測工人的能力和經驗都有了大幅提升。將眾測工人進行等級劃分是為了更好地服務于平臺的任務劃分,使工人能夠更高效地完成任務,而不是將簡單任務和難度較高的任務一視同仁。因為當眾測工人的能力水平達不到要求時,可能無法按時保質保量地完成測試任務。如果眾測工人始終滿足于接收一些簡單任務,得到的分數會很少,可能會長期停留在初級階段。但是如果接收難度等級較高的任務,眾測工人獲取的分數也會增多,等級就會逐步提升。任務的難度等級與經濟效益成正比,因此工人等級越高,平臺也會更傾向于向其推薦難度更大且效益更高的測試任務。
在分析眾測工人的能力水平影響因素基礎上,對其能力水平值進行描述和計算,并且結合實際項目將眾測工人等級劃分的方法進行闡述。這種等級劃分不僅能解決眾測工人在選擇任務時的科學性問題,而且能避免在簡單任務中出現高薪酬的情況,在一定程度上還可以作為眾測工人參與測試任務積極性的判斷標準。因為眾測工人的能力水平值越高,參與完成測試的任務則越多,說明工人參與的積極性水平越高。在群智眾測平臺推廣前期,部分項目出現了眾測工人不愿意參與接收任務的情況,任務的完成率也達不到目標要求,導致項目幾乎陷入停滯狀態,所以從中可以看出眾測工人參與任務的積極性對于眾測平臺的重要性。因此,下文將對眾測工人的積極性水平影響因素和人員基本狀況進行分析,針對如何提高眾測工人積極性水平提出相關解決辦法及其實現途徑。
在群智眾測平臺初期推廣運營過程中,平臺上發布了一系列openEuler 相關的測試任務以及其他的軟件測試任務。因為測試任務存在一定難度和理解的復雜性,所以出現了人員參與測試積極性低迷的現象。通過觀察與分析,總結出了以下5個主要影響因素,如圖3所示。

Fig.3 Analysis of the influence of workers' enthusiasm in crowdsourcing test圖3 眾測工人積極性影響分析
(1)眾測工人的能力水平較差,對測試領域的知識技能不了解,怯于接收任務。眾測是一個新興事物,大多數人沒有接觸過,也不具備測試相關的業務知識。測試入門簡單,但是想要做好不容易,大多數人考慮到可能涉及領域知識,不敢輕易嘗試。
(2)對平臺任務接收模式不了解。平臺從部署到推廣時間較短,眾測工人對部分測試任務相關的業務流程不是很熟悉。因此,參與進來的新人較少,只有一些早期參與測試的人員在堅持,造成平臺人員成長速度過于緩慢。
(3)部分測試任務較繁瑣,難度較大。一些參與進來的眾測工人對軟件的操作并不是很熟悉,有的任務甚至需要進行代碼編程。當開始的工作難度超出預期后,部分眾測工人因為能力限制,沒有辦法靠自己能力獨立解決,會直接選擇放棄任務。
(4)測試任務費用發放不及時,工人失去繼續做任務的信心。平臺業務審核較為緩慢,造成費用發放周期拉長,使眾測工人出現了對平臺的信任危機,擔心自己的付出得不到回報。
(5)眾測工人過于分散,信息獲取存在差異,難以形成向心力。測試人員的信息獲取均是以網絡聊天的形式進行的,一些信息在理解上可能存在差異。因此,平臺與工人參與測試的積極性較低可能還有其他方面的因人之間難以進行良好的互動,工人與工人之間也難以形成有效的經驗溝通和借鑒。
通過對眾測工人積極性水平影響因素進行分析,了解了5 個方面的影響因素。為了探究5 個影響因素的合理性,采用問卷調查的方式對群智眾測平臺招募的500 多名線上眾測工人進行信息采集和統計分析,包括職業、學歷、專業、對軟件測試的了解程度、參與眾測的目的、繼續參與眾測的意愿共6 個方面。對于職業、學歷和專業的統計是為了更好地了解參與測試人員的職業相關性及其對于任務的理解程度,可以大致了解眾測工人的能力水平;統計對軟件測試的了解程度是為了確定眾測工人的熟練程度占比,從而很好地劃分人員層次;參與眾測的目的是最能體現眾測工人想法和意愿的一個指標,該指標主要是為了確定有多少人是為了通過測試獲取更豐厚的回報,同時這一指標也與工人繼續參與眾測的意愿有一定關聯性,只要愿意繼續參與眾測,就可以更加方便地進行管理劃分。
眾測工人的職業與學歷分布情況如圖4 所示,其中以學生為主,占比86.7%,自由工作者、專門從事測評工作的人員分別占比3.3%,一般的上班人員占比6.7%;學歷層次以本科為主,占比41.7%,其次是碩士和專科,分別占比25%和30%,博士占比3.3%。從該數據可以看出,眾測工人的學歷層次并不低,有的怯于接收任務,可能只是欠缺相關領域的知識儲備,所以需要組織一些相關的知識培訓。學生在校的自由時間相對較多,作為低收入群體,其對于參與眾測任務通常較為積極,因為參與眾測可以獲得較為可觀的經濟收入。同時,以學生作為主體進行測試,作為平臺方可以大大降低用工成本。專門從事測評相關工作的人員在處理難度較大且繁瑣的任務方面具有十分豐富的經驗,平臺方應積極發掘其潛在的價值,將其組織起來,以提升測試人員的穩定性。

Fig.4 Occupational and educational distribution of the workers in the crowdsourcing test圖4 眾測工人職業與學歷分布情況
通過對眾測工人的專業進行統計,可以發現85%以上的人員均是與計算機或軟件相關的專業,如圖5 所示。如果將計算機科學與技術(占比26.3%)和軟件工程(占比33.3%)專業人員均考慮成具有培養潛力的軟件測試人員,比例達到了59.6%,說明參與眾測平臺測試任務的人員對于軟件測試具有一定了解,但是了解的程度不同。通過問卷調查可以知道,對軟件測試“了解”的占59.6%,“了解一些”的占36.8%,“不了解”的僅占3.6%。因此,上述兩組數據吻合度很高,充分說明了眾測工人的潛在價值。雖然因為一些信息的溝通不暢,可能導致在部分任務中的人員凝聚力不夠,并出現理解上的偏差,加上工人在地理位置上較為分散,所以參與測試的積極性受到了一定影響,但是可以積極調動工人參與平臺任務的積極性,并使其加強對平臺運營模式的了解,從而提升其能力水平值。素。通過分析眾測工人參與眾測的目的可以知道,“掙點額外收入”的比例達到了83.3%,“提升自己能力的比例”為71.7%,體驗一下不同工作的比例為18.3%,所以眾測工人的收入發放緩慢以及部分測試任務的費用達不到眾測工人的預期應該是影響其積極性的主要因素。雖然平臺前期的一些任務參與積極性達不到預期,且費用可能發放不及時以及一些測試任務的費用較低,但是通過調查發現,愿意繼續留下來進行測試的人員比例仍達到了90%以上。通過對人員成分的分析,可以知道上文對影響眾測工人積極性因素的分析是正確的,也是符合預期的結果,所以只要采取一定措施,可以極大地提高眾測工人參與測試的積極性。

Fig.5 Professional distribution of workers in the crowdsourcing test圖5 眾測工人專業分布情況
通過對眾測工人積極性影響因素以及組成結構的分析,可以很容易地知道,由于眾測工人比較分散,管理難度較大,在任務發布后,其對任務的認識可能存在一定不足。而且對于參與任務的工人而言,在一些信息溝通上存在困難。因此,本文提出采用一種以任務為單位的眾測小組形式,如圖6所示。

Fig.6 Exploration of the management mode of workers in crowdsourcing test圖6 眾測工人管理模式探索
眾測工人與眾測工人之間可以進行交流,而接收任務的工人只對所在項目的小組長負責。小組長作為項目的紐帶,起到統籌項目測試進展并對接平臺項目管理員的作用。其從項目管理員處受領相關任務的測試需求,并對眾測工人進行必要的解釋,以消除工人對項目的理解偏差。小組長在把握測試任務難度的同時,需要盡最大能力調動測試小組內眾測工人的積極性,將其能力充分發揮出來。
考慮到一些測試任務的難度較大,對于絕大多數眾測工人而言,很難獨立自主地完成任務。因此,在測試小組的基礎上,本文引申出了一種解決思想,即采取“攻關小組”的形式,選擇業務能力強的測試人員擔任“攻關小組長”,先進行測試的摸索。“攻關小組長”在完成測試后,采用以點帶面、全面展開的方式對任務進行測試。因為人與人之間的差異性,測試的覆蓋面也會不一樣,可能發現的缺陷也不一樣。所以該方式既能節省時間,又能快速完成測試任務。在群智眾測平臺所有測試任務中,發布的openEuler 項目是最難實現和最難全面覆蓋的測試任務,因為需要用到虛擬機,其安裝過程繁瑣且存在個體差異性。因此,在任務發布后,接包率一開始很低,完成率更低,報告質量也差。考慮到openEuler 項目的持續性,必須得想出解決問題的辦法。在采用“攻關小組”的形式進行測試后,每次發布任務,接包率均為百分之百,完成率均能達到80%以上,報告質量的優良率也穩步提升,從一開始的20%達到現在的75%以上。采用測試小組管理模式和“攻關小組”的測試方法,在群智眾測平臺項目實際運行過程中,充分說明了其有效性。該方法既可以解決眾測工人積極性不高的問題,又可以維持測試工人的穩定性,還可以極大地提高測試任務的完成率。
本節主要對眾測工人積極性水平影響因素進行分析,提出了5 個方面的影響因素。針對這些影響因素,采用問卷調查的方式收集相關信息并對其進行分析,驗證相關因素的合理性,最后提出眾測工人管理模式和具體方法,并在實際測試項目中得到了運用和證實。該管理模式和方法可以解決上文所述的影響工人積極性的問題,但在處理費用問題方面還有所欠缺,包括發放不及時和獎勵機制不完善。費用發放不及時會直接影響眾測工人接收任務的積極性,長此以往,會喪失培養起來的耐心和信任。因此,要改進費用發放流程,加快費用發放速度。此外,在管理模式上需要增加任務薪酬獎勵機制,對于完成任務出色的眾測工人給予一定的物質獎勵。該方式不僅有利于管理,而且能更充分地調動工人參與任務的積極性。
在眾測環境下,眾測工人分布在不同地域,有著不同的測試經驗,工人能力水平的高低對于測試任務會產生很大影響。本文提出眾測工人能力水平判定指標,分別是任務接收率、任務難度等級、任務完成率和報告質量良好率,并提出了工人等級的劃分標準。在眾測工人能力水平等級劃分的基礎上,針對眾測工人參與測試任務積極性不高的問題,提出一種新的眾測工人管理模式。基于群智眾測平臺的真實數據驗證本文提出的方法,結果顯示了方法的有效性。當采用“攻關小組”管理模式后,測試任務的接收率與完成率分別可達到100%和80%左右,優于現有平臺的管理模式。
在未來的工作中,計劃研究如何將費用管理機制融入工人管理模式,有效化解可能影響眾測工人積極性的因素。同時,將與群智眾測平臺保持密切的聯系,計劃將本文方法應用于平臺實際環境中,從而更好地驗證該等級劃分和管理方法在實際環境下的有效性。