本文提出了基于復用的軟件測試模型。該模型面向一個軟件測試項目,但不同于以往的測試模型,主要表現在模型中融合了面向復用的測試用例設計以及對測試用例的復用上,模型如圖2所示。
“測試需求分析和共性分析”中,測試人員一方面要根據被測試軟件需求分析、設計說明等文檔或軟件代碼梳理出被測軟件的測試需求,另一方面要針對被測軟件所屬領域及軟件類型進行面向復用的共性分析。
“定義測試策略”中,測試人員根據測試目標和上一步的結果定義測試策略,包括測試方法、測試類型、測試環境等內容。
“定義測試用例”中,測試人員根據測試需求和共性分析結果及所定義的測試策略,定義所需要的測試用例。這里定義的測試用例只是給出一個測試用例名稱及其測試目的。
“查詢可復用測試用例庫”中,測試人員用多字段檢索功能從可復用測試用例庫中查找滿足要求的測試用例。對測試用例的查詢是不確定的,查詢結果通常是一個相似的測試用例集合。如果可以找到,則“提取測試用例”并對其進行分析,確定出最合適的測試用例;如果沒有,則“設計”新的測試用例。找到的測試用例,往往因其通用性,并不能完全滿足測試需求,要對其“補充完善”。在設計新的測試用例時,要考慮到上節“設計測試用例”要求。
在傳統模型評審的基礎上,本模型“測試評審”還包括對新設計的可復用測試用例是否滿足要求的審查;對復用的測試用例是否補充完善的審查;所有測試用例是否滿足被測軟件的測試需求的審查。
“執行測試用例”中,測試人員將所設計的測試用例逐用例逐步驟地執行。在執行過程中,認真觀察并詳實地記錄測試過程、測試結果和發現的錯誤,形成測試記錄。如果在執行過程中發現測試用例有不正確和不完善之處,則糾正;如果測試用例不充分,則補充。
測試人員在“測試總結”中對所有測試結果進行分析總結,將通過測試執行驗證的可復用測試用例放入可復用測試用例庫中,以便后續復用。
該模型的優點為:1)對已有的可復用的測試用例進行了復用,避免了大量的重復性工作,提高了測試質量和效率;2)考慮了面向復用的測試用例設計,避免再次產生大量的不可復用的測試用例。
4、可復用測試用例描述要素
測試用例的輸入、操作、預期結果和評估標準、前提條件是測試用例不可少的要素,但對于可復用測試用例而言,這是不夠的。本文在文獻規定的測試用例要素基礎上,增加了新的內容。從而從多個角度完整地對可復用測試用例進行了描述,為可復用測試用例的標準化提供了模板,為建立可復用測試用例庫并對測試用例實施有效管理提供了基礎,也為測試用例檢索提供了多個檢索字段。
1)測試用例名稱:名稱能清晰且簡潔地表達測試用例的功能。
2)ID:該ID在數據庫中是唯一的。
3)版本號:用于測試用例的版本管理,每個測試用例應按照定義的規則設定一個版本號。
4)測試需求:對要驗證的測試需求的描述和測試要求,例如,功能、性能等。
5)測試階段:被測軟件所處的測試階段,包括單元測試、部件測試、配置項測試、系統測試,或者單元測試、集成測試、確認測試、系統測試。
6)測試方法:黑盒測試中的等價類劃分、因果圖,白盒測試中的語句覆蓋、分支覆蓋等。
7)測試類型:有功能測試、性能測試、安全測試、用戶界面測試、接口測試、安裝測試等,可選擇多項。
8)應用領域:說明被測軟件所屬領域。
9)系統類型:描述被測軟件所在系統的架構,如B/S、C/S、嵌入式軟件、非嵌入式軟件等。
lO)軟件編碼:描述被測軟件的編碼語言。
11)測試環境:描述該測試用例執行的軟硬件環境。
12)前提條件:測試用例執行前必須滿足的條件,或稱之為約束條件。
13)測試輸入:對輸入值的抽象描述或參數化描述,不能是具體的數據值。
14)操作步驟:說明執行該測試用例的一系列相關聯的操作。
15)預期結果:說明測試用例執行后的期望結果。每一操作步驟也可有自己的預期結果。
原文轉自:http://www.uml.org.cn/Test/201308143.asp