LoadRunner之效能測試基本概念

2022-09-03 03:00:15 字數 3276 閱讀 4527

在一些軟體專案中,專案經理或測試經理經常會安排測試工程師進行下面的工作:

一、什麼是效能測試

狹義的效能測試主要用於描述常規的效能測試,是指通過模擬生產執行的業務壓力或使用者使用場景來測試系統的效能是否滿足生產效能的要求。

廣義的效能測試則是壓力測試、負載測試、強度測試、併發(使用者)測試、大資料量測

試、配置測試、可靠性測試等和效能相關的測試統稱。

二、各類測試的主要內容和特點介紹

壓力測試:對系統不斷施加壓力的測試,是通過確定乙個系統的瓶頸或不能接收使用者請求的效能點,來獲得系統能提供的最大服務級別的測試。例如測試乙個 web 站點在大量的負荷下,系統的事務響應時間何時會變得不可接受或事務不能正常執行。壓力測試的目的是發現在什麼條件下系統的效能變得不可接受,並通過對應用程式施加越來越大的負載,直到發現應用程式效能下降的拐點。壓力測試和負載測試有些類似,但是通常把負載測試描述成一種特定型別的壓力測試——例如增加使用者數量或延長壓力時間以對應用程式進行壓力測試。

負載測試:對系統不斷地增加壓力或增加一定壓力下的持續時間,直到系統的一些效能指標達到極限,例如響應時間超過預定指標或某種資源已經達到飽和狀態。這種測試可以找到系統的處理極限,為系統調優提供依據。壓力測試側重壓力大小,而負載測試往往強調壓力持續的時間。在實際工作中,沒有必要嚴格區分這兩個概念。

強度測試:強度測試主要是為了檢查程式對異常情況的抵抗能力。強度測試總是迫使系統在異常的資源配置下執行。例如:

當正常的使用者點選率為「1000 次/秒」時,執行點選率為「2000 次/秒」的測試用例;

執行需要最大儲存空間(或其他資源)的測試用例;

執行可能導致作業系統崩潰或磁碟資料劇烈抖動的測試用例,等等。

強度測試是一種特別重要的測試,對測試系統的穩定性,以及系統未來的擴充套件空間均具有重要的意義。在這種異常條件下進行的測試,更容易發現系統是否穩定以及效能方面是否

容易擴充套件。

疲勞強度測試:是一類特殊的強度測試,主要測試系統長時間執行後的效能表現,例如 7× 24 小時的壓力測試。

併發(使用者)測試:主要指當測試多個使用者並同時訪問同乙個應用程式、同乙個模組或資料記錄時是否存在死鎖或其他效能問題,幾乎所有的效能測試都會涉及併發測試。在具體的效能測試工作中,併發使用者往往都是借助工具來進行模擬的, loadrunner 中稱之為併發虛擬使用者。

大資料量測試:大資料量測試分為兩種:一種是針對某些系統儲存、傳輸、統計查詢等業務進行大資料量的測試;另一種是與併發測試相結合的極限狀態下的綜合資料測試。如專項的大資料量測試主要針對前者,後者盡量放在併發測試中。此外,也可以把大資料量測試分為「執行時大資料量測試」與「歷史大資料量測試」來進行測試用例設計。

配置測試:配置測試主要指通過測試找到系統各項資源的最優分配原則。配置測試是系統調優的重要依據。例如,可以通過不停地調整 oracle 的記憶體引數來進行測試,使之達到乙個較好的效能。可以看出,配置測試本質上是前面提到的某些種類的效能測試組合在一起而進行的測試。

可靠性測試:在給系統載入一定業務壓力的情況下,使系統執行一段時間,以此檢測系統是否穩定。例如,可以施加讓 cpu 資源保持 70%~90%使用率的壓力,連續對系統加壓 8 個小時,然後根據結果分析系統是否穩定。

這麼多型別的效能測試看起來很嚇人,實際上它們大多是密切相關的。例如,執行 8 個小時來測試系統是否可靠,而這個測試極有可能包含了可靠性測試、強度測試、併發(使用者)測試、負載測試,等等。

三、效能測試應用領域

效能測試往往是為了實現下面的乙個或幾個目標:

判定軟體是否滿足預期的效能需求;

根據測試結果判定軟體的效能表現;

查詢系統可能存在的效能問題,如果有,則找出並加以解決;

