五種誤用Fit的行為
Five Ways to Misuse Fit
http://jamesshore.com/Blog/Five-Ways-to-Misuse-Fit.html
Fit (Framework for Integrated Test)是一個非常有名, 用來進行整合測試的framework. 在agile領域中經常被人家來, 進行驗收測試先行(Acceptance Test Drvien Development, ATDD)的工具.
作者根據他的經驗, 發現一般人常會有以下的誤用
1. 拿Fit只來進行測試自動化
- 雖然Fit叫做Framework for Integrated Test, 但是重點在Integrated, 而不是測試. Fit並不是一個好的測試自動化工具.
- Fit的強項是提供了table方式的script, 讓客戶很容易了解, 是一個用來溝通的好工具.
- 所以你若是用它來加強你和客戶間的合作, 那才是正確的用法
2. 客戶, 甚麼客戶?
- 和第一條類似. 如果你在使用它時, 不是和領域專家或是客戶討論, 那肯定是有問題的.
3. 撰寫整合測試的方式
- 大多人會以這樣的方式來描述功能
First, do this. Then, do that. Now check this. Next, do that. (etc)
- 之後就會逐漸變成有variable, subroutine, setup , teardown等東西出現, 然後接著html,XML也會跑出來
- 這些東西客戶是看不懂的. 你該做的是著重於 business rules. 大部分的情況下用ColumnFixture和RowFixture就可以描述多數的功能.
4. 快速轉動螺旋槳
- Fit鼓勵修改. 因為它提供table的方式, 讓客戶很容易知道他是甚麼, 進而加以修改
- 可是你若是常常把些table傳換成程式, 這會造成你將進入無窮止盡的refacotring hell
5. 用它來描述任何事情
- 企圖用它產生很多事情, 像是executable specifications. 要產生一個複雜完整的自動化可執行的規格, 並不是Fit要做的事情.
所以作者要說的是:
Fit是好的溝通工作, 但不適合測試自動化.
但是人們常把Fit拿來做測試自動化, 而不是和客戶溝通.
希望之後我們要進行ATDD時, 不會犯這些錯誤.
留言列表