均爲自己粗淺理解,如有紕漏愚見望指出,轉載請註明引用,提高自身素質,從我做起。
一、介紹
一年多學習,對單元測試有較大進步的學習。主要是在框架、開發效率、代碼質量、持續集成方面有較多學習。
單測是對最底層的代碼進行測試,如果做好了,那麼效果是最明顯,而且收益相比其他層級的測試是更加明顯的。主要體現在:定位成本低,快速反饋、持續開發。
二、單測的收益
單測的意義在於輔助開發人員,如果單測能夠提高開發的效率,這是最好。比如,你可以通過簡單的單測就可以確定某次的修改是不是OK的。成本極低。相反,如果讓測試人員去做,那麼還需要一段時間才能夠得到結果。
定位成本低:對於好的單測,覆蓋率將會很高,甚至在邏輯覆蓋上都能夠有很高的覆蓋。然後,哪天有個新人修改了一句代碼,看是沒問題,但是有可能沒修改完整。在實際環境中,可能報了個錯誤,你要定位這問題,可能花費很長的時間。而在單測中,調試不需要依賴環境,很快就可以定位出來。
快速反饋:case越多,收益越高。好的團隊是頻繁修改提交代碼,怎麼確定是否影響其他功能,單測就是很好的途徑。單測的運行,就是代碼的執行,速度很快,不像selenium速度會很慢。
持續開發:這個和定位成本低有關係,前人做好了測試的積累,後來修改代碼可以很快確定修改的結果。開發效率當然會上去了。
可惜目前的團隊角色劃分特別明顯,不能夠親自嘗試開發,以後必要找小型的敏捷團隊,親自嘗試TDD。對單元測試在TDD中的重要性,便不發表評論。