為什么需要單元測試
在開發軟件的過程中,用戶需要實際運行所編寫的代碼以確保程序的正確性。當軟件變得越來越大,再去添加新的功能或做一些新的改動時,就很容易帶來新的問題,甚至會使程序無法正常運行。然而要手動的運行代碼,測試代碼的可行性也是非?菰镆约胺浅:馁M時間的事情。
為了減少這種手動測試,可以通過創建單元測試來自動完成測試的工作。當修改代碼或者添加新功能后,可以執行單元測試來保證代碼運行無誤。所有測試工作都是由單元測試自動完成的,開發人員所要做的就是停下來喝杯茶,看看程序的執行狀態。
使用單元測試的另一個理由是實現測試驅動的開發,這在當前是比較流行的開發方式。測試驅動的開發嘗試首先寫出單元測試,然后完成實際的代碼。通過單元測試來提供類的定義,當實際開始編寫代碼時,用戶僅僅需要做的就是具體類的實現,只要單元測試運行通過,代碼的實現也將告一段落了。寫單元測試的同時,也在同時在做項目的設計,當項目結束后,單元測試還將是不錯的文檔,何樂而不為呢?
自信編碼
人的記憶是短暫的,但代碼的修改是無限的,怎樣讓無限的修改不會因為記憶的短暫而帶來無窮的煩惱呢?這是非常矛盾的事情,單元測試能夠一定程序上解決這個問題。
也許所有的程序員都遇到過這樣的問題,當要修改很久以前的代碼或他人編寫的代碼時,總是會很猶豫,因為他們不清楚所做的修改會不會引起其它的問題,只能當遍歷了所有的代碼后才敢動手。這是非常正常的,但也因此浪費了很多的時間,通過單元測試能夠一定程度上增強用戶的自信心,因為單元測試的前提假設就是,如果通過了所有的測試,代碼就是可行的。
在Java語言中,可以通過JUnit框架進行單元測試,JUnit是由“Erich Gamma”和“Kent Beck”創建的,他們也是在“設計模式”和“極限編程”領域最偉大的作者之一。
單元測試的實現是很簡單的,可以認為它只是判斷在某一個時刻,程序運行的值和預期的值是否一致,但在實際的應用的時候是很靈活的,在此介紹JUnit中的一些斷言以及JUnit測試框架的使用,使讀者能夠快速的進入單元測試的領域,更快的進行開發。
文章來源于領測軟件測試網 http://www.kjueaiud.com/