領測軟件測試網
軟件測試技術網8U3Q"^5F\
^軟件測試技術網,m1]%DMWo!De N3、不知道怎么編寫單元測試
(M5af!?OLVyi^f@;u如果你相信單元測試的價值,那么去學習如何編寫單元測試最終會讓你獲益的。
軟件測試技術網B\M d \d軟件測試技術網#U1px7|#?6a!Kyp以Java開發為例,junit這樣的單元測試組件是非常易于學習和使用的。其它語言也有類似的單元測試組件。要相信這將是簡單和能為你帶來價值的。筆者見過許多程序員編寫單元測試,但是編寫的單元測試完全沒有起到它應有的作用,這也與不知道怎么編寫單元測試有關。所以我們應該掌握一些編寫單元測試的基本原則:
軟件測試技術網:vl7@0?qh1iQdz)rE5w6L!y
w
~•為什么編寫測試:雖然我們說為所有的代類都編寫單元測試,但是測試JavaBean的setter或getter方法無異于是自尋煩惱。編寫這樣的測試完全是浪費時間,而且還增加了維護的困難。
:v0FuK$s*u4@!T&\)N~0v`U+h•學會使用斷言:斷言就是讓我們為方法設置一個期望值。當方法執行結果與期望值不一致時,測試組件就會報告測試不通過。我見過一些項目的單元測試不是使用斷言,而是自己編寫一個打印(println)工具類,可以詳細的在控制臺中打印出類的詳細成員信息及集合的詳細信息。
軟件測試技術網sUd5rz^s\M2x^0[在單元測試中使用這個打印工具類來打印輸出結果。這看起來好像非常不錯。但是不應該使用這種方式來編寫單元測試使用打印工具類,需要程序員自已從控制臺去觀察程序的執行結果。當輸出信息非常多時,控制臺信息是無法向上翻屏的。所以不能夠給我們提供更多的信息。所以這種方法也不能用于自動化測試。
$j4l|v]5da軟件測試技術網$]p0d^%Qma e使用打印工具類造成了一種假像,測試報告我們的測試總是成功的!如果使用斷言,當方法的執行結果與我們設置的期望值不一致時,則會詳細的報告測試失敗的情況。
軟件測試技術網wGC UN&sgQv4g.b5E\P使用打印工具來代替斷言,造成測試的不充分,只會寫出一個低測試覆蓋率的測試。我們需要一個充分的測試。
軟件測試技術網
X#i1s6W}zB JI7OVI9M•最大化測試覆蓋率:我們除了測試一個正確的路徑外,還需要測試方法的每一個分支邏輯。需要編寫盡可能多的測試程序代碼的測試。寫一個充分的測試。
軟件測試技術網#?~_2O7y9H@;B*e8F*_(vE+\PU2X0V%I"DD'Ko•避免重復的測試代碼:測試類也是非常重要的,與應用代碼一樣。測試類包含的重復代碼越多,測試類自身出現的錯誤也會越多。而我們需要做的編碼工作也就越多。
2?
国产女主播精品_国产片婬乱18一级毛片视频_国产午夜激无码av毛片不卡_国产精品欧美久久久天天影院