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

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

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