軟件測試基礎(六)用例設計方法之場景法


場景法主要用於測試軟件的業務過程或業務邏輯,是一種基於軟件業務和用戶行為的測試方法。

1.概念:前幾篇討論的測試方法側重於數據的選擇,不涉及操作步驟,無法對涉及用戶操作的動態執行過程進行覆蓋測試。當在系統功能層面上進行測試時,不僅設計測試數據的問題,更側重要的是如何從系統整個業務流程的全部角度對系統進行測試。場景法運用場景對系統的功能點或業務流程進行描述,然后設計測試用例,從而提高了對系統主要功能和業務流程的測試效果。場景法適合測試業務流程清晰的系統或功能。

2.基本流和備選流

 

 

  • 基本流:采用黑直線表示,是經過用例測試的最簡單路徑,即無任何差錯,程序從開始直接執行到結束的流程,往往是大多是用戶最常使用的操作過程,體現了軟件的主要功能與流程。通常,一項業務僅存在一個基本流,並且基本流僅有一個起點和一個終點
  • 備選流:除基本流之外的各個支流。備選流可能從基本流開始,在某個特定的條件下執行,然后從新加入到基本流中(如備選流1,3);也可以起源於另一個備選流(如備選流2);還可以終止用例而不再加入到基本流中(如備選流2,4),反映了各種異常和錯誤情況。。

  考慮用例從開始到結束所有可能的基本流和備選流的組合,可以確定不同的用例場景。例如,根據上圖,可以確定以下用例場景。

  • 場景1:基本流
  • 場景2:基本流→備選流1
  • 場景3:基本流→備選流1→備選流2
  • 場景4:基本流→備選流3
  • 場景5:基本流→備選流3→備選流1
  • 場景6:基本流→備選流3→備選流1→備選流2
  • 場景7:基本流→備選流4
  • 場景8:基本流→備選流3→備選流4

基本流和備選流的區別:

  基本流 備選流
測試重要性 重要 次要
數量 一個 一個或多個
初始節點位置 系統初始狀態 基本流或其他備選流
終止結點位置 系統終止狀態 基本流或系統終止狀態
是否構成完整的業務流程 否,僅為業務流程的執行片段
能否構成場景 否,需要基本流共同構成場景

3.場景法步驟實例

  根據場景法設計測試用例的步驟如下:

  (1)根據說明,描述出程序的基本流及各個備選流;

  (2)根據基本流和各個備選流生成不同的場景

  (3)對每一個場景生成相應測試用例

  (4)對生成的所有測試用例重新審查,去掉多余的測試用例。測試用例確定后,對每一個測試用例確定測試數據值

 

  實例:某旅館住宿系統支持網上預定業務。游客訪問網站進行房間預定操作,選擇預定日期、合適的房間后,進行在線預定。此時需要使用個人賬號登陸系統,待登錄成功后,進行定金支付。訂金支付成功后,生成房間預訂單,完成整個房間的預定流程。系統允許的預定期限為30天,訂金為400元。

  (1)確定基本流和備選流

類型 描述 類型 描述
基本流 選擇預定日期 備選流1 預定日期超限
選擇房間 備選流2 無空余房間
登陸賬戶 備選流3 賬戶不存在
訂金支付 備選流4 密碼錯誤
產生預定訂單 備選流5 用戶賬戶余額不足

  (2)根據基本流和備選流生成不同場景

  • 場景1(成功預定房間):基本流
  • 場景2(預定日期超限):基本流、備選流1
  • 場景3(無空余房間):基本流、備選流2
  • 場景4(賬號不存在):基本流、備選流3
  • 場景5(密碼錯誤):基本流、備選流4
  • 場景6(用戶賬號余額不足):基本流、備選流5

  (3)用例設計

用例 場景/條件 預定日期 房間 賬號 密碼 賬號余額 預期結果
1 場景1 V V V V V 成功預定,提示預定成功,余額減少
2 場景2 I n/a n/a n/a n/a 提示“預定日期無效”,重選預定日期
3 場景3 V I n/a n/a n/a 提示“預定日期房間已滿”,重選預定日期
4 場景4 V I I n.a n/a 提示“賬號不存在”,重新輸入賬號
5 場景5 V V V I n/a 提示“密碼錯誤”,重新輸入密碼
6 場景6 V V V V I 提示“賬號余額不足請充值”

在上表中,無須為條件輸入任何實際的數值,這樣做的優點是只需要查看各條件的“V”和“I”的設定情況,如果某個條件不具備“I”的取值情況,則說明還未測試該條件無效的情況,提示測試用例還不夠充足

  (4)確定測試用例數據值(假定UserOne為已注冊用戶,密碼為MyPass;UserTwo是未注冊用戶)

用例 場景/條件 預定日期 房間 賬號 密碼 賬號余額 預期結果
1 場景1 一個有效日期 未滿 UserOne MyPass 800 成功預定
2 場景2 一個超出期限的日期 n/a n/a n/a n/a 日期超限
3 場景3 一個有效日期 已滿 n/a n/a n/a 無空余房間
4 場景4 一個有效日期 未滿 UserTwo n/a n/a 賬號錯誤
5 場景5 一個有效日期 未滿 UserTwo NoPass n/a 密碼錯誤
6 場景6 一個有效日期 未滿 UserOne MyPass 200 余額不足


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM