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