在軟件的整個生命周期中,軟件測試是一個重要環節,軟件測試用例是軟件測試的基礎,也是測試工作的指導,所以做好軟件測試用例管理尤為重要。我們軟件測試中心專家從軟件測試用例管理、用例設計、用例執行、用例任務管理、用例維護和人員以及權限管理等方面進行詳細闡述,提升測試用例設計、使用、共享、追溯以及管理的效率,縮短測試周期,降低測試成本。
1 軟件測試用例管理
軟件測試用例管理包括目錄創建、測試用例創建、引用、復制、導入、導出和統計等功能。
1.1 目錄和測試用例創建
軟件測試用例基于某個產品的某個功能進行設計。結合軟件開發的流程,產品經過多次迭代版本的開發、測試才能進行發布,軟件測試用例會在不同的迭代版本中重復執行。因此,測試用例按照表1 所示的層級進行管理。
第一級目錄為產品名稱,一個公司或者單位可能開發多個產品,因此可能存在多個一級目錄。第二級目錄為大版本,即對外發布版本。第三級目錄為基線庫和小版本,基線庫目錄下的用例為該大版本發布后最新的用例,該目錄中的用例在測試過程中實時更新測試用例內容和測試結果;小版本中的測試用例為大版本迭代過程中的版本,測試執行也是基于小版本進行,測試過程中若發現測試用例存在問題可進行修改,修改的用例自動回合到基線庫中。第四、五級目錄為產品的功能以及子功能,對功能繼續詳細劃分。第六級目錄為測試用例。
其中,第一級到第四級,若單位有版本配置管理部分,可配置后在此處自動顯示,保證數據源唯一;若沒有版本配置管理部分,系統名稱目錄下支持創建目錄或者用例,同一級目錄名稱不允許重復。
1.2 軟件測試用例引用
支持不同產品和同一產品不同大版本、不同小版本、同一大版本基線庫到小版本之間測試用例的引用,測試用例引用只引用用例內容,不引用用例的測試結果,引用后的用例編號不發生變化。
不同產品和同一產品不同大版本、不同小版本間引用的用例單獨存儲,也就是引用后用例變成一個單獨的個體,與原用例不存在關聯關系。同一大版本基線庫到小版本之間測試用例的引用,小版本中的測試用例內容發生變化,基線庫中用例隨之變化,保證基線庫中的用例為當前大版本下最新的測試用例。其他小版本可繼續在基線庫中引用最新的測試用例。
測試用例引用功能在測試執行過程中,方便測試管理人員管理測試用例,使不同版本間測試用例清晰,同時,保證各版本以及發布版本用例的可追溯性。
1.3 復制
支持對用例或者目錄進行復制,復制后的用例編號根據一定的規則發生變化。該場景在用例設計過程中,用例內容大部分相同、少部分內容不同時,可進行用例的復制,復制后對用例不同之處進行修改即可,大大提升測試用例設計人員編寫測試用例的效率。
1.4 導入
Excel清晰分級、快速填充序列和復制等功能在編寫測試用例時,為測試用例設計人員提供極大的方便。為將Excel中測試用例存儲在測試用例管理系統中,測試用例管理應支持按照Excel格式進行用例導入,以及全量、增量和修改導入。要求用例編號作為唯一的標識,已執行過的測試記錄不能修改,當前執行結果可清空。導入的模板應該預置在測試用例管理中,與導出功能的文件格式和標題內容保持一致。
1.5 導出
軟件測試用例支持導出Excel 和Word 兩種格式,Excel 格式便于批量修改測試用例后進行導入,Word 格式便于試驗大綱編制使用。Word 格式導出時可選擇帶執行結果和不帶執行結果導出,不帶執行結果導出時,測試結果列將為空。
1.6 統計
支持右鍵按照用例目錄中的文件夾進行執行情況統計,同時支持表格顯示統計結果,包括各子文件夾中以及總的用例個數、已執行個數、執行通過個數、執行不通過個數和阻塞個數等,方便測試管理人員進行任務跟蹤和統計。
1.7 刪除
支持用例單個或者批量刪除,目錄刪除后,目錄下的所有測試用例均被刪除。
2 軟件測試用例設計
軟件測試用例至少應該包括以下元素,即用例編號、系統/ 功能名稱、用例屬性、用例級別、是否可自動化、用例描述、前置條件、測試步驟及系統響應、測試結果、設計者、執行者、執行時間和附圖等,具體內容如下。
(1)用例編號。在某一產品中為唯一標識,按照一定規律進行編號,如產品名稱、大版本名稱、系統/ 功能名稱、子功能名稱、序號。用例編號用于測試用例的回合、修改、導入等功能,通過測試用例編號進行用例的唯一標識和操作。
(2)系統/ 功能名稱。指該用例所屬的系統或者功能名稱,用于對用例進行分類,方便后續進行搜索、統計等管理,建議前期將系統/ 功能名稱預置到測試用例系統中或者Excel 的下拉列表中,供測試用例設計人員進行選擇。
(3)用例屬性。指該測試用例屬于具體類型的測試用例,如功能測試、性能測試、安全測試、接口測試、可靠性測試等,建議前期將用例屬性預置到測試用例管理系統中或者Excel的下拉列表中,供測試用例設計人員進行選擇。
(4)用例級別。至少包括3 個級別,分別代表測試用例待測試的重要和緊急程度,第一級別用例也可稱為冒泡用例,代表交付版本的最基本功能。版本交付給測試人員后,首先,進行第一級別用例測試,若第一級別用例測試通過,版本可進行全面測試,否則,版本打回,待最基本功能修復正常后重新交付給測試人員。其次,第二級別用例是指除冒泡用例之外的基本功能用例,該級別用例在版本發布前,必須進行全量測試。最后,第三級別用例異常用例,也就是針對測試功能中的異常場景測試的用例,該級別用例正常情況下只測試一次即可。
(5)是否可自動化。用于標識測試用例是否可通過自動化進行驗證,建議有兩個選項,即“是”或者“否”,“是”表示該測試用例可通過自動化進行測試,“否”表示該測試用例只能通過手工進行測試。
(6)用例描述。描述用例主要測試的內容以及預期結果,要求簡單明了,能一目了然地識別測試內容和期望結果。
(7)前置條件。測試前的準備條件或需要滿足的條件。
(8)測試步驟及系統響應。測試步驟體是測試過程中需要執行的步驟或者操作,要求盡可能描述詳細,保證測試人員可執行性;系統響應是指每一步操作系統應該如何響應,如應該顯示一個怎樣的畫面。
(9)測試結果。測試結果表示測試用例的測試情況,包括通過、不通過和阻塞。測試的結果與系統響應一致時,測試結果為通過;測試的結果與系統響應不一致時,測試結果為不通過;還有一部分測試用例可能由于其他系統原因或者其他功能存在問題導致該用例無法測試,這部分測試用例的測試結果為阻塞。分析測試用例結論時,可通過測試用例的結果統計該版本不通過用例的數量,便于測試管理人員制定下一個版本測試策略或者做出關于版本是否可發布上網的結論。
(10)設計者。設計測試用例人員,如果是在系統中進行用例的設計,那么可直接使用登錄賬戶自動填寫。
(11)執行者。執行測試用例人員,標注測試用例結果時,可直接使用登錄賬戶自動化填寫。
(12)執行時間。本次測試用例執行時間,在標注執行結果時自動填寫。
(13)附圖。在系統響應中,有些預期結果無法準確描述,需要利用圖示進行說明,故此測試用例管理系統需要支持上傳圖片。
3 軟件測試用例執行
3.1 軟件測試用例手工執行
軟件測試用例執行包括單個執行和批量執行兩種方式。
(1)單個執行。選擇樹型結構中的用例,右鍵可標注用例結果為通過、不通過和阻塞。
(2)批量執行。選擇樹型結構中的目錄,右鍵可標注該目錄下所有用例的結果。
3.2 軟件測試用例自動化執行
支持使用不同插件進行測試用例自動化開發以及測試結果的自動標注。自動化標注的測試用例結果建議增加標識,表示該執行結果通過自動化執行。
3.3 執行日志記錄
每個版本中,記錄測試用例執行日志,包括測試時間(精確到秒)、執行方式(手動執行、自動化執行)、執行結果和執行人,有助于用例后續追溯使用或者統計使用。
最后軟件測試用例執行數據都要體現到《軟件測試報告》文檔中,比如測試用例通過率、未通過用例、阻塞用例,軟件測試用例的執行情況也是整個《軟件測試報告》的精華所在??蓞⒖迹?a href="http://www.shrgm.cn/1896.html" target="_blank" title="如何正確解讀和應用軟件測試報告中的數據">《如何正確解讀和應用軟件測試報告中的數據》
4 軟件測試用例任務管理
任務管理需要支持任務創建、任務信息顯示、用例執行以及執行結果統計。
(1)任務創建。支持右鍵基于試驗版本信息測試任務的創建,輸入任務名稱,選擇責任人,選擇該版本下的用例,且同一用例不能重復分配。
(2)任務信息顯示。樹型結構中顯示該任務下的用例信息,右側顯示任務詳細信息或者用例詳細信息。
(3)用例執行。支持可按照任務方式進行自動化用例執行和手工用例執行。
(4)執行結果統計。以任務為基準,統計結果內容包括各任務下的用例個數、已執行個數、執行通過個數、執行不通過個數、阻塞個數、未執行個數和執行進展(已執行個數/ 用例個數)。
5 軟件測試用例維護
軟件迭代過程中,測試用例需要不斷刷新和維護。
針對小的變更,在版本交付過程中,應對測試用例進行維護修改;
針對需求變更或者新增,應及時增加和刪除測試用例;
版本發布后,根據用戶反饋的缺陷,應及時分析并補充測試用例。因此,測試用例維護是比較重要的過程,應及時刪除過時、冗余的用例,刷新需變更的用例,及時補充新需求用例。
6 軟件測試人員及權限管理
(1)測試人員管理。支持用戶的登錄、創建、修改和刪除,默認有一個管理員賬戶;支持用戶與權限的關聯,用例只能按照指定操作的權限進行操作或者顯示。
(2)權限管理。支持權限創建、修改和刪除,各功能應具有自己的權限項,針對不同人員,通過分配相應的權限對用例的操作進行控制。
軟件測試用例是測試人員最基本的操作依據,軟件測試用例合理的管理,對軟件測試的質量和測試人員的工作效率會有較大的提升。本文結合軟件開發和測試的工作經驗,詳細分析了測試用例管理應具備的功能,將這些功能完全應用到軟件測試過程中,使整個驗證過程更清晰,管理效率更高,追溯性更強。