效能測試完整教程(附程式碼資料)主要內容講述:效能測試大綱。。。。。。。。。。。。。。
全套筆記資料程式碼移步: 前往gitee倉庫檢視
感興趣的小夥伴可以自取哦,歡迎大家點贊轉發~
效能測試大綱
序號 | 階段 | 概述 |
---|---|---|
01 | 入門 | 1. 認識效能測試分類-(負載測試、壓力測試、併發測試、穩定性測試)2. 常用效能測試指標-(吞吐量、併發數、響應時間、點選數...)3. 效能測試工具選擇 |
02 | 效能指令碼 | 1. LoadRunner介紹2. 指令碼錄製、執行、引數化3. 關聯、檢查點、事務、集合點 |
03 | 效能場景 | 1. 場景分類、場景設計、場景執行策略2. 資源監控、SLA、IP Wizard應用 |
04 | 效能分析 | 1. 摘要報告、事務圖表、圖表合併2. 交叉結果、拐點分析、Web專案資源分析 |
效能測試基礎知識
目標
理解什麼是效能測試
掌握效能測試的基礎分類
熟悉效能測試的常用指標
什麼是效能測試?
目標
瞭解為什麼學習效能測試
掌握什麼是效能測試
瞭解效能測試的焦點
概念
效能測試是模擬多種正常、峰值以及異常負載條件來對系統的各項效能指標進行的測試。
說明:
峰值:客戶指定指標數值或場景需求數值,如:CPU使用率80%以內、登入3秒、記憶體空間40%等等
負載:使用者(一個或多個)向伺服器傳送請求,負載測試我們1.2節會講解
效能測試與功能測試(焦點)
功能測試:驗證軟體系統操作功能是否符合產品功能需求規格,主要焦點在功能(正向、逆向);
效能測試:驗證軟體系統是否滿足業務需求場景,主要焦點是業務場景的滿足度(時間、空間);
說明: 時間:軟體的響應時間... 空間:伺服器的磁碟讀寫數率、CPU 使用率、記憶體空閒率...
功能測試和效能測試是相輔相成的,對於一款優秀的軟體產品來講,它們是測試工作中不可或缺的兩個重要環節。
需求 解決方案
求職需求:
面試:會效能測試嗎?
招聘資訊:要求會使用效能測試工具LoadRunner、Jmeter
業務需求:
登入不得超過3秒鐘
開發一款 Web 電商網站,使用 Java 還是 PHP 呢?
OA 辦公系統-我們公司20000左右員工需要使用此係統。
解決方案:
負載測試-根據客戶實際應用場景模擬測試應用軟體、伺服器是否滿足需求;如果不滿足,則定位問題,進行調整直到滿足需求;
分別使用 Java 和 PHP 寫個 Demo,搭建相同的應用場景進行效能測試,找出最優符合應用場景的開發語言;
根據二八定律統計出單位時間內(秒)最高請求數。
效能測試分類及常用指標
效能測試是個綜合的概述,效能測試指的是測試一種分類或多種分類,任何一具體分類,都是效能測試
一、效能測試常用分類
- 負載測試
- 壓力測試
- 併發測試
- 穩定性測試
效能測試分類還有其他型別比如:配置測試、容量測試等,前期我們先熟悉以上常用分類
1.1 負載測試 【重點】
透過逐步增加系統負載,測試系統效能的變化,並最終確定在滿足系統的效能指標情況下,系統所能夠承受的最大負載量的測試。(負載:向伺服器傳送請求)
負載測試是透過逐步加壓的方式來確定系統的處理能力、確定系統能夠承受的各項閥值。 例如:逐步加壓,從而得到“響應時間不超過3秒”、“伺服器CPU平均利用率低於80%”等指標的閥值。
*閥值:關注的某一具體數值(比如:登入小於3秒、使用者數2000、業務成功率100%)
1.2 壓力測試 【重點】
透過逐步增加系統負載,測試系統效能的變化,並最終確定在什麼負載條件下系統效能處於【失效】狀態。
- 壓力測試:是逐步增加負載,使系統某些資源達到飽和甚至失效。(如:測試系統最多支援同時處理多少請求,超過此數數量系統癱瘓)
- 負載測試:是逐步增加負載,確定在滿足效能指標情況下,系統能承受的最大負載測試。(如:登入3秒內,最多支援多少使用者同時登入;如超出此數量,可能需要5秒鐘或更多時間才能登入成功)
1.3 併發測試 【重點】
概念:併發測試就是【多使用者】同時訪問【同一個應用】。
目的:測試應用伺服器指定功能的同時訪問數是否達到預期結果。
*併發測試需要配合集合點來使用(集合點:我們在介面階段已瞭解)
1.4 穩定性測試【理解】
透過給系統載入一定的業務壓力(如:CPU資源在70%~90%的使用率)的情況下,執行一段時間,檢查系統是否穩定。
*通常穩定性測試,我們測試一段時間即可;(如:24小時、3×24小時或7×24小時來模擬長時間執行)
二、效能測試常用指標【重要】
一些經過運算得出的結果,用來衡量某種操作效能的統稱;比如:錯誤率0.5%
效能測試常用指標:
- 吞吐量
- 併發數
- 響應時間
- 點選數
- 資源利用率
- 錯誤率
2.1 吞吐量
吞吐量(Throughput):指的是單位時間內處理的客戶端請求數量,直接體現軟體系統的效能承載能力。 通常情況下,吞吐量用“請求數/秒”或者“頁面數/分鐘”來衡量。
從業務角度來看,吞吐量也可以用“業務數/小時”、“業務數/天”、“訪問人數/天”、“頁面訪問量/天”來衡量。
從網路角度來看,還可以用“位元組數/小時”、“位元組數/天”等來衡量網路的流量。
2.2 併發數
併發(Concurrency):它最簡單的描述就是指多個同時發生的業務操作。(例如,100個使用者同時單擊登入頁面的“登入”按鈕操作。)
併發性測試描述的是多個客戶端同時向伺服器發出請求,考察伺服器端承受能力的一種效能測試方式。
2.3 響應時間
響應時間指使用者從客戶端發起一個請求開始,到客戶端接收到從伺服器端返回結果整個過程所耗費的時間
2.4 點選數
點選數是衡量Web伺服器處理能力的一個重要指標。它的統計是客戶端向Web伺服器發了多少次HTTP請求計算的。
- 點選數不是通常一般人認為的訪問一個頁面就是1次點選數,點選數是該頁面包含的元素(如:圖片、連結、框架等)向Web伺服器發出的請求數數量。
- 通常我們也用每秒點選次數(Hits per Second)指標來衡量Web伺服器的處理能力。
2.5 資源利用率
是指系統各種資源的使用情況,一般用“資源的使用量/總的資源可用量×100%”形成資源利用率的資料。
通常,沒有特殊需求的話:
- 建議CPU使用率不高於80%(±5);
- 記憶體使用率不高於80%;
- 磁碟讀寫時間比不高於90%。
2.6 錯誤率
錯誤率指系統在負載情況下,失敗交易的機率。錯誤率=(失敗交易數/交易總數)*100%。
- 不同系統對錯誤率要求不同,但一般不超過千分之五;
- 穩定性較好的系統,其錯誤率應該由超時引起,即為超時率。
三、效能常用測試工具
- Jmeter
- LoadRunner【本階段學習】
效能測試的工具有很多,目前最常用就是這兩款,我們作為效能測試初期入門掌握這兩款工具足矣!
3.1 Jmeter
Apache 公司使用 Java 平臺開發的一款測試工具
作用:效能測試、介面測試、Web測試(無GUI,GUI:graphical user interface)
優點:免費、開源、小巧
3.2 LoadRunner
HP公司使用C語言開發的一款效能負載測試工具
作用:模擬高併發負載測試、測試場景搭建、執行、監控及結果分析
優點:支援多協議、自帶強大的圖表功能、可根據需求合併需要的圖表
缺點:收費
3.3 Jmeter 和 LoadRunner 的簡單對比
Jmeter:介面測試及介面效能壓測首選
LoadRunner:Web效能測試首選
效能測試基礎知識
目標
理解什麼是效能測試
掌握效能測試的基礎分類
熟悉效能測試的常用指標
LoadRunner 11安裝
一、安裝步驟
- 解壓 - Software_HP_LoadRunner_11.00_T7177_15013.iso
- 啟動安裝程式 - setup.exe(提示:許可權-滑鼠右鍵->以管理員身份執行);
- 根據安裝提示進行配置並點選下一步操作,直到安裝完成;
- 修改註冊許可證
注意:
1). LoadRunner版本與作業系統的對應關係:
① LoadRunner 11版本推薦使用64位Windows 7旗艦版系統;
② LoadRunner 12版本推薦使用64位Windows 10專業版或教育版系統;
2). 自動安裝LoadRunner必要的依賴檔案時,如遇要求重啟電腦,則重啟後再進行安裝即可;
3). 最好新建資料夾(如:C:\HP\LoadRunner)並且避免安裝路徑中有中文和空格;
(原因:如果預設安裝路徑,則有可能導致LR自帶的機票網站會出現登入異常;)
二、安裝圖解
2.1 解壓Software_HP_LoadRunner_11.00_T7177_15013.iso後檔案
滑鼠右鍵->以管理員身份執行:setup.exe
2.2 點選安裝選項
點選:LoadRunner 完整安裝程式
2.3 確定安裝loadrunner依賴程式
點選:確定
2.4 異常【重要】
處理辦法:重啟電腦
2.5 開始安裝LoadRunner
點選:下一步
2.6 許可協議
點選:我同意、下一步
2.7 客戶資訊
處理:預設或根據需求填寫 點選:下一步
2.8 選擇安裝資料夾【重要】
處理:新建指定資料夾(避免中文及空格、避免預設路徑) 點選:下一步
2.9 確認安裝
點選:下一步
2.10 安裝中
處理:耐心等待
2.11 安裝完成
點選:完成
2.12 檢視-安裝完成檔案
點選:開始選單-HP LoadRunner
3. 註冊許可證-使用圖
3.1 修改前
說明:使用使用者型別:臨時
3.2 修改後
說明:使用使用者型別:永久
3.3 操作步驟
lf_file.rar檔案下載
- 下載lf_file.rar檔案,
- 將 lm70.dll、mlr5lprg.dll 兩個檔案複製並替換到LR11安裝目錄下的bin資料夾下
- 執行 lr刪除登錄檔.exe 檔案
- 輸入註冊資訊(New License,以下注冊碼任選其一即可)
1). Global-100的註冊碼:AEACFSJI-YJKJKJJKEJIJD-BCLBR
2). Web-10000的註冊碼:AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB
3). 最高支援6.5w個併發的註冊碼:AEACFSJI-YJKJKJJKEJIJD-BCLBR
1) lf_file.rar檔案
2) 複製替換 lm70.dll、mlr5lprg.dll(位置:lr安裝目錄下bin目錄)
3) 執行 lr刪除登錄檔.exe 檔案
4) 輸入註冊資訊(New License)
啟動註冊視窗
效能測試流程
流程
1. 效能測試需求分析
2. 效能測試計劃
3. 效能測試用例
4. 測試指令碼編寫
5. 測試場景設計
6. 測試場景執行
7. 場景執行監控
8. 執行結果分析
9. 系統效能調優
10. 效能測試報告總結
1 效能測試需求分析
需求分析就是把真正需求搞清楚
例如:
1). 公司需要對所有的功能都進行效能測試;
2). 使用者登入響應時間小於3秒鐘;
3). 系統支援20萬使用者併發訪問;
2 效能測試計劃
1). 效能測試計劃是對效能測試過程描述的重要過程;
2). 在對需求文件經過認真分析後,作為效能測試管理人員,需要編寫的第一份文件就是效能測試計劃;
3). 效能測試計劃中,需要闡述產品、專案的背景,將前期的需要測試效能需求明確,並落實到文件中。
3 效能測試用例
效能測試需求最終要體現在效能測試用例設計中,效能測試用例應結合使用者應用系統的場景,設計出相應的效能測試用例,用例應能覆蓋到測試需求。
提示:
1). 明確哪些功能業務量較大;
2). 明確系統預期的使用者規模、併發使用者數、線上使用者數;
3). 明確系統業務的處理能力要求,如:TPS、響應時間、系統資源利用率等;
TPS :(Transaction per second)事務數/秒
4). 詳細的操作步驟及場景的搭建模式
4 測試指令碼編寫
效能測試用例編寫完成以後,接下來就需要結合用例的需要,進行測試指令碼的編寫工作。
注意:
1). 協議的正確選用;
2). 指令碼保證其正確性,去除冗餘程式碼;
3). 注重編碼的規範和程式碼的編寫質量。
5 測試場景設計
測試場景設計的一個重要原則就是依據測試用例,把測試用例設計的場景展現出來。
提示:
1). 虛擬使用者數量及啟動虛擬使用者方式
2). 場景的相關設定(如:集合點)
3). 指令碼是否存在依賴關係(登入與註冊)
6 測試場景執行
測試場景執行是關係到測試結果是否準確的一個重要過程。
注意:
1). 負載的測試機是否能夠執行設定的虛擬使用者數;
2). 有沒有“預熱”的過程;
3). 有沒有模擬使用者的真實環境;
4). 效能用例執行次數是否過少。
7 場景執行監控
場景執行監控,可以在場景執行時決定要監控那些資料,便於後期分析效能測試結果。
1). 應用效能測試工具的重要目的就是可以提取到本次測試關心的資料指標內容;
2). 效能測試工具利用應用伺服器取得在負載過程中相關計數器的效能指標。
(計數器:計算、統計效能指標的工具)
注意:儘量蒐集與系統測試目標相關資訊,無關內容不必進行監控。
8 執行結果分析
效能測試執行過程中,效能測試工具蒐集相關效能測試資料,待執行完成後,這些資料會儲存到資料表或者 其他檔案中,為了定位系統效能問題,我們需要系統分析這些效能測試結果。
提示:
1). 一般使用“拐點分析”方法,利用效能計數器曲線圖上的拐點進行分析的方法。
(基本思想就是效能產生瓶頸的主要原因就是因為某個資源的使用達到了極限,此時表現為隨著壓力的增大,
系統效能卻出現急劇下降,就產生了“拐點”現象。)
9 系統效能調優
效能測試分析人員經過對結果的分析以後,有可能提出系統存在效能瓶頸。
提示:
1). 調優人員(開發人員、資料庫管理員、系統管理員、網路管理員、效能測試分析人員)相關人員對系統進行調整;
2). 驗證-效能測試人員繼續進行第二輪、第三輪...的測試,與以前的測試結果進行對比,從而確定經過調整以後的
系統效能是否有提升。
注意事項:
系統調優由易到難的先後順序如下:
1. 硬體問題;
2. 網路問題;
3. 應用伺服器、資料庫等配置問題;
4. 原始碼、資料庫指令碼問題;
5. 系統架構問題。
10 效能測試報告總結
效能測試總結要包含以下內容:
1). 效能測試需求覆蓋情況,效能測試過程中出現的問題,如何去分析、調優、解決的;
2). 測試人員、進度控制與實際執行偏差和效能測試過程中遇到各類風險是如何控制的;
3). 經過該專案效能測試後,有那些經驗和教訓等內容。
效能測試工具-LoadRunner
學習目標
1. 理解基於VuGen的指令碼錄製
2. 掌握引數化的使用方法
3. 掌握關聯的使用方法
4. 掌握檢查點的使用方法
5. 掌握事務的使用方法
6. 掌握集合點的應用
LoadRunner介紹
一、LoadRunner簡介
LoadRunner是一種工業級標準的效能負載測試工具;可以模擬上千萬使用者實施測試,並在測試時可實時檢測應用伺服器及伺服器硬體的各種資料,來查詢和確認存在的效能瓶頸;
支援多種協議,如:Web(HTTP/HTML)、Windows Sockets、FTP、ODBC、MS SQL Server等協議
二、LoadRunner組成【非常重要】
組成:
1. Virtual User Generator(VuGen)
2. Controller
3. Analysis
提示:
1. VuGen:指令碼生成器-指令碼錄製、編輯
2. Controller:控制器-設計場景、執行、監控
3. Analysis:測試結果分析
三、 理解LoadRunner的三大工具(擴充套件)
為了更好的理解LoadRunner效能測試三大工具作用,我們先回顧下不使用測試工具時,如果進行效能測試...
需求:
軟體系統支援100人同時登入
實施:
1. 找100個員工及100臺電腦,每個員工註冊賬號OK,環境OK,輸入賬號、密碼完成...滑鼠放到登入按鈕上;
2. 領導拿個大喇叭,高喊:1...2...3
3. 相關人員統計平均登入時間及登入前、登陸後的伺服器CPU、記憶體等使用情況
LoadRunner的執行原理:【重點】
1. VuGen:相當於開啟登入頁面、輸入賬號、輸入密碼、點選登入
2. Controller:手拿大喇叭的領導...
3. Analysis:相當與各個統計資料的相關人員