本章示範如何為 South Coast Nautical Supplies 專案中已排入發布計畫的 Story 撰寫驗收測試。
搜尋功能的測試#
基本搜尋#
- 搜尋一個可能是書名但不太可能是作者名的字(如 “navigation”)
- 搜尋一個可能是作者名但不太可能是書名的字(如 “John”)
- 搜尋一個兩者都不太可能的字(如 “wookie”)
進階搜尋#
- 同時輸入作者和書名,應匹配至少一本書
- 同時輸入作者和書名,應無匹配結果
- 測試 ISBN 搜尋
購物車的測試#
在測試過程中,Lori 和開發人員討論了幾個開放性問題:
- 絕版書可以加入購物車嗎?
- 尚未出版的書呢?
團隊決定將「從購物車移除書籍」簡化為「調整購物車中書籍的數量」——將數量設為 0 就等於移除。這個決定同時簡化了系統並改善了使用體驗。
加入購物車測試#
- 將缺貨書籍加入購物車,確認提示使用者到貨後出貨
- 將未出版書籍加入購物車,確認提示使用者出版後出貨
- 將有庫存的書籍加入購物車
- 將同一本書加入第二次,確認數量增加
調整數量測試#
- 將數量從 1 改為 10
- 將數量從 10 改為 1
- 將數量改為 0,確認書籍從購物車移除
購買流程的測試#
Lori 確認網站只接受 Visa 和 MasterCard,且允許帳單和寄送地址不同。
測試案例:
- 帳單地址即寄送地址
- 不同的帳單和寄送地址
- 州與郵遞區號不一致時要捕獲錯誤
- 確認寄送地址是實際的出貨地址(非帳單地址)
- 有效的 Visa 卡
- 有效的 MasterCard
- American Express 卡(應被拒絕)
- 過期的 Visa 卡
- 超過額度的 MasterCard
- 位數不足的 Visa 卡號
- 數字順序錯誤的 Visa 卡號
- 完全無效的 Visa 卡號
帳戶功能的測試#
建立帳戶#
- 使用者可以不建立帳戶就下單購買
- 建立帳戶後查詢,確認資訊已儲存
編輯信用卡資訊#
- 將卡號改為無效號碼,確認系統警告使用者
- 將有效期限改為過去日期,確認變更不被儲存
- 將卡號改為新的有效號碼,確認變更被儲存
- 將有效期限改為未來日期,確認變更被儲存
編輯地址#
- 修改寄送地址的各部分,確認變更被儲存
- 修改帳單地址的各部分,確認變更被儲存
管理功能的測試#
新增書籍#
- 管理員可以新增書籍
- 非管理員不能新增書籍
- 必要欄位未填寫時不能新增
刪除書籍#
- 管理員可以刪除書籍
- 非管理員不能刪除書籍
- 刪除書籍後,未出貨的訂單仍然會出貨
編輯書籍#
- 可以修改名稱、作者、頁數等資訊
- 可以修改價格,但價格變更不影響已下單但未出貨的訂單
約束條件的測試#
訂單資料庫整合#
- 在網站下單後,開啟電話訂單系統的資料庫,確認訂單存在
效能測試#
Lori 親自撰寫:
- 模擬 50 位使用者同時進行各種搜尋和下單操作
- 確認沒有任何畫面的載入時間超過 4 秒
- 確認沒有訂單遺失
推薦書籍的測試#
團隊決定推薦功能將是一個簡單的靜態頁面:
- 選擇一個主題(如導航、巡航),查看推薦清單是否合理
- 點擊清單中的項目,確認能跳轉到該書的詳細資訊頁面
驗收測試的撰寫過程往往會引發關鍵的設計對話。例如購物車的「移除」功能被簡化為「調整數量」,就是在撰寫測試時發現的改善機會。