實例化需求中的釐清需求和測試的差別是什麼呢?

Spec by example 中的範例, 它並不是測試個案, 他的重點不在測試, 而是在釐清需求.

有人說, 這樣的說法很模糊, 什麼是測試, 什麼是釐清需求

這裡我們來看一下高鐵訂票系統, 我想應該大多數人搭過高鐵, 用這個系統來示範, 大家應該容易了解. 在訂票這個功能, 高鐵網站上列出的使用方式如下:

上半部列出簡易的操作畫面, 下半部列出了 3 條限制. 這也是一般使用手冊上面會敘述的東西

Example 3 可視為是一種釐清需求, 它在確認 3 條限制中的第一條.

但是 ….. 但是 …. 這個 scenario 很明確, 個人覺得不見得需要把它列出來.

Example 3
given I open 訂票畫面
when I click 購買
and 張數 is 10 張單程票
then 系統允許我購票

然後 Example 4, 5, 和 6, 它就不像是在釐清需求, 而是在做測試, 想要把邊界組合拿來確認, 看看系統是否都有擋到. 這些東西在測試階段是需要測試的. 但是在做實例化需求時, 是不需要列出這些 example 的.

Example 4
given I open 訂票畫面
when I click 購買
and 張數 is 11 張單程票
then 系統不允許我購票
Example 5
given I open 訂票畫面
when I click 購買
and 張數 is 0 張單程票
then 系統不允許我購票
Example 6
given I open 訂票畫面
when I click 購買
and 張數 is -1 張單程票
then 系統不允許我購票

這樣你有知道, 釐清需求和測試的差別嗎?

發表迴響

探索更多來自 轉念學 - 敏捷三叔公的學習之旅 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading