單元測試的重要性 軟件測試
單元測試,需要基于良好的面向對象設計和類封裝。
先寫測試,再寫代碼的好處: 從技術上強制你先考慮一個類的功能,也就是這個類提供給外部的接口,而不至于太早陷入它的細節。這是面向對象提倡的一種設計原則。
沒有人能保證需求不變動,以往項目往往對需求的變動大為頭疼,害怕這個改動會帶來其他地方的錯誤。為此,除了設計好的結構以分割項目外(松耦合),但如果有了測試,并已經建立了一個好的測試框架,對于需求的變動,修改完代碼后,只要重新運行測試代碼,如果測試通過,也就保證了修改的成功,如果測試中出現錯誤,也會馬上發現錯在哪里。修改相應的部分,再運行測試,直至測試完全通過。
建立單元測試環境。
單元測試是軟件測試的基礎,因此單元測試的效果會直接影響到軟件的后期測試,最終在很大程度上影響到產品的質量。從如下幾個方面就可以看出單元測試的重要性在何處。 時間方面:如果認真的做好了單元測試,在系統集成聯調時非常順利,因此會節約很多時間,反之那些由于因為時間原因不做單元測試或隨便做做的則在集成時總會遇到那些本應該在單元測試就能發現的問題,而這種問題在集成時遇到往往很難讓開發人員預料到,最后在苦苦尋覓中才發現這是個很低級的錯誤而在悔恨自己時已經浪費了很多時間,這種時間上的浪費一點都不值得,正所謂得不償失。 測試效果:根據以往的測試經驗來看,單元測試的效果是非常明顯的,首先它是測試階段的基礎,做好了單元測試,在做后期的集成測試和系統測試時就很順利。其次在單元測試過程中能發現一些很深層次的問題,同時還會發現一些很容易發現而在集成測試和系統測試很難發現的問題。再次單元測試關注的范圍也特殊,它不僅僅是證明這些代碼做了什么,最重要的是代碼是如何做的,是否做了它該做的事情而沒有做不該做的事情。 測試成本:在單元測試時某些問題就很容易發現,如果在后期的測試中發現問題所花的成本將成倍數上升。比如在單元測試時發現1個問題需要1個小時,則在集成測試時發現該問題需要2個小時,在系統測試時發現則需要3個小時,同理還有定位問題和解決問題的費用也是成倍數上升的,這就是我們要盡可能早的排除盡可能多的bug來減少后期成本的因素之一。 產品質量:單元測試的好與壞直接影響到產品的質量,可能就是由于代碼中的某一個小錯誤就導致了整個產品的質量降低一個指標,或者導致更嚴重的后果,如果我們做好了單元測試這種情況是可以完全避免的。 綜上所述,單元測試是構筑產品質量的基石,我們不要因為節約單元測試的時間不做單元測試或隨便做而讓我們在后期浪費太多的不值得的時間,我們也不愿意因為由于節約那些時間導致開發出來的整個產品失敗或重來!
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/