Google如何改進測試方法
Improving testing practices at Google
http://gojko.net/2009/12/07/improving-testing-practices-at-google/
作者在 XPDay 2009中, 聽到Mark Striebeck演講的 “Developer testing, from the dark ages to the age of enlightenment”. 他提到Google如何進行測試, 以下是一些摘要
Goole每年花100M在測試自動化上面, 希望能得到一個答案, 就是他們能得到好的投資報酬率.
根據他們的估計: 若是一個bug在TDD被找到和修復, 大約要花費美金5塊錢; 如果到full build階段, 則要美金50塊錢; 在integration test階段, 則需要美金500塊錢; 若是在system test階段, 需要美金5000塊錢.
所以如果bug能夠早一點被找到和修復, 那每年可以省下160M. 看起來還賺60M. XD
Goole 每天大約會跑40+M的測試(不管是從IDE或是command line), 他們會從中收集測試結果, coverage, build time, binary size, static analysis結果. 系統會分析那些測試是有risk, 那些測試在release是不用再run, 那些結果失敗後那些測試就不用再run等等.
雖然Gojko Adzic在後面寫了4 steps, 有關於Google可以提供那些分析或回饋, 不過看起來很rough, 可能需要再找別的文章才能了解.
不過看完之後, 個人是有兩個想法:
1. Google真的很重視test automation
2. Test automation真的是萬能嗎?
這可能跟google的產品有關, 大多沒有複雜的UI和workflow, 所以test automation確實可以是主要的測試方法. 但是寫程式畢竟只是把你想到的程式化, 可是通常你很難在一開始就想到全部, 所以automation其實很難測的很完整. 要不你就是一想到就補到測試程式中, 可是你也不可能每種scenario都能很快被程式化出來, 所以在時效上和ROI上, 個人是蠻懷疑的.
留言列表