前言
性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項性能指標進行測試。
負載測試和壓力測試都屬於性能測試,兩者可以結合進行。
負載測試 確定在各種工作負載下系統的性能,目標是測試當負載逐漸增加時,系統各項性能指標的變化情況。
壓力測試 是通過確定一個系統的瓶頸或者不能接受的性能點,來獲得系統能提供的最大服務級別的測試
性能測試在軟件的質量保證中起着重要的作用,它包括的測試內容豐富多樣。
中國軟件評測中心將性能測試概括為三個方面:
應用在客戶端性能的測試
應用在網絡上性能的測試
應用在服務器端性能的測試。
通常情況下,三方面有效、合理的結合,可以達到對系統性能全面的分析和瓶頸的預測。
性能測試 目的
目的是驗證軟件系統是否能夠達到用戶提出的性能指標,同時發現軟件系統中存在的性能瓶頸,優化軟件,最后起到優化系統的目的。
包括以下幾個方面
1.評估系統的能力
測試中得到的負荷和響應時間數據可以被用於驗證所計划的模型的能力,並幫助作出決策
2.識別體系中的弱點
受控的負荷可以被增加到一個極端的水平,並突破它,從而修復體系的瓶頸或薄弱的地方
3.系統調優
重復運行測試,驗證調整系統的活動得到了預期的結果,從而改進性能。
檢測軟件中的問題:長時間的測試執行可導致程序發生由於內存泄露引起的失敗,揭示程序中的隱含的問題或沖突。
4.驗證穩定性(resilience)可靠性(reliability)
在一個生產負荷下執行測試一定的時間是評估系統穩定性和可靠性是否滿足要求的唯一方法。
負載測試(Load Testing)
負載測試是確定在各種工作負載下系統的性能,目標是測試當負載逐漸增加時,系統組成部分的相應輸出項,例如通過量、響應時間、CPU負載、內存使用等來決定系統的性能。負載測試是一個分析軟件應用程序和支撐架構、模擬真實環境的使用,從而來確定能夠接收的性能過程。
負載測試會幫助確定系統是否還能夠處理期望的用戶負載,以預測系統的未來性能;通過模擬成百上千個用戶,重復執行和運行測試,可以確認性能瓶頸並優化和調整應用,目的在於尋找到瓶頸問題。
測試的基本策略是自動負載測試,通過在一台或幾台PC機上模擬成百或上千的虛擬用戶同時執行業務的情景,對應用程序進行測試,同時記錄下每一事務處理的時間、中間件服務器峰值數據、數據庫狀態等。通過可重復的、真實的測試能夠徹底地度量應用的可擴展性和性能,確定問題所在以及優化系統性能。預先知道了系統的承受力,就為最終用戶規划整個運行環境的配置提供了有力的依據。
壓力測試(Stress Testing)
壓力測試是通過確定一個系統的瓶頸或者不能接收的性能點,來獲得系統能提供的最大服務級別的測試。
客戶端性能測試
應用在客戶端性能測試的目的是考察客戶端應用的性能,測試的入口是客戶端。它主要包括並發性能測試、疲勞強度測試、大數據量測試和速度測試等,其中並發性能測試是重點。
並發性能測試
並發性能測試的過程是一個負載測試和壓力測試的過程,即逐漸增加負載,直到系統的瓶頸或者不能接收的性能點,通過綜合分析交易執行指標和資源監控指標來確定系統並發性能的過程。
並發性能測試的目的主要體現在三個方面:
1、以真實的業務為依據,選擇有代表性的、關鍵的業務操作設計測試案例,以評價系統的當前性能;
2、當擴展應用程序的功能或者新的應用程序將要被部署時,負載測試會幫助確定系統是否還能夠處理期望的用戶負載,以預測系統的未來性能;
3、通過模擬成百上千個用戶,重復執行和運行測試,可以確認性能瓶頸並優化和調整應用,目的在於尋找到瓶頸問題。
網絡端性能測試
應用在網絡上性能的測試重點是利用成熟先進的自動化技術進行網絡應用性能監控、網絡應用性能分析和網絡預測。
網絡應用性能分析
網絡應用性能分析的目的是准確展示網絡帶寬、延遲、負載和TCP端口的變化是如何影響用戶的響應時間的。
網絡應用性能監控
網絡應用性能監控以及網絡資源管理對系統的正常穩定運行是非常關鍵的。利用網絡應用性能監控工具。
通俗地講,它主要用來分析關鍵應用程序的性能,定位問題的根源是在客戶端、服務器、應用程序還是網絡。在大多數情況下用戶較關心的問題還有哪些應用程序占用大量帶寬,哪些用戶產生了最大的網絡流量
網絡預測
考慮到系統未來發展的擴展性,預測網絡流量的變化、網絡結構的變化對用戶系統的影響非常重要。根據規划數據進行預測並及時提供網絡性能預測數據。
從網絡管理軟件獲取網絡拓撲結構、從現有的流量監控軟件獲取流量信息(若沒有這類軟件可人工生成流量數據),這樣可以得到現有網絡的基本結構。在基本結構的基礎上,可根據網絡結構的變化、網絡流量的變化生成報告和圖表,說明這些變化是如何影響網絡性能的。PREDICTOR提供如下信息:根據預測的結果幫助用戶及時升級網絡,避免因關鍵設備超過利用閥值導致系統性能下降;哪個網絡設備需要升級,這樣可減少網絡延遲、避免網絡瓶頸;根據預測的結果避免不必要的網絡升級。
服務端性能測試
對於應用在服務器上性能的測試,可以采用工具監控,也可以使用系統本身的監控命令,例如Tuxedo中可以使用Top命令監控資源使用情況。實施測試的目的是實現服務器設備、服務器操作系統、數據庫系統、應用在服務器上性能的全面監控。
————————————————
版權聲明:本文為CSDN博主「Benjamincsdn」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_25305833/article/details/121892342