注:為方便起見,場景 5、6 和 8 只描述了備選流 3 指示的循環執行一次的情況。
生成每個場景的測試用例是通過確定某個特定條件來完成的,這個特定條件將導致特定用例場景的執行。
例如,假定上圖描述的用例對備選流 3 規定如下:
“如果在上述步驟 2‘輸入提款金額’中輸入的美元量超出當前帳戶余額,則出現此事件流。系統將顯示一則警告消息,之后重新加入基本流,再次執行上述步驟 2‘輸入提款金額’,此時銀行客戶可以輸入新的提款金額。”
據此,可以開始確定需要用來執行備選流 3 的測試用例:
測試用例ID | 場景 | 條件 | 預期結果 |
TC x | 場景 4 | 步驟 2 - 提款金額 > 帳戶余額 | 在步驟 2 處重新加入基本流 |
TC y | 場景 4 | 步驟 2 - 提款金額 < 帳戶余額 | 不執行備選流 3,執行基本流 |
TC z | 場景 4 | 步驟 2 - 提款金額 = 帳戶余額 | 不執行備選流 3,執行基本流 |
注:由于沒有提供其他信息,以上顯示的測試用例都非常簡單。測試用例很少如此簡單。
下面是一個由用例生成測試用例的更符合實際情況的示例。
示例:
一臺 ATM 機器的主角和用例。
下表包含了上圖中提款用例的基本流和某些備用流:
本用例的開端是 ATM 處于準備就緒狀態。
用例結束時 ATM 又回到準備就緒狀態。 |
|
備選流 1 - 銀行卡無效 | 在基本流步驟 2 中 - 驗證銀行卡,如果卡是無效的,則卡被退回,同時會通知相關消息。 |
備選流 2 - ATM 內沒有現金 | 在基本流步驟 5 中 - ATM 選項,如果 ATM 內沒有現金,則“提款”選項將無法使用。 |
備選流 3 - ATM 內現金不足 | 在基本流步驟 6 中- 輸入金額,如果 ATM 機內金額少于請求提取的金額,則將顯示一則適當的消息,并且在步驟 6 - 輸入金額處重新加入基本流。 |
備選流 4 - PIN 有誤 |
在基本流步驟 4 中- 驗證帳戶和 PIN,客戶有三次機會輸入 PIN。 如果 PIN 輸入有誤,ATM 將顯示適當的消息;如果還存在輸入機會,則此事件流在步驟 3 - 輸入 PIN 處重新加入基本流。 如果最后一次嘗試輸入的 PIN 碼仍然錯誤,則該卡將被 ATM 機保留,同時 ATM 返回到準備就緒狀態,本用例終止。 |
備選流 5 - 帳戶不存在 | 在基本流步驟 4 中 - 驗證帳戶和 PIN,如果銀行系統返回的代碼表明找不到該帳戶或禁止從該帳戶中提款,則 ATM 顯示適當的消息并且在步驟 9 - 返回銀行卡處重新加入基本流。 |
備選流 6 - 帳面金額不足 | 在基本流步驟 7 - 授權中,銀行系統返回代碼表明帳戶余額少于在基本流步驟 6 - 輸入金額內輸入的金額,則 ATM 顯示適當的消息并且在步驟 6 - 輸入金額處重新加入基本流。 |
備選流 7 - 達到每日最大的提款金額 | 在基本流步驟 7 - 授權中,銀行系統返回的代碼表明包括本提款請求在內,客戶已經或將超過在 24 小時內允許提取的最多金額,則 ATM 顯示適當的消息并在步驟 6 - 輸入金額上重新加入基本流。 |
備選流 x - 記錄錯誤 | 如果在基本流步驟 10 - 收據中,記錄無法更新,則 ATM 進入“安全模式”,在此模式下所有功能都將暫停使用。同時向銀行系統發送一條適當的警報信息表明 ATM 已經暫停工作。 |
備選流 y - 退出 | 客戶可隨時決定終止交易(退出)。交易終止,銀行卡隨之退出。 |
備選流 z - “翹起” | ATM 包含大量的傳感器,用以監控各種功能,如電源檢測器、不同的門和出入口處的測壓器以及動作檢測器等。在任一時刻,如果某個傳感器被激活,則警報信號將發送給警方而且 ATM 進入“安全模式”,在此模式下所有功能都暫停使用,直到采取適當的重啟/重新初始化的措施。 |
|
原文轉自:http://www.anti-gravitydesign.com