2月16日上午,第一天的培訓開始。
首先當然應該說說單元測試的必要性,我很欣賞JUnit In Action這本書里面列的幾條理由:
帶來更大的測試范圍。單元測試能夠更精確地發現問題,能覆蓋更廣泛的情況,當然,使得項目更可靠。
帶來團隊協作的可能。單元測試能夠讓我們寫一點測一點,保證每次提交的質量,而且,團隊協作時要是出了問題,找起責任人來也要方便得多。
防止衰退,減少調試。好的單元測試可以帶來自信,也給予我們重構的勇氣,同時作為一個副作用,一組好的測試用例能夠精確的定位問題,我們或許就省去很多調試的時間。
使得重構可行。沒有單元測試,誰知道我們是在做重構還是在拆房子呢。
改進實現設計。這個很意外!為了方便測試,開發者會開發出更容易測試的代碼,往往這就意味著這些代碼更容易維護和更改,而且使得被測函數變得小巧靈活,易于調用。嗯,如果我們真的認真使用一下自己做的東西之后應該就能體會“愚蠢的客戶”到底是怎么回事了。
當作開發者文檔來用。測試用例就是這些函數的API!這真是一件奇妙的事情,我們早該想到這點的。
非常有趣。是的,非常有趣,試試就知道了!
今天的重點是測試驅動開發的體驗,為了方便實施自動單元測試,一個成熟易用的測試框架當然必不可少。我們項目采用C++開發,CppUnit當然成了最佳選擇。
CppUnit非常好用,特別是它的幫助文檔中還有貼心的“CppUnit Cookbook”和“Money, a step by step example”,使得我們很容易入手,不過真正麻煩的是:何時做測試、如何選擇測試用例和如何選擇測試的粒度。
文章來源于領測軟件測試網 http://www.kjueaiud.com/