軟體專案中測試人員的考核(轉載)

urinator發表於2007-07-29

軟體專案中測試人員的考核

http://www.quality-world.cn/guanli/1923.html


摘要 在專案中,測試人員考核往往成為專案經理和測試經理的一個難題,怎樣評估測試人員的工作?怎樣定義測試質量的差別?本文通過從事測試工作多年中對不同專案的資料收集和網上有限資料的參考分析,思考總結出一套可行的方法,在此提供給大家。

關鍵字 測試人員考核 工作效率指標 工作質量指標

正文

長期以來,如何考核測試人員的工作是富有爭論的話題, 一個理想化的方法是收集測試階段之後專案階段的缺陷來確定系統測試的質量。但是,這種方法的不可操作性在於:一是維護和實施階段的缺陷難於收集;二是缺陷貫穿產品的整個使用週期,無法窮盡,難於將時間段分割開來比較;三是成本過於龐大,時間跨度過長,起不到有效激勵的作用。能不能就在專案過程中尋找可以評價測試人員工作的方法呢?就這這個思路,本人摸索出一套有效的辦法。

首先宣告的是,第一,這套考核方發在一個功能點估算超過 10000 個的專案中經過實踐,但是對於小專案而言,可能缺少足夠的資料和必要性;第二,專案組內考核的成功不能意味著在測試部門內可以採用類似的考核方法,僅提供一種參考方法,部門考核可能更多考慮投入工程的工作量大小和任務分配重要性;第三,除了量化指標外,測試人員工作態度、工作能動性和技術學習意願要通過定性分析來得到。

專案組測試人員考核主要包括工作效率和工作質量兩大塊,工作效率用於考察活動,而工作質量用於考察產出物質量。由於考核基於測試過程進行,因此必須在過程結束之後才能進行。當然,由於工程是分佈提交測試的,每月可以根據實際情況進行月考核,工程結束後或任務結束後在統一考核。按照傳統測試周期,測試過程分為:測試計劃、測試設計和測試執行三個方面進行。測試計劃屬於測試經理的範疇,在最後討論。測試人員主要是測試設計和測試執行,測試經理的考核可包含在測試人員的考核內,當然,這部分考核也可以納入專案組中進行。考核指標如下:

測試設計

工作效率相關指標

文件產出率 這項指標值主要為測試用例文件頁數除於編寫文件的有效時間獲得。用於考察測試人員測試用例文件的生產率大小。

公式:∑測試用例文件頁數(頁) / ∑編寫測試用例文件有效時間(小時)

參考指標:根據專案彙總得出平均在 1.14 頁 / 小時左右,高於此值為優,低於此值為差。

用例產出率 這項指標值主要為上述指標值的補充,用於考察測試人員測試用例產出率大小。測試文件頁數可能包含的冗餘資訊較多,因此要檢視文件中測試用例的多少。方法是測試用例文件中測試用例編號總和數除於編寫文件的有效時間。

公式:∑測試用例數(個) / ∑編寫測試用例文件有效時間(小時)

參考指標:平均 4.21 個用例 / 小時

工作質量相關指標

需求覆蓋率 計算測試用例總數之和除於與之一一對應的功能點數之和,主要檢視是否有功能點遺漏測試的情況。

公式:∑測試用例數(個) / ∑功能點(個)

參考指標: 100 %。如果連功能指標都不能滿足 100 %覆蓋,起碼說明測試不充分。這個指標收集起來相當困難,如果存在需求跟蹤矩陣或者測試管理工具能把用例與需求一一對應就容易得多。

注意:有的功能是難於測試的,那麼未能覆蓋到的需求要綜合分析,明確是測試人員遺漏?還是無法測試?這需要放入問題跟蹤表中進行後續跟蹤;另外,有的功能點包含的資訊較多或者有的用例包含幾個功能點,這時只能把重複的功能點或重複用例按一個計,難於區分的要做說明。

文件質量 測試用例進行評審和同行評審發現的缺陷數,或者將此缺陷數除於文件頁數算出比率。此指標考察測試人員文件編寫的質量如何。

公式:∑缺陷數(評審和同行評審)(個)

∑缺陷數(評審和同行評審)(個) / ∑測試用例文件頁數(頁)

參考指標:由於評審是發現的缺陷數是不固定的,因此,這個指標沒有可供參考的數值。如果缺陷數大小不能直接用於比較就使用缺陷 / 頁方式進行橫向對比。

文件有效率 使用測試用例文件進行測試時發現的系統測試缺陷數除於此文件頁數。用於考察文件是由有效的指導了測試工作。

公式:∑缺陷數(系統測試)(個) / ∑測試用例文件頁數(頁)

參考指標:平均 2.18 個缺陷 / 頁

注意:如果存在測試人員在測試時建立新文件用於輔助測試時應包含這一部分。

用例有效率 使用測試用例發現的全部缺陷除於測試用例數總和。這一指標是上一指標的補充指標,用於考察用例質量是否較高

公式:∑缺陷數(系統測試)(個) / ∑測試用例數(個)

