軟件測試中小議單元測試的重要性
單元測試(Unit Test, UT)是一個老生常談的話題,在對這篇文章進行博客歸類時,我還是將其歸類為開發技術,盡管其帶有測試兩個字。如何做單元測試不是我這里想說的,而是業界對其認識的認識及重視是我想指出的。
對于單元測試存在兩種不好的現象。第一種現象是對其不了解,或說了解只是在表面上(概念上)但并沒有那種深入骨隨的體會。只要學過或是看過軟件工程的書,我想都會了解單元測試的概念,但說到體會,那可就不是每一個人都有的。
對于第二種現象是:太過于追求單元測試的,有的甚至要達到超過%90的代碼覆蓋率。近期,我看到了來自于Parasoft公司的一份報告,其中指出當代碼的覆蓋率超過大約%70時,付出的努力就太大了。這給我們什么想的啟示呢?我能想到的是,我們不應當一味的追求高代碼覆蓋率,而是要進行一定的平衡,即做到保證一定的質量,又做到對于人力資源的合理使用。
站在程序員的角度來說,我想單元測試是會帶來一定的工作量的,但好處也是顯然的。好處體現在兩方面:一是,所寫的代碼因為經過了單元測試,所以會比較的自信,而不是提心吊膽。反之,如果沒有做過單元測試,而寄希望于測試人員來發現問題,那只會是忐忑不安。二是,有利于提高自己的聲望。因為做了單元測試,所以設計出來的代碼質量會相對的高,這無疑有利于提高自己的聲望。就這兩點來說,即使公司沒有要求做單元測試,程序員自己也應當去做。
單元測試是一種提高軟件質量非常有效的方法,但很重要的是我們要去實踐和體會。在現代的敏捷軟件開發方法論只,都非常強調單元測試的重要性。為什么呢?因為對于多次的迭代開發,我們需要通過測試來看是否新的迭代對于原有的功能是否有影響。還有就是,我們可能需要做重構,通過單元測試我們能發現重構后的代碼是否對原有的功能進行了改變,而這是我們做重構后所不希望看到的。單元測試在現實實踐中存在的一個不可忽視的問題是:測試用例的維護成本比較的高。往往對其維護的工作量并不比被測代碼的開發量小,對于這一點我們需要有足夠的認識。
我相信一旦將單元測試的方法運用到了日常開發中,你一定會喜歡上那種對于交付的代碼很自信的那種感覺。
文章來源于領測軟件測試網 http://www.kjueaiud.com/