發現一些應用程式在功能實現方面的缺陷;

對一些存在效能問題的系統,找出瓶頸並加以解決;

為使用者部署系統提供效能參考;

……通過分析效能測試的種種目標,不難總結出效能測試主要應用在幾個領域中,下面分別予以介紹。

系統的效能瓶頸定位:系統的效能瓶頸定位是效能測試最常見的應用領域。借助 loadrunner 等工具,可以在測試場景執行過程中監控系統資源、 web 伺服器資源等執行資料,與響應時間進行同步分析,可以在一定程度上進行效能瓶頸的分析與定位。

系統的引數配置:通過效能測試可以測試系統在不同引數配置下的效能表現,進而找出令系統表現更優的系統配置引數,為應用系統投產提供最佳配置建議。實際上,作業系統、資料庫、中介軟體伺服器等的引數配置是應用系統發生效能問題的重要原因。例如分配給 oracle 的記憶體大小與系統自身的業務特點有極大關係,配置不同的資料庫,效能表現就會不同;而即使在記憶體一定的情況下, sga 的分配也會對效能產生很大的影響。因此,要通過測試,以確定記憶體的最佳配置。發現一些軟體演算法方面的缺陷一些多執行緒、同步併發演算法在單使用者模式下測試是很難發現問題的,只有通過模擬多使用者的併發操作,才能驗證其執行是否正常與穩定。例如作者就經歷過在一次效能測試過程中,測試人員模擬多個使用者併發時發現的乙個明顯的缺陷:測試物件是乙個隨機分配任務的模組,只要有使用者申請,就會給使用者分配任務。這個演算法在單使用者情況下除錯沒有任何問題,但是當多個使用者同時申請任務時,就發生了把同一任務分配給多個不同使用者的現象。經證實,這個缺陷就是「同步演算法」發生了問題而引起的。

系統的驗收測試:系統驗收測試經常會驗證一些預期的效能指標,或者驗證系統中一些事務指標是否符合使用者期望,這時就需要借助效能測試來完成驗證工作。隨著使用者對效能的重視,現在效能測試幾乎是系統驗收測試中必不可少的內容之一。使用者甚至自己進行專門的效能測試來驗證系統上線前的效能,以保證執行時的效能穩定。因此,效能測試在使用者驗收測試中越來越重要。

系統容量規劃:通過總結系統在不同硬體環境下的效能表現,可以為系統部署時提供非常好的參考。對於一些效能要求較高的系統,效能測試可以為硬體規劃提供很好的參考資料,使使用者在購買硬體時「有據可依」。例如同一系列機型:兩顆 cpu 系統支援 500 使用者併發、四顆 cpu 支援800 使用者併發,這些都是使用者根據自身需求來規劃硬體的重要依據。

產品評估/選型:產品評估/選型是效能測試的又一應用領域。通過效能測試,可以對產品的軟硬體效能進行更全面的評估,選出更適合自己的產品型別。

效能測試的應用領域越來越廣,因此在實際工作中,效能測試往往會一次應用在乙個或多個領域。對於軟體效能測試設計人員,應該根據測試的具體應用領域、測試原則和目標來進行效能測試的規劃與設計。

loadrunner效能測試

8.error failed to connect to server 192.168.1.100 2060 10061 connection refused iis關閉 web伺服器承受不了壓力,拒絕服務,降低tcptimewaitdelay時間和增加maxuserport tcp連線使用的最大埠...

loadrunner 效能測試

效能測試劃分 負載測試 壓力測試 配置測試 併發測試 可靠性測試 負載測試 是通過對被測試系統不斷的加壓,直到超過預 定的指標或者是部分資源已經達到了一種飽和 狀態不能再加壓為止 壓力測試 指當系統已經達到一定的飽和程度 如cpu 磁 盤等已經處於一種飽和狀態 系統處理業務 的能力,系統是否會出現崩...

效能測試之LoadRunner使用(一)

本章內容 1 什麼是效能測試 2 效能測試評估指標 3 效能測試工具 4 效能測試流程 5 loadrunner效能測試解決方案 6 常見協議 1 效能測試 在一定負載的情況下,被測系統的響應時間 吞吐率 資源利用率是否滿足效能需求。2 效能測試評估指標 響應時間 吞吐率 資源利用率等 不是乙個系統...