參考指標:平均 0.59 個缺陷 / 用例,也就是說,每執行兩個用例才得到 1 個缺陷,各工程有所不同,可以自己實踐一下

測試執行

工作效率相關指標

執行效率 利用測試用例文件頁數除於此次系統測試執行的時間總和(不包含用例文件編寫時間)。補充指標方法是用例的個數除於此次系統測試的時間總和。用於獲得工作中測試人員每小時執行測試的速度。

公式:∑測試用例文件頁數(頁) / ∑執行系統測試的有效時間(小時)

∑測試用例數(個) / ∑執行系統測試的有效時間(小時)

參考指標:平均 0.53 頁 / 小時, 1.95 個用例 / 小時。即測試人員每小時執行半頁測試用例或者每小時執行 2 個測試用例。通過橫向比較,容易知道那位成員的執行效率較高。注意:執行效率高的不代表測試質量也高,甚至執行效率和測試質量成反比,所以後面工作質量的指標會補充這一部分的偏離。實際結果表明,用例執行效率高的成員,其缺陷發現率往往偏低,考核如果不將此納入進來也可以將其作為測試改進的一項重要資料進行收集。

進度偏離度 檢查計劃時間和實際時間的進度,方法是計劃時間差額減去實際時間差額除於實際工時總和,用於考察測試人員進度情況,監控測試是否按照日程進行,是否滿足了工程的進度要求。

公式:∑(計劃開始時間 - 實際開始時間)+∑(計劃結束時間 - 實際結束時間) / 總工時

參考指標: 15 % 進度偏離是個相對的指標,可能偏離了 20 個工作日,但是對於一個長達半年時間的測試而言偏離天數比上整體測試所需天數不足 15 %,可能偏離了 3 個工作日,但是對於一個只有 1 星期時間的測試已經超過了整個測試階段所需天數的 60 %。

注意:計算時分子分母要保持一致,即開始或結束時間已經去除了非工作日時間,則總工時也要去除非工作日時間。因為制定計劃時是根據每個公司的工作日來制定的,也就是說,考慮了非正常工作日的日程。

測試進度也是考核很重要的一步,如果沒有進度保證,所有的測試都存在風險,第一種方法是測試人員可以採用自下而上的方式向測試經理報告計劃用時,這種方式風險比較少,個人根據自己能力大小確定,但是缺點是存在測試人員虛報可能性。另一種方法是測試經理進行估算後分配工作日程,這時估算是很重要的前提,除了依賴於測試經理的經驗外,對評估結果進行同行評審是很客觀可取的方法。

缺陷發現率 測試人員各自發現的缺陷數總和除於各自所花費的測試時間總和。由於執行效率不能足夠代表測試人員是否認真工作,那麼,每小時發現的缺陷數就是重要的考核指標,你的工作可以通過這項指標得到反饋。

公式:∑缺陷數(系統測試)(個) / ∑執行系統測試的有效時間(小時)

參考指標:平均 1.1 個缺陷 / 小時 假使有位測試人員沒有達到 1 小時發現 1 個缺陷,那麼,除非產品質量高、模組較小,否則,就是他的缺陷發現能力不如其他測試人員。當然,詳細分類中可以根據發現重要缺陷的多少來定義缺陷發現能力。

工作質量相關指標

有效缺陷數 / 率 被拒絕和刪除的缺陷數總和,或者被拒絕和刪除的缺陷數總和除於缺陷總數。這項指標用於考察測試人員發現的、被確認為缺陷的缺陷數高低或者百分比,數和比率越低測試質量越高。

公式:∑缺陷數(系統測試中被拒絕和刪除的)(個)

∑缺陷數(系統測試中被拒絕和刪除的)(個) / ∑缺陷數(系統測試)(個)

參考指標:平均 21.9 %(測試人員發現的每 100 個缺陷中平均有 22 個缺陷不被開發組確認、認為不是“缺陷”或者錯誤錄入缺陷)。有效缺陷比率容易給出,但是有效缺陷數具體資料要根據專案情況,無法給出可參考的數值。

注意:這項指標可能有不正確的情況,假使缺陷被拒絕和被刪除的原因不是因為測試人員誤操作和需求理解等自身錯誤引起,而是系統本身不能實現或者資料錯誤引起的,那麼就要考慮剔除這部分。對於測試人員發現系統框架根本性的、初始化引數設定錯誤引發的、錯誤資料、錯誤環境等而開發人員因無法修正、可以通過改變環境而無需修改程式、重新匯入資料、再次釋出從而拒絕或刪除的缺陷,應給予此測試人員獎勵。

嚴重缺陷率 這個比例用於彌補缺陷發現率的不足。主要是根據嚴重程度分類的缺陷數比全部缺陷或者有效缺陷數。一般而言,每個公司基本把缺陷嚴重程度分為嚴重、一般和微小,或者更細(通常等級數為奇數)。另外,可以對缺陷嚴重程度進行折算(嚴重:一般:微小 =1 : 3 : 5 )通過折算可以得出權重,然後在計算測試人員分值,在此不冗述

公式:∑嚴重 / 一般 / 微小 / ∑缺陷數

∑嚴重 / 一般 / 微小 / ∑有效缺陷數

