單元測試的重要性 軟件測試
單元測試一些錯誤的認識
在實際的單元測試過程中總會有一些錯誤的認識左右著我們,使之成為單元測試最大的障礙,在此將其一一分析如下:
它太浪費時間了,現在要趕進度,時間上根本不允許,或者隨便做做應付領導。
我是一個很棒的程序員,我寫的代碼肯定是沒有問題的。
做單元測試太煩了,直接集成,到時有問題在集成測試時肯定能發現的,實在不行在系統測試總該能發現吧。
它僅僅是證明這些代碼做了什么。
對于以上錯誤認識的產生歸根結底還是由于對單元測試的理解還是不夠,沒有真正認識到單元測試的重要性。
測試的重要性
單元測試是軟件測試的基礎,因此單元測試的效果會直接影響到軟件的后期測試,最終在很大程度上影響到產品的質量。從如下幾個方面就可以看出單元測試的重要性在何處。
時間方面:如果認真的做好了單元測試,在系統集成聯調時非常順利,因此會節約很多時間,反之那些由于因為時間原因不做單元測試或隨便做做的則在集成時總會遇到那些本應該在單元測試就能發現的問題,而這種問題在集成時遇到往往很難讓開發人員預料到,最后在苦苦尋覓中才發現這是個很低級的錯誤而在悔恨自己時已經浪費了很多時間,這種時間上的浪費一點都不值得,正所謂得不償失。
測試效果:根據以往的測試經驗來看,單元測試的效果是非常明顯的,首先它是測試階段的基礎,做好了單元測試,在做后期的集成測試和系統測試時就很順利。其次在單元測試過程中能發現一些很深層次的問題,同時還會發現一些很容易發現而在集成測試和系統測試很難發現的問題。再次單元測試關注的范圍也特殊,它不僅僅是證明這些代碼做了什么,最重要的是代碼是如何做的,是否做了它該做的事情而沒有做不該做的事情。
測試成本:在單元測試時某些問題就很容易發現,如果在后期的測試中發現問題所花的成本將成倍數上升。比如在單元測試時發現1個問題需要1個小時,則在集成測試時發現該問題需要2個小時,在系統測試時發現則需要3個小時,同理還有定位問題和解決問題的費用也是成倍數上升的,這就是我們要盡可能早的排除盡可能多的bug來減少后期成本的因素之一。
產品質量:單元測試的好與壞直接影響到產品的質量,可能就是由于代碼中的某一個小錯誤就導致了整個產品的質量降低一個指標,或者導致更嚴重的后果,如果我們做好了單元測試這種情況是可以完全避免的。
綜上所述,單元測試是構筑產品質量的基石,我們不要因為節約單元測試的時間不做單元測試或隨便做而讓我們在后期浪費太多的不值得的時間,我們也不愿意因為由于節約那些時間導致開發出來的整個產品失敗或重來!
文章來源于領測軟件測試網 http://www.k11sc111.com/