Spec by example 中的範例, 它並不是測試個案, 他的重點不在測試, 而是在釐清需求.
有人說, 這樣的說法很模糊, 是否有比較具體的案例. 這裡我們可以參考使用手冊
這裡我們來看一下高鐵訂票系統, 我想應該大多數人搭過高鐵, 用這個系統來示範, 大家應該容易了解. 在訂票這個功能, 高鐵網站上列出的使用方式如下:

上半部列出簡易的操作畫面, 下半部列出了 3 條限制. 這也是一般使用手冊上面會敘述的東西
根據上半部, 你可以列出下面這個範例
| Example 1: given I open 訂票畫面 when I input 乘車資訊 和 取票人資訊 then 我會看到票證資訊 and 提示我要立即付款 |
根據下半部第 2 條, 你可以列出下面這個範例. 想要知道”四週後至週日” 是什麼意思
==> 29天內(含乘車當日)至發車前5分鐘為止之車次,且每逢週五及週六至多可預訂四週後至週日之車票
| Example 2 given I open 訂票畫面 and 今天是 8/9 when I 購買 9/7 (第 30 天, 剛號星期六) then 系統允許我購票 |
我沒有在列出詳細的畫面操作, 我只是在確認需求是什麼
我沒有打算列出各式各樣的 happy path, 我只想確認我不太清楚的地方
所以, 你可以先想想這個功能的使用手冊會寫哪些重點. 那裡就是產品功能的重點
然後再針對這些重點, 用範例去澄清你不太清楚的地方, 讓客戶和開發人員對哪邊有共識.共識.
發表迴響