著重介紹壹些編制測試用例的具體做法。
⒈測試用例文檔
編寫測試用例文檔應有文檔模板,須符合內部的規範要求。測試用例文檔將受制於測試用例管理軟件的約束。
軟件產品或軟件開發項目的測試用例壹般以該產品的軟件模塊或子系統為單位,形成壹個測試用例文檔,但並不是絕對的。
測試用例文檔由簡介和測試用例兩部分組成。簡介部分編制了測試目的、測試範圍、定義術語、參考文檔、概述等。測試用例部分逐壹列示各測試用例。每個具體測試用例都將包括下列詳細信息:版本號、模塊名稱、用例編號、用例名稱、用例級別、預知條件、驗證步驟、期望結果(含判斷標準)、測試結果、測試時間、測試人員等。
⒉測試用例的設置
我們早期的測試用例是按功能設置用例。後來引進了路徑分析法,按路徑設置用例。演變為按功能、路徑混合模式設置用例。
按功能測試是最簡捷的,按用例規約遍歷測試每壹功能。
對於復雜操作的程序模塊,其各功能的實施是相互影響、緊密相關、環環相扣的,可以演變出數量繁多的變化。沒有嚴密的邏輯分析,產生遺漏是在所難免。路徑分析是壹個很好的方法,其最大的優點是在於可以避免漏測試。
但路徑分析法也有局限性。在壹個非常簡單字典維護模塊就存在十余條路徑。壹個復雜的模塊會有幾十到上百條路徑是不足為奇的。筆者以為這是路徑分析比較合適的使用規模。若壹個子系統有十余個或更多的模塊,這些模塊相互有關聯。再采用路徑分析法,其路徑數量成幾何級增長,達5位數或更多,就無法使用了。那麽子系統模塊間的測試路徑或測試用例還是要靠傳統方法來解決。這是按功能、路徑混合模式設置用例的由來。
⒊設計測試用例
測試用例可以分為基本事件、備選事件和異常事件。設計基本事件的用例,應該參照用例規約(或設計規格說明書),根據關聯的功能、操作按路徑分析法設計測試用例。而對孤立的功能則直接按功能設計測試用例。基本事件的測試用例應包含所有需要實現的需求功能,覆蓋率達100%。
設計備選事件和異常事件的用例,則要復雜和困難得多。例如,字典的代碼是唯壹的,不允許重復。測試需要驗證:字典新增程序中已存在有關字典代碼的約束,若出現代碼重復必須報錯,並且報錯文字正確。往往在設計編碼階段形成的文檔對備選事件和異常事件分析描述不夠詳盡。而測試本身則要求驗證全部非基本事件,並同時盡量發現其中的軟件缺陷。
可以采用軟件測試常用的基該方法:等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、邏輯覆蓋法等設計測試用例。視軟件的不同性質采用不同的方法。如何靈活運用各種基該方法來設計完整的測試用例,並最終實現暴露隱藏的缺陷,全憑測試設計人員的豐富經驗和精心設計。