【性能測試】性能測試各知識第1篇:性能測試大綱【附代碼文檔】

来源:https://www.cnblogs.com/yinuo112/p/18064427
-Advertisement-
Play Games

1、KingBaseES 人大金倉資料庫 是多資料庫、多模式。2、public 為預設模式,因此,預設情況下,我們可以在 public 模式下新建表即可。總的來說,使用 CYQ.Data 框架操作 KingBaseES 資料庫可以簡化開發流程,提高開發效率,同時也增強了系統的穩定性和安全性 ...


性能測試完整教程(附代碼資料)主要內容講述:性能測試大綱。。。。。。。。。。。。。。

全套筆記資料代碼移步: 前往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. 負載測試
  2. 壓力測試
  3. 併發測試
  4. 穩定性測試

性能測試分類還有其他類型比如:配置測試、容量測試等,前期我們先熟悉以上常用分類

1.1 負載測試 【重點】

通過逐步增加系統負載,測試系統性能的變化,並最終確定在滿足系統的性能指標情況下,系統所能夠承受的最大負載量的測試。(負載:向伺服器發送請求)

負載測試是通過逐步加壓的方式來確定系統的處理能力、確定系統能夠承受的各項閥值。 例如:逐步加壓,從而得到“響應時間不超過3秒”、“伺服器CPU平均利用率低於80%”等指標的閥值。

*閥值:關註的某一具體數值(比如:登錄小於3秒、用戶數2000、業務成功率100%)

1.2 壓力測試 【重點】

通過逐步增加系統負載,測試系統性能的變化,並最終確定在什麼負載條件下系統性能處於【失效】狀態。

  1. 壓力測試:是逐步增加負載,使系統某些資源達到飽和甚至失效。(如:測試系統最多支持同時處理多少請求,超過此數數量系統癱瘓)

  2. 負載測試:是逐步增加負載,確定在滿足性能指標情況下,系統能承受的最大負載測試。(如:登錄3秒內,最多支持多少用戶同時登錄;如超出此數量,可能需要5秒鐘或更多時間才能登錄成功)

1.3 併發測試 【重點】

概念:併發測試就是【多用戶】同時訪問【同一個應用】。

目的:測試應用伺服器指定功能的同時訪問數是否達到預期結果。

*併發測試需要配合集合點來使用(集合點:我們在介面階段已瞭解)

1.4 穩定性測試【理解】

通過給系統載入一定的業務壓力(如:CPU資源在70%~90%的使用率)的情況下,運行一段時間,檢查系統是否穩定。

*通常穩定性測試,我們測試一段時間即可;(如:24小時、3×24小時或7×24小時來模擬長時間運行)

二、性能測試常用指標【重要】

一些經過運算得出的結果,用來衡量某種操作性能的統稱;比如:錯誤率0.5%

性能測試常用指標:

  1. 吞吐量
  2. 併發數
  3. 響應時間
  4. 點擊數
  5. 資源利用率
  6. 錯誤率

2.1 吞吐量

吞吐量(Throughput):指的是單位時間內處理的客戶端請求數量,直接體現軟體系統的性能承載能力。 通常情況下,吞吐量用“請求數/秒”或者“頁面數/分鐘”來衡量。

從業務角度來看,吞吐量也可以用“業務數/小時”、“業務數/天”、“訪問人數/天”、“頁面訪問量/天”來衡量。

從網路角度來看,還可以用“位元組數/小時”、“位元組數/天”等來衡量網路的流量。

2.2 併發數

併發(Concurrency):它最簡單的描述就是指多個同時發生的業務操作。(例如,100個用戶同時單擊登錄頁面的“登錄”按鈕操作。)

併發性測試描述的是多個客戶端同時向伺服器發出請求,考察伺服器端承受能力的一種性能測試方式。

2.3 響應時間

響應時間指用戶從客戶端發起一個請求開始,到客戶端接收到從伺服器端返回結果整個過程所耗費的時間

2.4 點擊數

點擊數是衡量Web伺服器處理能力的一個重要指標。它的統計是客戶端向Web伺服器發了多少次HTTP請求計算的。

  1. 點擊數不是通常一般人認為的訪問一個頁面就是1次點擊數,點擊數是該頁麵包含的元素(如:圖片、鏈接、框架等)向Web伺服器發出的請求數數量。
  2. 通常我們也用每秒點擊次數(Hits per Second)指標來衡量Web伺服器的處理能力。

2.5 資源利用率

是指系統各種資源的使用情況,一般用“資源的使用量/總的資源可用量×100%”形成資源利用率的數據。

通常,沒有特殊需求的話:

  1. 建議CPU使用率不高於80%(±5);
  2. 記憶體使用率不高於80%;
  3. 磁碟讀寫時間比不高於90%。

2.6 錯誤率

錯誤率指系統在負載情況下,失敗交易的概率。錯誤率=(失敗交易數/交易總數)*100%。

  1. 不同系統對錯誤率要求不同,但一般不超過千分之五;
  2. 穩定性較好的系統,其錯誤率應該由超時引起,即為超時率。

三、性能常用測試工具

  1. Jmeter
  2. 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安裝

