你真的能在一個 sprint 中做到可出貨品質的 story 嗎?
User Story:
身為一個新用戶, 我必須要先註冊, 才能在先上購買產品
AC (Acceptance Criteria)
(1) 註冊表格中必要欄位都有填資料 (姓名, 電話, email, 地址是必要欄位, 性別不是)
(2) 客戶 email 必須要存在
(3) 註冊成功後, 系統會寄信通知客戶
(4) 相同客戶不能註冊多次
很多人的 AT 或是 BDD 會進行以下類似的測試
(1) 輸入 (David, 02-2811-3222, david@gmail.com, 台北市, 男) 資料, 系統要送註冊成功的通知
(2) 輸入 (David, 02-2811-3222, , “台北市”) 資料, 系統顯示必要欄位沒有填
(3) 輸入 (David, 02-2811-3222, david@111222.love.fuckyou, “台北市”) 資料, 系統顯示此 email 不正確
(4) 連續輸入 (David, 02-2811-3222, david@gmail.com, 台北市) 資料兩次, 系統顯示此相同客戶已註冊
那你會不會測試
(5) 輸入 (David, , david@gmail.com, 台北市, 男) 資料, 系統顯示必要欄位沒有填
(6) 輸入 (David, 02-2811-3222, , 台北市, 男) 資料, 系統顯示必要欄位沒有填
(7) 輸入 (David, 02-2811-3222, david@gmail.com, , 男) 資料, 系統顯示必要欄位沒有填
(8) 輸入 (David, 0228113222, david@gmail.com, , 男) 資料, 系統顯示必要欄位沒有填
(9) 輸入 (David Chen, 02-2811-3222, david@gmail.com, , 男) 資料, 系統要送註冊成功的通知 (姓名中間有空格)
(10) 輸入 (David-Chen, 02-2811-3222, david@gmail.com, , 男) 資料, 系統要送註冊成功的通知 (姓名中間有 - )
(11) 輸入 (Ko,Jenchieh, 02-2811-3222, david@gmail.com, , 男) 資料, 系統要送註冊成功的通知 (姓名中間有 , )
(12) 輸入 (“David — insert xxx", 02-2811-3222, david@gmail.com, 台北市, 男) 資料, 系統要處理 SQL injection
(13) 輸入 (柯仁傑, 02-2811-3222, david@gmail.com, 台北市, 男) 資料, 系統要送註冊成功的通知 (姓名是否能中文)
(14) 輸入 (Davidxxxxxxxxxxxxxxxxxxxxxxx, 02-2811-3222, david@gmail.com, 台北市, 男) 資料, 系統顯示姓名超過長度
(15) 輸入 ( David, 02-2811-3222, david@gmail.com, 台北市, 男) 資料, 系統要送註冊成功的通知 (姓名前面有空格)
(16) 輸入 (David , 02-2811-3222, david@gmail.com, 台北市, 男) 資料, 系統要送註冊成功的通知 (姓名後面有空格)
(17) 同時3 個人一起在不同機器上輸入 (David, 02-2811-3222, david@gmail.com, 台北市, 男) 資料, 系統只會顯示一個人成功
……..
(註: 這裡可能可以再寫個百來個不是問題)
各位覺得如果後面這些測試都要自動化, 你在一個 sprint 中還能同時寫完和測試一個 story 嗎?
還是你覺得你通常測試完類似前面 4 個就可以出貨了?
後面這些如果都要做, 有些人會說 AC 都沒寫, 是 PO 沒有說啊, 需求不完整啊
那你覺得在談 user story 時, 這些 AC 要列出這些嗎?
#userstory
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...