測試的主要評測方法包括覆蓋和質(zhì)量。
測試覆蓋是對測試完全程度的評測,它建立在測試覆蓋基礎(chǔ)上,測試覆蓋是由測試需求和測試用例的覆蓋或已執(zhí)行代碼的覆蓋表示的。
質(zhì)量是對測試對象(系統(tǒng)或測試的應(yīng)用程序)的可靠性、穩(wěn)定性以及性能的評測。質(zhì)量建立在對測試結(jié)果的評估和對測試過程中確定的變更請求(缺陷)的分析的基礎(chǔ)上。
覆蓋指標提供了"測試的完全程度如何?"這一問題的答案。最常用的覆蓋評測是基于需求的測試覆蓋和基于代碼的測試覆蓋。簡而言之,測試覆蓋是就需求(基于需求的)或代碼的設(shè)計/實施標準(基于代碼的)而言的完全程度的任意評測,如用例的核實(基于需求的)或所有代碼行的執(zhí)行(基于代碼的)。
系統(tǒng)的測試活動建立在至少一個測試覆蓋策略基礎(chǔ)上。覆蓋策略陳述測試的一般目的,指導(dǎo)測試用例的設(shè)計。覆蓋策略的陳述可以簡單到只說明核實所有性能。
如果需求已經(jīng)完全分類,則基于需求的覆蓋策略可能足以生成測試完全程度的可計量評測。例如,如果已經(jīng)確定了所有性能測試需求,則可以引用測試結(jié)果來得到評測,如已經(jīng)核實了 75% 的性能測試需求。
如果應(yīng)用基于代碼的覆蓋,則測試策略是根據(jù)測試已經(jīng)執(zhí)行的源代碼的多少來表示的。這種測試覆蓋策略類型對于安全至上的系統(tǒng)來說非常重要。
兩種評測都可以手工得到(公式如下所示)或通過測試自動化工具計算得到。
基于需求的測試覆蓋
基于需求的測試覆蓋在測試生命周期中要評測多次,并在測試生命周期的里程碑處提供測試覆蓋的標識(如已計劃的、已實施的、已執(zhí)行的和成功的測試覆蓋)。
在執(zhí)行測試活動中,使用兩個測試覆蓋評測,一個確定通過執(zhí)行測試獲得的測試覆蓋,另一個確定成功的測試覆蓋(即執(zhí)行時未出現(xiàn)失敗的測試,如沒有出現(xiàn)缺陷或意外結(jié)果的測試)。
基于代碼的測試覆蓋
基于代碼的測試覆蓋評測測試過程中已經(jīng)執(zhí)行的代碼的多少,與之相對的是要執(zhí)行的剩余代碼的多少。代碼覆蓋可以建立在控制流(語句、分支或路徑)或數(shù)據(jù)流的基礎(chǔ)上?刂屏鞲采w的目的是測試代碼行、分支條件、代碼中的路徑或軟件控制流的其他元素。數(shù)據(jù)流覆蓋的目的是通過軟件操作測試數(shù)據(jù)狀態(tài)是否有效,例如,數(shù)據(jù)元素在使用之前是否已作定義。