【摘要】 本文介紹測試用例一般要素 以及 如何根據(jù)項目特點(diǎn)設(shè)計測試用例模板, 用以 提高測試用例設(shè)計效率和實(shí)現(xiàn)測試用例執(zhí)行結(jié)果報告的自動化計算,分析測試用例覆蓋率。
【關(guān)鍵字】 測試用例 模板 測試覆蓋率
測試用例設(shè)計和執(zhí)行是測試工作的核心,也是工作量最大的任務(wù)之一,設(shè)計良好的測試用例模板能提高測試用例的設(shè)計質(zhì)量,便于跟蹤測試用例的執(zhí)行結(jié)果,自動生成測試用例覆蓋率報告。這幾年測試技術(shù)和理論有了長足的發(fā)展,就功能測試用例設(shè)計要素而言,樣式上均大同小異,一般都包含主題、前置條件、執(zhí)行步驟、期望結(jié)果等。
測試用例可以用數(shù)據(jù)庫、Word 、Excel 、xml 等格式進(jìn)行管理,市面亦有成熟的商業(yè)軟件工具和開源工具等,對于一般中小軟件企業(yè),使用文檔來管理測試用例是較為方便、經(jīng)濟(jì)的途徑。 Word 格式的文檔可以滿足設(shè)計需要,但不利于跟蹤和自動統(tǒng)計執(zhí)行結(jié)果報告。下面我將介紹自己在多個項目中設(shè)計和改進(jìn)的 Excel 模版,它可以方便地設(shè)計測試用例,記錄執(zhí)行結(jié)果并自動統(tǒng)計測試用例覆蓋率。圖-1 為 Excel 模板。具體細(xì)目說明如下:

圖-1 Excel 模板
測試用例 ID —— 用于唯一標(biāo)識測試用例號,可根據(jù)自身需要定義規(guī)則,最好易于跟蹤和維護(hù);
測試前置條件 —— 如果有則描述之;
測試用例等級 —— 根據(jù)需求重要性區(qū)分測試用例等級,測試執(zhí)行階段可以根據(jù)測試用例等級安排測試任務(wù),分為四級:
?? 冒煙測試,即版本確認(rèn)測試,每個測試版本需通過所有該級測試用例,否則拒絕繼續(xù)測試;
?? 關(guān)鍵路徑測試,每個測試版本需執(zhí)行該級測試用例,若該級測試用例均通過,意味著軟件功能趨于穩(wěn)定;
?? 可接受級測試,該級測試用例只要執(zhí)行一次通過即可,該級測試用例通過意味著可以準(zhǔn)備發(fā)布了;
?? 建議執(zhí)行的用例,如果有時間,最好執(zhí)行該級測試用例,但不作為發(fā)布的必要條件。
測試用例執(zhí)行步驟、期望結(jié)果;
測試用例執(zhí)行結(jié)果 —— 執(zhí)行時填寫,分為通過、失敗、警告、阻塞、忽略。
通過開發(fā) VBA 腳本,可以自動統(tǒng)計每輪測試用例執(zhí)行結(jié)果,如圖-2 所示,得到測試用例覆蓋率結(jié)果報告,用于分析測試結(jié)果。?

圖-2 測試用例覆蓋率分析報告
測試用例狀態(tài)轉(zhuǎn)換分析
圖 -3 顯示了一個典型測試用例的生命周期,依據(jù)不同類型和規(guī)模的項目可以自行定制。
圖-3 測試用例生命周期
隊列中( In Queue ) -- 測試用例在排隊等待中;
進(jìn)程中( In Progress ) -- 表示測試正在進(jìn)行,并且可能會持續(xù)一段時間,如果一個測試花費(fèi)的時間少于一天或兩天,只需將它顯示在處于排隊狀態(tài);
阻塞( Block ) -- 一些外部條件 — 如缺少部分功能 — 將無法執(zhí)行測試;
忽略( Skip ) -- 已經(jīng)決定(或被告知)跳過這個測試用例;
通過( Pass ) -- 終點(diǎn)狀態(tài),沒問題;
失敗( Fail ) -- 測試用例執(zhí)行出錯;
警告( Warn ) -- 結(jié)果處于 Pass 和 Fail 之間,錯誤嚴(yán)重性等級較輕,不影響功能和性能;
關(guān)閉( Closed ) -- 以前識別出的錯誤都已經(jīng)被修正。
實(shí)際項目中,一個測試用例有多個執(zhí)行步驟,每個步驟可能有不同結(jié)果,如步驟 1 通過,步驟 2 失敗,步驟 3 被步驟 2 中的失敗所阻塞,那么該測試狀態(tài)如何?單純指出這個測試用例阻塞或失敗都將遺漏重要的信息。因此必須指定雙重狀態(tài),如 Block/Fail , Block/Warn , Skip/Pass , Skip/Closed 等。然而,如果顯示十幾個狀態(tài),則測試結(jié)果可能更難以解釋。如何使結(jié)果明了又能精確反映實(shí)際結(jié)果,需要精明選擇包括哪些狀態(tài)。
使用該模板優(yōu)點(diǎn):使用維護(hù)簡便,方便測試任務(wù)分配,易于與項目組其他角色交流,結(jié)果報告自動生成。
不足之處:測試變更跟蹤不方便,每個測試用例的規(guī)模不等,所以測試覆蓋率結(jié)果只是作為參考,結(jié)果百分比不能精確反映工作量,需要具體分析項目情況。這個模版沒有跟蹤統(tǒng)計缺陷,同時考慮是否使用加權(quán)評估缺陷嚴(yán)重性,一個測試用例往往對應(yīng)幾個缺陷的統(tǒng)計分析。
結(jié)論:在實(shí)際項目中,應(yīng)該根據(jù)項目特點(diǎn)和開發(fā)流程定義測試用例各項。在精確和簡單兩個特性相對立時,需要好好權(quán)衡。如果您有好的解決方案,我將很樂意知道。
|