JUnitPerf简介
程式在進行開發的過程中,通常首先追求的是功能的正確性,在功能正確之下,若有必要,則再進行效能(performance)與負載能力(scalability)的提昇,然而在提昇效能與負載的同時,必須保證原來的功能不被破壞。
JUnitPerf 基於JUnit的測試基礎之上,以 Decorator 模式 裝飾 JUnit 測試,JUnitPerf包括了兩種JUnit Decorator:
[iocblog.net 来源]
- TimedTest
它首先運行JUnit測試,接著量測JUnit測試所花費的時間,預設情況下,TimedTest會等待所量測JUnit測試結束後,決定所花費的時間是否超出預期,如果是則測試失敗,您也可以設定當所花費時間超出預期時,立即發出信號表示測試失敗,並中斷測試。
- LoadTest
可以用以模擬同時間多個使用者使用某個功能時的負載測試。
有了JUnitPerf,在您為了提昇效能或負載能力而進行程式碼重構時,不至於破壞程式原有的功能,就如同JUnit測試驅動的過程,逐步調整程式是必要的,JUnitPerf不是評測工具(Profiler),而是重構工具,您應當使用評測工具先找出程式的瓶頸,在瓶頸處先為其撰寫JUnitPerf 測試。
一開始,您撰寫一個預期達到的值,測試會失敗,接著您開始針對程式碼或相關部份進行調校,然後運行測試,讓測試的效能結果逐步符合預期,從而解決評瓶頸,接下來,再使用評測工具找出下一個瓶頸進行解決。
在撰寫此文時,JUnitPerf的版本是JUnitPerf 1.9,必須搭配JUnit 3.5或更高的版本來使用。 [iocblog.net 来源]
文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。