目錄軟體效能應該是一種指標,通過這個指標可以衡量,系統或構件效能達到的程度。也是對軟體效能需求的乙個測試和評估,用來驗收或評估軟體達到的效能程度。
使用自動化測試工具對產品按照一定的效能指標進行測試,解決效能瓶頸,給使用者最好的體驗。
效能測試需求分析
效能測試計畫
效能測試準備
開發指令碼/執行測試
測試結果分析
系統調優
編寫測試報告/調優報告
響應時間:是使用者提交乙個請求,系統從開始呈現到將所有資訊都呈現到客戶端所需要的時間;
注:真正的響應時間應該包括三部分組成:網路傳輸時間+應用伺服器時間+資料庫時間
$$c=nl / t
$$其中c是平均的併發使用者數,n是平均每天訪問使用者數(login session),l是一天內使用者從登入到退出的平均時間(login session的平均時間),t是考察時間長度(一天內多長時間有使用者使用系統)
$$c^峰≈ 3*√c
$$其中c峰是併發使用者峰值,c是平均併發使用者數,該公式遵循泊松分布理論。
再注:oa是office automation system的縮寫 ,意為辦公自動化系統。是面向企業組織日常運作和管理的應用系統,其目的在於優化提高員工及管理者的工作效率。簡單來說,oa系統是乙個企業用來日常辦公的軟體,主張無紙化辦公,其主要功能有:流程審批、考勤、通知公告、投票管理、行政管理、人事管理、資產管理、專案管理、客戶管理等;
吞吐量:吞吐量是指單位時間內系統處理客戶請求的數量;
$$f=vu * r /t
$$其中f為吞吐量,vu表示虛擬使用者個數,r表示每個虛擬使用者發出的請求數,t表示效能測試所用的時間
吞吐率:是指單位時間內的資料傳輸量,即吞吐量/傳輸時間,也可以是單位時間內處理的客戶請求數;
通常情況下吞吐量越大,吞吐率的值也就越大,吞吐率越大表示系統的負載能力越強
tps:表示每秒鐘系統處理的事物數,他是衡量系統處理能力的重要指標;
點選率:指每秒鐘使用者向web伺服器提交的http的數量 ;
資源利用率:指的是系統資源被占用的情況,主要包括cpu利用率、記憶體利用率、磁碟利用率、網路等 ;
思考時間(think time):也稱為「休眠時間」,從業務層面來說,這個時間是指使用者在進行操作時,每個請求之間的時間間隔 ;
$$ts=t/r
$$其中ts就是思考時間,t表示時間,r表示每個使用者發出的請求數。
負載測試(load testing):是通過對被測試系統不斷的加壓,直到超過預定的指標或者是部分資源已經達到了一種飽和狀態不能再加壓為止;
1) 目的:就是為了找到系統最大的負載能力
2) 環境:這種方法要在乙個特定的環境下進行測試
3) 手段:不斷對系統進行加壓,直到系統達到極限
壓力測試(stress testing):指當系統已經達到一定的飽和程度(如cpu、磁碟等已經處於一種飽和狀態),系統處理業務的能力,系統是否會出現崩潰等;
1) 目的:目的是測試系統在很強的壓力下,持續執行是否報錯,關注的是系統是否報錯
2) 環境:這裡一般是通過模擬負載等方法,是系統資源達到較高的乙個水平
3) 手段:這種方法一般用於系統穩定性測試
配置測試 (configuration testing):是通過調整系統軟/硬體環境,了解在不同環境下系統效能指標的情況,從而找到系統的最優配置;
1) 目的:目的是通過調整環境了解不同因素對於系統效能的影響情況,從而找到最優操作
2) 環境:通過調整系統軟體/硬體環境,使系統在不同環境下進行效能測試
3) 手段:用於系統調優和規劃能力
併發測試(concurrency testing):(各種測試方法都包括併發測試)是通過模擬使用者併發訪問,測試多使用者同時訪問同一應用、模組或資料,觀察系統是否存在死鎖、系統處理速度明顯下降等其它的一些效能問題;
1) 目的:目的是找到當多使用者併發訪問時,系統是否存在可能的併發問題
2) 手段:模擬多使用者同時併發操作
可靠性測試/穩定性測試:是當系統在一定的業務壓力下,讓系統持續執行一段時間,看系統是否達到我們要求的穩定性,這裡強調在一定業務壓力下持續執行的能力,一定都會有乙個明確的要求,例如:持續執行多少天系統不能出現問題 ;
1) 目的:目的時測試系統在一定的業務壓力下,系統可持續執行時間
2) 環境:指系統一定要在一定的業務壓力環境下持續執行
3) 測試過程中要關注系統執行的情況
從應用領域來劃分,效能測試分四大領域
能力驗證:能力驗證是效能測試最常用的乙個領域。一般能力驗證採用這樣的描述方式:「某系統能否在條件a下具備b效能」 ;
規劃能力:規劃能力與能力驗證有相似之處,但還是有不一樣的地方,能力驗證強調的是在某個條件下具備什麼樣的能力,而規劃能力體現在系統如何才能達到要求的效能指標 ;
效能調優:效能調優是通過測試來調整系統的環境,最終使系統效能達到最優的狀態。這是乙個持續調優的過程,主要調優的物件有資料引數、應用伺服器、系統的硬體資源等;
調優過程如下圖:
發現缺陷:效能測試應用領域的主要目標是通過效能測試的手段來發現系統存在的缺陷;
效能測試基礎 效能測試基礎指南
企業對於效能測試工程師的要求 要求熟練掌握至少一種效能測試工具,並且能夠實現效能測試指令碼的開發。能夠獲取 分析 提煉效能需求。能夠根據效能需求去進行測試場景的設計和實現。能夠根據效能的需要進行必要的監控。能夠根據效能測試結果 集合監控 伺服器日誌等資料分析 定位效能瓶頸 能夠提出調優建議。能夠根據...
效能測試基礎
效能測試 效能測試主要是通過大量的併發請求,和資料處理,使系統在高併發的情況下衡量乙個系統的強壯性,可靠性 效能測試的步驟 1 首先了解效能測試的需求 第一點,在需求明確的情況下,直接按照需求進行測試 一般在正規的公司,流程完善,產品和架構設計人員都是可以給得出比較合理的乙個效能測試指標 第二點 在...
效能測試基礎
1 計算機相關的知識。硬體 一般來說,和效能有關的主要有以下幾個 cpu 一般來說,cpu的忙碌程度就反應了當前系統中所執行的任務的多少和執行速度的快慢。記憶體 記憶體分為兩種 物理記憶體和虛擬記憶體。物理記憶體 記憶體條所提供的,讀寫速度快。虛擬記憶體 是從磁碟中劃分出來的,讀寫速度慢。系統原則 ...