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