海口達內:還不瞭解Java性能測試的,來看這篇文章

在軟件開發過程中,性能測試往往在開發前期容易被忽略。直到有一天問題暴露後,開發人員被迫的直面這個問題,大多數情況下,這是令開發人員感覺到非常痛苦事情。

Java編程開發


實際測試

第一個原則就是性能測試只有在實際項目中實施才是有意義的,這樣才使得測試工作具有針對性,而且目標會更加明確。如微觀基準,可以理解為在某一個方法或某一個組件中進行的單元性能測試。比如檢測一個線程同步和一個非線程同步的方法運行時所需要的時間。或者對比創建一個單獨線程和使用一個線程池的性能開銷。或者對比執行一個算法中的某一個迭代過程所需要的時間。

測量方法

性能測試中的第二個重要的原則是引入多樣的測量方法來分析程序的性能。批量執行所用時間的測量方法(耗時法),這是種簡單而快速有效的方法,通過測量完成特定任務所消耗的時間來測量整體性能。但是需要特別注意,假如所測試的應用程序中使用緩存數據技術來為了獲得更好的性能表現時,多次循環使用該方法可能無法完全反應性能問題。那麼可以嘗試在初始狀態開始時應用耗時法做一次性能的評估,然後當緩存建立後,再次嘗試此方法。

JAVA性能開發

多變性

性能測試的第三個原則是理解測試結果如何隨時間改變,即使每一次測試使用同樣的數據,可能獲得的結果也是不同的。一些客觀因素,比如後臺運行的進程,網絡的負載情況,這些都可能帶來測試結果的不同,所以在測試過程中存在著一些隨機性的因素。

快速測試

第四個原則就是工程師應該視性能測試是整個開發過程必要的部分,儘早進行性能測試,經常進行性能的測試,是一個好的工程師應該做到的。在代碼提交到代碼庫之前,就應當做性能測試,因為性能問題也會導致迴歸測試失敗。