測試用例可以分為基本事件、備選事件和異常事件。設計基本事件的用例,應該參照用例規約(或設計規格說明書),根據關聯的功能、操作按路徑分析法設計測試用例。而對孤立的功能則直接按功能設計測試用例。基本事件的測試用例應包含所有需要實現的需求功能,覆蓋率達100%。
設計備選事件和異常事件的用例,則要復雜和困難得多。例如,字典的代碼是唯壹的,不允許重復。測試需要驗證:字典新增程序中已存在有關字典代碼的約束,若出現代碼重復必須報錯,並且報錯文字正確。
往往在設計編碼階段形成的文檔對備選事件和異常事件分析描述不夠詳盡。而測試本身則要求驗證全部非基本事件,並同時盡量發現其中的軟件缺陷。
可以采用軟件測試常用的基該方法:等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、邏輯覆蓋法等設計測試用例。視軟件的不同性質采用不同的方法。如何靈活運用各種基該方法來設計完整的測試用例,並最終實現暴露隱藏的缺陷,全憑測試設計人員的豐富經驗和精心設計。
設計原則
測試用例是壹個文檔,是執行的最小實體。測試用例包括輸入、動作、時間和壹個期望的結果,其目的是確定應用程序的某個特性是否可正常工作,並且達到程序所設計的結果。
以便測試某個程序路徑或核實是否滿足某個特定需求般在進行測試用例設計前要全面了解被測試產品的功能、明確測試範圍(特別是要明確哪些是不需要測試的)、具備基本的測試技術與方法等。測試用例設計壹般遵循以下原則:?
(1)正確性。輸入用戶實際數據以驗證系統是否滿足需求規格說明書的要求;測試用例中的測試點應首先保證要至少覆蓋需求規格說明書中的各項功能,並且正常。
(2)全面性。覆蓋所有的需求功能項;設計的用例除對測試點本身的測試外,還需考慮用戶實際使用的情況、與其他部分關聯使用的情況、非正常情況(不合理、非法、越界以及極限輸入數據)操作和環境設置等。
(3)連貫性。用例組織有條理、主次分明,尤其體現在業務測試用例上;用例執行粒度盡量保持每個用例都有測點,不能同時覆蓋很多功能點,否則執行起來牽連太大,所以每個用例間保持連貫性很重要。
(4)可判定性。測試執行結果的正確性是可判定的,每壹個測試用例都有相應的期望結果。
(5)可操作性。測試用例中要寫清楚測試的操作步驟,以及與不同的操作步驟相對應的測試結果。?