測試用例與輸入數(shù)據(jù)的設計方法
測試用例的設計是測試設計的重要內容,關于測試用例的設計方法,當前不少出版的測試書和發(fā)表的測試文章,不少存在著表述錯誤,主要是把測試用例中的輸入數(shù)據(jù)的設計方法與測試用例的設計方法混為一談,對測試初學者和測試用例設計人員產生誤導。
這種錯誤的主要表現(xiàn)舉例如下:
測試用例的設計方法包括:
一、等價類劃分法
二、邊界值法
三、功能圖與判定表法
四、錯誤推測法
五、用戶場景法
六、……
其實,測試用例中輸入數(shù)據(jù)的設計方法只是測試用例設計方法的一個子集,上面列出的集中方法都是確定黑盒測試用例的輸入測試數(shù)據(jù)的一般方法,而不是測試用例的設計方法。
除了確定輸入數(shù)據(jù)之外,測試用例的設計還包括如何確定測試用例的設計策略,如何組織設計用例,如何從測試需求等文檔創(chuàng)建完整的測試用例。
對測試執(zhí)行人員來說,測試用例的表示內容包括以下幾個方面:
- 測試用例的測試目標
- 測試用例的被測功能點描述
- 測試用例的測試運行環(huán)境
- 測試用例的執(zhí)行方法(包括測試步驟,輸入測試數(shù)據(jù)或測試腳本)
- 測試期望的結果
- 執(zhí)行測試的實際結果
- 其他輔助說明
乍看起來有點像測試策劃(計劃)考慮的因素。但是測試用例的設計和測試計劃的設計關注點不同,測試計劃考慮的宏觀和全面些,而測試用例考慮的更窄。
設計測試用例首先要考慮以下幾個問題:
- 為什么要設計測試用例?
- 誰來寫測試用例?這些寫測試用例的人的測試技術和對被測試產品了得有多深入?
- 測試用例寫給誰看,多少人將試用測試用到?
- 分配給寫測試用例的時間是多長?要安排幾個人來寫?
- 怎么在測試用例的成本、質量和效率方面達到平衡?
只有回答了這些問題,才能確定測試用例的具體寫作方法和表現(xiàn)形式。一般而言,公司里分配寫作測試用例的時間并不長,而且提供的文檔也不全面,所以寫測試用例要符合測試部門的當前現(xiàn)狀和項目的測試特點,綜合考慮,所以看起來有點像測試計劃的某些內容,但是對問題的細化程度不一樣。
測試用例的設計是一項復雜的測試工作,測試用例的設計方法需要考慮測試的目標,被測試軟件的特性,測試者人力資源的技術和能力,測試組織形式,測試進度、測試成本等多個方面。
在設計測試用例時,可以綜合運用以下方法:
一、根據(jù)被測軟件的功能和特性點設計測試用例:
- 根據(jù)被測試功能點設計測試用例
- 根據(jù)軟件性能指標設計測試用例
- 根據(jù)軟件的兼容性要求設計測試用例
- 根據(jù)軟件的國際化用戶要求設計國際化測試用例
- 根據(jù)...設計...用例
二、 根據(jù)軟件的組成元素設計測試用例
- 設計軟件設計用例
- 設計聯(lián)機幫助和文檔手冊的設計用例
- 設計軟件的模版等數(shù)據(jù)文件的測試用例
三、 根據(jù)軟件的開發(fā)階段(里程碑)設計測試用例
- 單元測試設計用例
- 集成測試設計用例
- 系統(tǒng)測試設計用例
- 驗收測試設計用例
具體到設計每個測試用例而言,可以考慮如下:
1、據(jù)被測的最小目標,確定測試用例的測試目標
2、根據(jù)用戶使用環(huán)境確定測試環(huán)境
3、根據(jù)以下因素確定測試用例的步驟
- 用戶使用軟件的步驟或者特定場景,確定測試執(zhí)行步驟地具體內容
- 執(zhí)行者對產品的熟悉程度確定步驟的詳細或粗略程度
- 被測特性的復雜性也決定步驟的詳細或粗略程度
- 測試用例的執(zhí)行方法(手工測試或自動化測試)確定步驟地內容表示
- 自動測試用例要編寫和調試測試腳本,手工測試給出執(zhí)行步驟
4、據(jù)設計規(guī)格說明書確定期望的測試用例執(zhí)行結果
5、......
確定測試用例的輸入數(shù)據(jù)確實對于測試用例非常重要,它決定著測試用例的執(zhí)行效果和效率,但是確定輸入測試數(shù)據(jù)只是設計測試用例的一個步驟,而不是全部。因此,不能把測試用例的設計方法等同于測試用例數(shù)據(jù)的方法。
【編輯推薦】