iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0

前言

今天,我們來挑戰設計一個演唱會門票系統的測試案例,並使用 Decision Table Test(決策表測試)來實現。這種方法特別適合處理多個輸入條件的情境,能幫助我們系統化地列出所有可能的條件組合,確保不遺漏任何重要的測試情境。

透過這篇練習,我們將了解如何針對複雜的系統設計全面的測試案例,並運用決策表來呈現所有的可能性,確保系統在各種情境下都能正確運作。

挑戰目標

這次的挑戰是通過設計一套測試案例,覆蓋所有的條件組合。這種測試方法不僅可以幫助我們確認系統在正常情況下的表現,也能檢查系統在錯誤輸入下的反應是否正確。

  • 票種:普通票、VIP 票、兒童票
  • 年齡:成年人(年齡 ≥ 18)、未成年人(年齡 < 18,需由成人陪同)
  • 座位區域:A 區(貴賓區)、B 區(中間區域)、C 區(普通區域)
  • 支付方式:信用卡、行動支付(如 Apple Pay、Google Pay)、銀行轉帳
  • 購票數量:1-4 張(每人最多 4 張)

決策表測試 (Decision Table Test)

Decision Table Test 是一種測試設計技術,通過列出輸入條件的所有可能組合,來幫助測試人員確保系統在每個情境下都能正確運作。當系統的輸入變量較多,或者每個輸入條件的組合可能導致不同結果時,決策表測試就非常有用。它通過一個表格將輸入條件和對應的輸出行為列出來,從而系統化地測試每個組合,避免遺漏。

優點

  • 完整覆蓋:列出所有可能的條件組合,能避免測試情境的遺漏。
  • 清晰結構:將條件與結果以表格形式清楚展示,便於分析與設計測試案例。
  • 適用性廣:適用於複雜的決策系統或多輸入條件的場景。

測試案例設計:基於決策表的測試

我們將各種條件和預期的行為列成決策表,以此為基礎來設計測試案例。這樣可以確保我們的測試不會遺漏任何重要的條件組合。我們將條件和行為列出決策表,然後設計測試案例,確保每個重要的條件組合都被覆蓋。

測試案例表

條件/行為 普通票 VIP 票 兒童票 年齡 ≥ 18 年齡 < 18 A 區 B 區 C 區 信用卡 行動支付 銀行轉帳 購票數量 行為
測試案例 1 2 成功購票
測試案例 2 1 成功購票
測試案例 3 1 成功購票,需成人陪同
測試案例 4 4 成功購票
測試案例 5 1 錯誤:未成年人無法購買 VIP 票
測試案例 6 0 錯誤:無效的購票數量
測試案例 7 5 錯誤:超過購票數量限制
測試案例 8 1 成功購票
測試案例 9 3 成功購票,需成人陪同
測試案例 10 2 錯誤:無效票種

分析

  • 成功購票:符合所有條件時,系統應該允許用戶成功購票。
  • 錯誤處理:當條件不符合(如未成年人購買 VIP 票或購票數量超過限制)時,系統應該返回對應的錯誤提示。

適用情境:

  • 功能驗證:這張決策表涵蓋了所有條件組合,能確保系統在不同情況下的正確性。
  • 錯誤處理驗證:通過測試錯誤情境,能檢驗系統對無效輸入的處理是否健壯,並且給出正確的錯誤提示。

測試案例設計差異

這次設計的決策表覆蓋了演唱會門票系統的所有關鍵條件,能全面檢驗系統在不同情況下的表現。相較於其他測試方法,決策表測試可以清楚地列出所有可能的條件組合,避免遺漏。

  • 功能覆蓋:透過這個決策表,我們涵蓋了所有的票種、座位區域、年齡組別、支付方式及購票數量等變量,確保系統在正常情況下可以正確處理各種情境。
  • 錯誤情境測試:此外,我們也設計了針對不符合條件的測試案例,如未成年人購買 VIP 票、超過購票數量限制等,能有效檢查系統的錯誤處理能力。

結論

這次決策表測試設計涵蓋了演唱會門票系統的所有關鍵條件組合,確保系統在各種情境下能正確運作,並且對不符合條件的輸入給出正確的錯誤提示。Decision Table Test 是處理多變量系統的強大工具,也幫助我們提高測試覆蓋率。在未來面對類似的系統時,你可以應用這樣的測試方法來檢查系統的健壯性。


上一篇
Day 14:設計自助洗衣機的計費系統的測試案例
下一篇
Day 16:測試美食外送平台,你的訂閱服務功能測試好了嗎?
系列文
測試工程師的上線時間:從分析到實戰的刻意練習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言