在軟件測試中淺談功能測試用例模板設計的方法
測試工作的核心就是測試用例設計和執行,也是工作量最大的任務之一,設計良好的測試用例模板能提高測試用例的設計質量,便于跟蹤測試用例的執行結果,自動生成測試用例覆蓋率報告。這幾年測試技術和理論有了長足的發展,就功能測試用例設計要素而言,樣式上均大同小異,一般都包含主題、前置條件、執行步驟、期望結果等。
測試用例可以用數據庫、Word 、Excel 、xml 等格式進行管理,市面亦有成熟的商業軟件工具和開源工具等,對于一般中小軟件企業,使用文檔來管理測試用例是較為方便、經濟的途徑。 Word 格式的文檔可以滿足設計需要,但不利于跟蹤和自動統計執行結果報告。下面我將介紹自己在多個項目中設計和改進的 Excel 模版,它可以方便地設計測試用例,記錄執行結果并自動統計測試用例覆蓋率。圖-1 為 Excel 模板。具體細目說明如下:
圖-1 Excel 模板
測試用例 ID —— 用于唯一標識測試用例號,可根據自身需要定義規則,最好易于跟蹤和維護;
測試前置條件 —— 如果有則描述之;
測試用例等級 —— 根據需求重要性區分測試用例等級,測試執行階段可以根據測試用例等級安排測試任務,分為四級:
• 冒煙測試,即版本確認測試,每個測試版本需通過所有該級測試用例,否則拒絕繼續測試;
• 關鍵路徑測試,每個測試版本需執行該級測試用例,若該級測試用例均通過,意味著軟件功能趨于穩定;
• 可接受級測試,該級測試用例只要執行一次通過即可,該級測試用例通過意味著可以準備發布了;
• 建議執行的用例,如果有時間,最好執行該級測試用例,但不作為發布的必要條件。
測試用例執行步驟、期望結果;
測試用例執行結果 —— 執行時填寫,分為通過、失敗、警告、阻塞、忽略。
通過開發 VBA 腳本,可以自動統計每輪測試用例執行結果,如圖-2 所示,得到測試用例覆蓋率結果報告,用于分析測試結果。
圖-2 測試用例覆蓋率分析報告
測試用例狀態轉換分析
圖 -3 顯示了一個典型測試用例的生命周期,依據不同類型和規模的項目可以自行定制。
圖-3 測試用例生命周期
隊列中( In Queue ) -- 測試用例在排隊等待中;
進程中( In Progress ) -- 表示測試正在進行,并且可能會持續一段時間,如果一個測試花費的時間少于一天或兩天,只需將它顯示在處于排隊狀態;
阻塞( Block ) -- 一些外部條件 — 如缺少部分功能 — 將無法執行測試;
忽略( Skip ) -- 已經決定(或被告知)跳過這個測試用例;
通過( Pass ) -- 終點狀態,沒問題;
失。 Fail ) -- 測試用例執行出錯;
警告( Warn ) -- 結果處于 Pass 和 Fail 之間,錯誤嚴重性等級較輕,不影響功能和性能;
關閉( Closed ) -- 以前識別出的錯誤都已經被修正。
實際項目中,一個測試用例有多個執行步驟,每個步驟可能有不同結果,如步驟 1 通過,步驟 2 失敗,步驟 3 被步驟 2 中的失敗所阻塞,那么該測試狀態如何?單純指出這個測試用例阻塞或失敗都將遺漏重要的信息。因此必須指定雙重狀態,如 Block/Fail , Block/Warn , Skip/Pass , Skip/Closed 等。然而,如果顯示十幾個狀態,則測試結果可能更難以解釋。如何使結果明了又能精確反映實際結果,需要精明選擇包括哪些狀態。
使用該模板優點:使用維護簡便,方便測試任務分配,易于與項目組其他角色交流,結果報告自動生成。
不足之處:測試變更跟蹤不方便,每個測試用例的規模不等,所以測試覆蓋率結果只是作為參考,結果百分比不能精確反映工作量,需要具體分析項目情況。這個模版沒有跟蹤統計缺陷,同時考慮是否使用加權評估缺陷嚴重性,一個測試用例往往對應幾個缺陷的統計分析。
結論:在實際項目中,應該根據項目特點和開發流程定義測試用例各項。在精確和簡單兩個特性相對立時,需要好好權衡。如果您有好的解決方案,我將很樂意知道。
文章來源于領測軟件測試網 http://www.kjueaiud.com/