測試用例與輸入資料的設計方法

寒凝雪發表於2017-07-03
測試用例的設計是測試設計的重要內容,關於測試用例的設計方法,當前不少出版的測試書和發表的測試文章,不少存在著表述錯誤,主要是把測試用例中的輸入資料的設計方法與測試用例的設計方法混為一談,對測試初學者和測試用例設計人員產生誤導。

  這種錯誤的主要表現舉例如下:

  測試用例的設計方法包括:

  ◆ 等價類劃分法

  ◆ 邊界值法

  ◆ 功能圖與判定表法

  ◆ 錯誤推測法

  ◆ 使用者場景法

  ◆ ……

  其實,測試用例中輸入資料的設計方法只是測試用例設計方法的一個子集,上面列出的集中方法都是確定黑盒測試用例的輸入測試資料的一般方法,而不是測試用例的設計方法。

  除了確定輸入資料之外,測試用例的設計還包括如何確定測試用例的設計策略,如何組織設計用例,如何從測試需求等文件建立完整的測試用例。

  對測試執行人員來說,測試用例的表示內容包括以下幾個方面:

  ◆ 測試用例的測試目標

  ◆ 測試用例的被測功能點描述

  ◆ 測試用例的測試執行環境

  ◆ 測試用例的執行方法(包括測試步驟,輸入測試資料或測試指令碼)

  ◆ 測試期望的結果

  ◆ 執行測試的實際結果

  ◆ 其他輔助說明

  乍看起來有點像測試策劃(計劃)考慮的因素。但是測試用例的設計和測試計劃的設計關注點不同,測試計劃考慮的巨集觀和全面些,而測試用例考慮的更窄。

  設計測試用例首先要考慮以下幾個問題:

  ◆ 為什麼要設計測試用例?

  ◆ 誰來寫測試用例?這些寫測試用例的人的測試技術和對被測試產品了得有多深入?

  ◆ 測試用例寫給誰看,多少人將試用測試用到?

  ◆ 分配給寫測試用例的時間是多長?要安排幾個人來寫?

  ◆ 怎麼在測試用例的成本、質量和效率方面達到平衡?

   只有回答了這些問題,才能確定測試用例的具體寫作方法和表現形式。一般而言,公司裡分配寫作測試用例的時間並不長,而且提供的文件也不全面,所以寫測試 用例要符合測試部門的當前現狀和專案的測試特點,綜合考慮,所以看起來有點像測試計劃的某些內容,但是對問題的細化程度不一樣。

  測試用例的設計是一項複雜的測試工作測試用例的設計方法需要考慮測試的目標,被測試軟體的特性,測試者人力資源的技術和能力,測試組織形式,測試進度、測試成本等多個方面。

  在設計測試用例時,可以綜合運用以下方法:

  ◆ 根據被測軟體的功能和特性點設計測試用例:

    ● 根據被測試功能點設計測試用例

    ● 根據軟體效能指標設計測試用例

    ● 根據軟體的相容性要求設計測試用例

    ● 根據軟體的國際化使用者要求設計國際化測試用例

    ● 根據…設計…用例

  ◆ 根據軟體的組成元素設計測試用例

    ● 設計軟體設計用例

    ● 設計聯機幫助和文件手冊的設計用例

    ● 設計軟體的模版等資料檔案的測試用例

  ◆ 根據軟體的開發階段(里程碑)設計測試用例

    ● 單元測試設計用例

    ● 整合測試設計用例

    ● 系統測試設計用例

    ● 驗收測試設計用例

  ◆ 根據…設計測試用例

    ● ……

  具體到設計每個測試用例而言,可以考慮如下:

   ◆ 根據被測的最小目標,確定測試用例的測試目標

  ◆ 根據使用者使用環境確定測試環境

  ◆ 根據以下因素確定測試用例的步驟

    ● 使用者使用軟體的步驟或者特定場景,確定測試執行步驟地具體內容

    ● 執行者對產品的熟悉程度確定步驟的詳細或粗略程度

    ● 被測特性的複雜性也決定步驟的詳細或粗略程度

    ● 測試用例的執行方法(手工測試或自動化測試)確定步驟地內容表示

    ● 自動測試用例要編寫和除錯測試指令碼,手工測試給出執行步驟

    ● ……

  ◆ 根據設計規格說明書確定期望的測試用例執行結果

  ◆ ……

  確定測試用例的輸入資料確實對於測試用例非常重要,它決定著測試用例的執行效果和效率,但是確定輸入測試資料只是設計測試用例的一個步驟,而不是全部。因此,不能把測試用例的設計方法等同於測試用例資料的方法。

本文出自seven的測試人生公眾號最新內容請見作者的GitHub頁:http://qaseven.github.io/


相關文章