一、安裝步驟

  1. 解壓 - Software_HP_LoadRunner_11.00_T7177_15013.iso
  2. 啟動安裝程式 - setup.exe(提示:許可權-滑鼠右鍵->以管理員身份運行);
  3. 根據安裝提示進行配置並點擊下一步操作,直到安裝完成;
  4. 修改註冊許可證

註意:

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後文件

loadrunner

滑鼠右鍵->以管理員身份運行:setup.exe

2.2 點擊安裝選項

loadrunner

點擊:LoadRunner 完整安裝程式

2.3 確定安裝loadrunner依賴程式

loadrunner

點擊:確定

2.4 異常【重要】

loadrunner

處理辦法:重啟電腦

2.5 開始安裝LoadRunner

loadrunner

點擊:下一步

2.6 許可協議

loadrunner

點擊:我同意、下一步

2.7 客戶信息

loadrunner

處理:預設或根據需求填寫 點擊:下一步

2.8 選擇安裝文件夾【重要】

loadrunner

處理:新建指定文件夾(避免中文及空格、避免預設路徑) 點擊:下一步

2.9 確認安裝

loadrunner

點擊:下一步

2.10 安裝中

loadrunner

處理:耐心等待

2.11 安裝完成

loadrunner

點擊:完成

2.12 查看-安裝完成文件

loadrunner

點擊:開始菜單-HP LoadRunner

3. 註冊許可證-使用圖

3.1 修改前

loadrunner

說明:使用用戶類型:臨時

3.2 修改後

loadrunner

說明:使用用戶類型:永久

3.3 操作步驟

lf_file.rar文件下載

  1. 下載lf_file.rar文件,

  2. 將 lm70.dll、mlr5lprg.dll 兩個文件複製並替換到LR11安裝目錄下的bin文件夾下

  3. 運行 lr刪除註冊表.exe 文件

  4. 輸入註冊信息(New License,以下註冊碼任選其一即可)

    1). Global-100的註冊碼:AEACFSJI-YJKJKJJKEJIJD-BCLBR

    2). Web-10000的註冊碼:AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB

    3). 最高支持6.5w個併發的註冊碼:AEACFSJI-YJKJKJJKEJIJD-BCLBR

1) lf_file.rar文件

loadrunner

2) 複製替換 lm70.dll、mlr5lprg.dll(位置:lr安裝目錄下bin目錄)

loadrunner

3) 運行 lr刪除註冊表.exe 文件

loadrunner

4) 輸入註冊信息(New License)

啟動註冊視窗

loadrunner

loadrunner

loadrunner

性能測試流程

流程

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:相當與各個統計數據的相關人員

未完待續, 同學們請等待下一期

全套筆記資料代碼移步: 前往gitee倉庫查看

感興趣的小伙伴可以自取哦,歡迎大家點贊轉發~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言:配合狂神老師的教學視頻使用效果更佳: https://www.bilibili.com/video/BV1NE411Q7Nx/?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click&vd_source ...
  • 大家好,我是你們的老伙計秀才!今天帶來的是[深入淺出Java多線程]系列的第十篇內容:CAS。大家覺得有用請點贊,喜歡請關註!秀才在此謝過大家了!!! ...
  • 在Word中,表格是一個強大的工具,它可以幫助你更好地組織、呈現和分析信息。本文將介紹如何使用Python在Word中創建表格並填入數據、圖片,以及設置表格樣式等。 Python Word庫: 要使用Python在Word中創建或操作表格,需要先將Spire.Doc for Python這個第三方庫 ...
  • 在 Java 的java.util.concurrent包中,除了提供底層鎖、併發同步等工具類以外,還提供了一組原子操作類,大多以Atomic開頭,他們位於java.util.concurrent.atomic包下。 ...
  • 本文將從leader處理器入手,詳細分析node的增刪改查流程及監聽器原理。 回顧數據讀寫流程 leader ZookeeperServer.processPacket封裝Request並提交給業務處理器 LeaderRequestProcessor做本地事務升級 PrepRequestProces ...
  • 先看效果圖; 再說一下思路: 打開設計器,屬性裡面找到"顏色",設置為漸變色,將漸變色設置為9段,分別是,紅橙黃綠青藍紫白黑(Red,Orange,Yellow,Lime,Cyan,Blue,Magenta,White,Black); 然後移動滑塊兒,比如在紅色和橙色和黃色之間移動的時候,會發現顏色 ...
  • 概述:在WPF中,Command是一種優秀的機制,通過它,我們能夠將用戶界面操作與業務邏輯分離,提高代碼的可維護性和可重用性。通過自定義ICommand介面的實現(如RelayCommand),我們能夠輕鬆創建併在XAML中綁定命令,實現清晰的MVVM架構。這種模式使得應用程式的開發更加靈活,同時提 ...
  • .NET Framework 和 .NET Core 2.0 及更低版本中由 HttpClient 使用的預設消息處理程式為HttpClientHandler。 從 .NET Core 2.1 開始,類SocketsHttpHandler提供了更高級別的 HTTP 網路類(例如HttpClient ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...