Apr. 23 18:21~19:08
4/18號晚上第8次C. C. Agile每月聚會由Joey分享:「BDD in .NET - TDD 在實務上最後一塊拼圖」。這是Teddy第一次見到Joey本人,之前都只有在Facebook互相交流一下各自對於敏捷開發與軟體測試的看法。Joey對於敏捷實務做法的熱血程度破表,思慮與表達也非常清晰,著實令人佩服。
Joey當日分享的投影片內容已公開在此http://docs.com/S5QO,有興趣的鄉民請自行參考之。
Teddy內心獨白:耶,有投影片這樣我就不用多做介紹了。
***
以下偷用…嗯嗯,節錄兩張Joey投影片的重點作為當日活動的介紹說明。首先以下這張投影片說明敏捷開發中的story展開成若干的scenario,然後再針對每個scenario寫出驗收測試當作這個story的DoD條件(Definition of Done,完成條件)。
在這邊Teddy附帶說明一下,傳統story撰寫的格式是:
As a [user role], I want/can do [desire/goal] so that [reason/benefit].
但現在有另一種也很流行的寫法,內容也是包含傳統寫法的三個部分,但是把順序換了一下:
To [benefit], As a [role], I want [desire/goal].
Joey範例裡面採用的是比較新式的寫法。
***
剛剛提到一個story可以有很多個scenario,例如,一個簡單的登入系統的story,至少可以有以下三個scenario:
- 登入成功
- 帳號錯誤
- 密碼錯誤
BDD建議用Given、When、Then的格式來敘述scenario,分別對應到撰寫測試時的:
- Given:準備測試資料(setup fixture)。
- When:執行待測程式。
- Then:比對期待值與執行結果是否相符(expected result VS. actual result)。
***
Joey寫了一系列關於TDD的文章在此:《[30天快速上手TDD]目錄與附錄》,請鄉民們自行服用。最後看幾張當天活動照片作為結尾。
***
友藏內心獨白:到底哪裡才有價格合理、交通方便、食物與飲料尚可、場地大小也合適的夢幻地點啊?
沒有留言:
張貼留言