參考指標:嚴重 ~10% 一般 ~70% 微小 ~20% 。當測試人員發現的缺陷中嚴重錯誤比率越高,說明測試質量相對就好,通常嚴重程度缺陷數的分佈呈正態分佈。

模組缺陷率 這個指標主要是根據一個單獨測試模組的缺陷數除於模組本身功能點數得出來的。假使一個模組是單獨測試的話,很容易可以和其他模組進行指標橫向對比,參照對應的測試人員,得出所測試模組的缺陷數,可以考察測試人員測試水平,也為開發考核提供資料。

公式:∑缺陷數(系統測試(個) / 功能點(個)

∑缺陷數(系統測試(個) / 子功能點(個)

參考指標 平均 3.74 個缺陷 / 功能點 1 個缺陷 / 子功能點

注意:有些功能點沒有子功能點,計運算元功能點時要進行說明。

三 測試管理

開頭提到對測試經理的考核就複雜一些,除了測試經理參與測試設計和執行外,還要考察他的測試管理能力,即測試計劃階段工作,其中

計劃質量 測試計劃的評審缺陷數或比率,可以與其他同型別專案或資料庫平均指標進行對比。

公式:∑缺陷數(評審和同行評審)(個)

∑缺陷數(評審和同行評審)(個) / ∑測試計劃文件頁數(頁)

參考指標:無

成本質量 成本度量主要放在工作量這塊。因為無論涉及工資還是獎金,都要和工作量掛上關係。成本質量主要是對測試活動的計劃工作量總和比上實際的工作量數值總和。對測試人員考核的進度偏離已經考慮了進度因素,而工作量涉及的是成本因素。

公式:∑測試活動計劃工作量(估算人日) / ∑測試活動的實際工作量(人日)

參考指標:原則上不能偏離計劃的 ± 15 %~ ± 20 %。實際上,這個指標是對成本的一種度量。對於一個大的專案來說,估算值往往差距非常大,階段統計時可能有± 500 %!!這時調整計劃是很必要的,在最終階段取考慮計算平均估算值。一個測試經理必須對完成任務的成本進行有效控制。

這兩項指標是相對容易量化的部分,而需要新增其他量化指標需要綜合考慮由專案經理和測試部部門經理給出標準,例如管理用時比率(整個專案測試期間管理時間佔整個專案測試總時間)、系統整體缺陷數與其他同型別專案或資料庫平均指標進行對比等等。

考核具體方法:

1 .將各項指標進行彙總分析,得出總和表格,根據測試人員各項指標大小進行排行榜製作,如列出 1 、 2 、 3 、 4 名。

2 .確定階段涉及的權重。例如將測試設計和測試執行權重各為 50 %。其中,工作效率佔 40 %(即佔所在階段 20 %),工作質量佔 60 %(即佔所在階段 30 %)。

3 .確定每類指標的分值,然後每類指標達到平均標準給 100 %,達不到或者超過根據 80 % ~120 %比率給分

3 .將比分統計出來後進行綜合評定,必要的話增加一些調整係數。

4 .最好將定性分析納入進來,採用問卷調查和專案經理評分制度給出定性指標分數,建議這部分權重不要超過 10 %~ 15 %以保證測試考核的可度量性。

當所有考核分數給出之後,提醒一點的是,既然做了考核,就必須公開這些結果,而且考核具有導向型,不要讓考核誤導了對質量工作的追求才是最重要的。

考核注意事項:

1 .專案並不是一個月就能完成的,如每月進行,要考慮“可考核部分”為那些,挑選那些指標能夠橫向對比,然後分階段、分任務評定。

2 .參與測試的時間長短也要給予重視,除了上述量化指標外,測試人員整體投入時間長短也是很重要的,加班也要作為特殊考慮因素,也許某個測試人員只參加了測試執行 3 小時,各項指標都是良好的,但是不可能給他比其他參與時間更長的人員更多的分數。這部分就是增加調整係數的原因。

3 .測試經理的測試設計和執行部分和專案測試人員一起考核,但是測試管理工作要單獨考核,作為另外的加分,或者如文章前面所述納入專案組給予考核。因為測試經理在專案測試中起著管理者和質量保證負責人的角色,不要把他和其他測試工程師平等對待。

4 .考核前要考慮專案的實際情況,不要盲目的輕易承諾測試組人員考核會和薪金或者淘汰機制掛鉤,否則考核會起到反效果。

專案組測試人員考核的主要目的是在於激勵測試組測試人員工作,鼓勵能者,鞭策落後;另外,還可以起到發現人才和查詢不足的作用。考核中即要體現多勞多得的原則,也要體現公正性和合理性原則,獎罰分明才能有效促使質量管理工作的進步。要想考核得到滿意的效果,上述方法的重要的前提條件是:必須要在專案中充分收集相關的資料,包括採集缺陷數,記錄工時、提交詳細工作日誌和進行文件配置管理,沒有這些資料,定量分析就無從談起,測試人員考核也無從談起。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7942439/viewspace-18824/,如需轉載,請註明出處,否則將追究法律責任。

相關文章