效能測試-1-原理
話說:
難度係數:★★★☆☆
建議用時:2周
目標
初步搭建一個自動化測試框架,技術選型:Jenkins+Ant+Jmeter。
1、按照場景組織各個介面,整體按照指定場景順序執行;
2、引數可注入(併發量threadsNumber、迴圈次數loop、以及各場景之間的coldDown、主機Ip、Token);
3、輸出報告按照場景輸出;
4、定期執行及郵件通知;
5、效能測試報告。
筆者前面間斷髮過3篇部落格,分別介紹了:Jmeter的入門級使用、.jmx檔案分析及Jmeter多場景傳參。都比較零碎,沒有系統化總結。今天系統化總結下,形成一個系列;並且儘可能詳細,便於其他童鞋共同交流學習。
說下這三個工具的作用:
Jmeter——拋開壓測不談,這個工具和Postman類似,都可以用來做介面測試;Jmeter主要可以用來模擬高併發,這是最大的特點。比如:我想知道這個branch_center/video_list這個介面的瓶頸在哪裡?能承受多少訪問量?用JMeter可以很輕鬆的做到這一點。
在前後端分離架構中,介面組織順序一般按照場景組織或者按照服務組織….按照業務場景組織,目的是檢視各核心業務場景的併發訪問情況,eg:首頁視訊列表這個核心業務場景,能承擔100個併發量,在150個併發的時候,Error率為3%;按照服務組織介面,目的是為各服務後端開發提供一定的標準:eg:首頁各模組列表介面響應時間要在200ms之內……
所以,我們用Jmeter要做這幾件事:
1)按照核心業務場景,把介面組織起來。一個TestPlan下面,組織多個ThreadsGroup(業務場景),每個ThreadsGroup中放置該業務場景下多個介面;
2)各種引數寫活,為Jenkins傳參伏筆;
3)生成完備的.jmx檔案,上傳到Git;
4)其他。
來,感性認識一下下:
Ant——就是一個構建工具,用它來驅動.jmx檔案,為什麼要用它驅動?類似的驅動還有:Maven、Gradle等,ant是輕量化的,網上一般都是這麼組合的,筆者也就“跟風”嘍。最終的目的是自動化,不可能手動點選Jmeter的啟動按鈕,而是通過Jenkins的圖形化介面去“構建”一下,這個構建背後的動作,其實就是一個Ant命令驅動.jmx檔案。
在下載的Jmeter裡面,有個extras目錄,裡面直接執行Ant即可。(前提是已經安裝Ant),可見官方預設也是Jmeter和Ant整合,Ant去編譯build.xml檔案,按照配置檔案去驅動響應的.jmx檔案,生成一個.jtl檔案,然後在主動把.jtl轉換為.html網頁,可以直接開啟,就是報告。
所以,對於Ant來說,我們要做的事情:
1)搞定build.xml;
1、引數可注入;
2、指定執行的.jmx檔案;
3、指定輸出報告
2)打通Ant和Jmeter;
我們來看一下最原始的Jmeter中的extras資料夾中的Ant命令如何運作:
dzjdeMacBook-Air:extras dzj$ ls
GrafanaJMeterTemplate.json collapse.png remote.bsh
Test.html execcode.bsh schematic.cmd
Test.jmx expand.png schematic.sh
Test.jtl jmeter-results-detail-report_21.xsl schematic.xml
addons.txt jmeter-results-report_21.xsl schematic.xsl
addons.xml printvars.bsh startup.bsh
ant-jmeter-1.1.1.jar proxycert.cmd
build.xml proxycert.sh
dzjdeMacBook-Air:extras dzj$
在Jmeter根目錄下的extras目錄下,直接執行ant命令,結果如下:
dzjdeMacBook-Air:extras dzj$ ant
Buildfile: /Applications/apache-jmeter-4.0/extras/build.xml
run:
[echo] funcMode = false
[delete] Deleting: /Applications/apache-jmeter-4.0/extras/Test.html
[jmeter] Executing test plan: /Applications/apache-jmeter-4.0/extras/Test.jmx ==> /Applications/apache-jmeter-4.0/extras/Test.jtl
[jmeter] Creating summariser <summary>
[jmeter] Created the tree successfully using /Applications/apache-jmeter-4.0/extras/Test.jmx
[jmeter] Starting the test @ Tue May 22 12:42:45 CST 2018 (1526964165219)
[jmeter] Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445
[jmeter] summary = 30 in 00:00:03 = 11.2/s Avg: 208 Min: 103 Max: 345 Err: 2 (6.67%)
[jmeter] Tidying up ... @ Tue May 22 12:42:48 CST 2018 (1526964168425)
[jmeter] ... end of run
_message_xalan:
xslt-report:
[xslt] Processing /Applications/apache-jmeter-4.0/extras/Test.jtl to /Applications/apache-jmeter-4.0/extras/Test.html
[xslt] Loading stylesheet /Applications/apache-jmeter-4.0/extras/jmeter-results-detail-report_21.xsl
verify-images:
copy-images:
report:
[echo] Report generated at 2018/05/22 12:42
all:
BUILD SUCCESSFUL
Total time: 7 seconds
dzjdeMacBook-Air:extras dzj$
open Test.html
Jenkins——頭像是個老爺爺。這個主要是用來構建的。我們會把所有的專案分門別類的劃分出來,這樣每次啟動專案“構建”一次就好。“構建”背後的操作是:構建就是用相應的構建工具去驅動對應的指令碼;比如:Gradle專案當構建的時候,驅動的就是gradle指令碼檔案,然後在該指令碼檔案中找對應的東西,就重新啟動了專案,而不用手動進入bin下面去驅動命令;再比如:如果Jenkins指定Ant驅動,那麼構建的時候,就去找的是build.xml配置檔案,然後根據build.xml中指定的.jmx,去載入所有的Samples,然後輸出日誌到.jtl格式的檔案中,最後Jenkins把.jtl檔案轉換為一個Performance報表,一目瞭然。
對於Jenkins,我們要做的事:
1、打通Jenkins與Ant;
2、打通Jenkins傳參與Ant與Jmeter;
3、搞定輸出測試報告樣式;
4、搞清楚Ant直接驅動與Jenkins驅動區別
其他.
這個應該不陌生,來來,看下效果:
這裡一旦構建的話,就去驅動build.xml拉。
專案都是放在Git的,拉下來,然後提交上去,Jenkins可以是單擊,這裡是叢集。
接下來,我們將一步一步的把這個系列總結下來。讓我們拭目以待吧!
再會!
相關推薦
效能測試-1-原理
話說: 難度係數:★★★☆☆ 建議用時:2周 目標 初步搭建一個自動化測試框架,技術選型:Jenkins+Ant+Jmeter。 1、按照場景組織各個介面,整體按照指定場景順序執行; 2、引數可注入(併發量threadsNumber、迴圈次數lo
Locust效能測試 Locust效能測試1-環境準備與基本使用 Locust效能測試2-先登入場景案例 Locust效能測試3-no-web模式和csv報告儲存 Locust效能測試4-引數關聯 Locust效能測試5-引數化批量註冊
https://www.cnblogs.com/yoyoketang/p/9638151.html https://www.cnblogs.com/yoyoketang/p/9642242.html https://www.cnblogs.com/yoyoketang/p/9648100.html ht
RabbitMQ客戶端引數效能測試(1)
最近我在公司上線了rabbitmq,替換了原來阿里出的rocketmq(別說我黑阿里的東西,這玩意真的都是坑),我並不想告訴你rabbitmq安裝過程是怎麼樣的,去看官網就知道,戳這裡 看看網上說rabbitmq效率多高多高,但是怎麼測試也只有15000Qps,還是用golang的客戶端來測試訪問的中間沒有
效能測試1-分類和定義
效能測試按被測物件來分類會有(服務端、中介軟體、客戶端等) 本文章重點對服務端、系統的效能測試進行討論。 常會別人說到效能測試、負載測試、壓力測試、併發測試,很多人都是混合使用,或者一會叫壓力測試,一會叫併發測試。這些概念除了非測試人員分不清楚,甚至許多專業測試人員也對這些名詞也很模糊。關於
【蟲師--系列08】效能測試知多少---效能測試工具原理與架構
來自:http://www.cnblogs.com/fnng/archive/2012/07/31/2617546.html 作者:蟲師 在效能測試的學習過程中,堅持思想與工具(分開)並行,當前面世面上的效能測試書籍大多把理論與loadrunner融為一體講解
golang 效能測試 (1)
本文介紹golang 如何做基準效能測試。 編寫完程式碼除了跑必要的單元測試外,還需要考慮程式碼跑起來的效能如何。效能的衡量其實就是程式執行時候程序的記憶體分配,CPU消耗情況。 golang 語言在提供了功能測試的基礎上,提供了豐富的效能測試功能。 SHOW CODE 首先,從一個例子來講起。 隨便寫一個簡
golang 效能測試 (1) 基準效能測試
本文介紹golang 如何做基準效能測試。 編寫完程式碼除了跑必要的單元測試外,還需要考慮程式碼跑起來的效能如何。效能的衡量其實就是程式執行時候程序的記憶體分配,CPU消耗情況。 golang 語言在提供了功能測試的基礎上,提供了豐富的效能測試功能。 SHOW CODE 首先,從一個例子來講起。 隨便寫一個簡
cglib、orika、spring等bean copy工具效能測試和原理分析
# 簡介 在實際專案中,考慮到不同的資料使用者,我們經常要處理 VO、DTO、Entity、DO 等物件的轉換,如果手動編寫 setter/getter 方法一個個賦值,將非常繁瑣且難維護。通常情況下,這類轉換都是同名屬性的轉換(型別可以不同),我們更多地會使用 bean copy 工具,例如 Apache
【測試報告】效能測試報告模版1
目錄 一、文件目錄 二、模版下載 三、文件內容 四、測試環境軟硬體配置資料獲取 一、文件目錄 二、模版下載 我的資源下載地址:【測試報告】效能測試報告模版1 三、文件內容 四
效能測試通用原則【3-1;2-5-10;80/20】
如果設計說明書中沒有給出明確的標準,那麼可以參考國外的業內公認的一些標準: 3+1原則(指量、全、深+快) 主要對效能測試設計、測試執行以及資料分析。 量:包括業務量(業務型別),負荷量(系統處理的流量),配置量(軟體配置和硬體配置),使用者量(靜態使用者和動態使用者)
jmeter介面效能測試(1)----簡單的介面測試入門
首先來看一下介面的資訊:host:http://api.jhled888.comuri: /cgi-bin/get.json 介面請求方式: GET 入參:appid: jhyjlhxa03q4f2qlmfappsecret:eb28066907b14310a9401c0586c840
效能測試初級篇1(理論知識)
第一章 效能測試基礎 1、為什麼做效能測試 找出效能的瓶頸,達到軟體的質量目標,給使用者帶來良好的體驗 2、效能測試流程 效能測試需求分析---效能測試計劃---效能測試用例---效能測試平臺搭建---效能測試指令碼開發---效能測試場景設定---效能測試執行---效能測試結果分析(找
raid0+1和raid5的效能測試結果
網上關於效能比較和原理的文章很多,這裡不再過多解釋,只寫測試結果。測試目的:4塊物理硬碟,使用IBMraid卡做raid。4塊做raid 5和兩塊盤分別raid 1的讀效能比較。由於寫會往本地盤寫入資料,暫時沒有測試工具:oracle orign 4塊物理盤做 raid 5
esrally效能測試原理
1. 前提 esrally的執行不會影響當前系統elasticsearch的一切正常業務。 2. 效能測試原理 大致步驟概括如下: 第一步:安裝esrally,耗時會半小時到1個小時之間。 主要完成esrally必要元件安裝,更多的是elast
LoadRunner:Controller及結果分析 一、效能測試概述 1、關於效能測試目標: ①TPS ②一定併發使用者數下功能點的響應時間 ③一定響應時間內功能點的併發使用者數 效能測試不是
一、效能測試概述 1、關於效能測試目標: ①TPS ②一定併發使用者數下功能點的響應時間 ③一定響應時間內功能點的併發使用者數 效能測試不是達到既定目標即可,還要測試軟體功能能夠達到的極限值。 2、關於效能測試的場景: 在指令碼錄製除錯完成後,需要進行場景的設定,進而對指令碼進行壓測,分析壓測的結果。 效能
通過python呼叫adb命令對app進行效能測試(6 -1)
上篇文章中講述了adb是什麼,以及常用的命令,下面我們來看下通過adb來檢視手機裝置中的效能引數,首先要檢視apk的包名和預設Activity的名字有好幾種方式,下面介紹2種 第一種 1 開啟cmd 切換目錄D:\tool\android-sdk_r24.
效能測試瓶頸分析(1)
所謂效能瓶頸是限制系統性能的關鍵因素 1、硬體上的效能瓶頸 包括:CPU、記憶體(RAM)、磁碟I/O 例如:在需求分析和概要設計師。確定資料庫伺服器需要6個CPU、12G記憶體,但是測試時,發現CPU的持續利用率在95%以上,這時可認為在硬體上出現效能瓶頸
1.用Jemeter 做UDP 效能測試
1.下載Jemeter 5.0 啟動jemeter.bat 2. .. 新增測試計劃TestPlan ,建立執行緒組Thread Group 3.下載jemeter plugin 外掛 https://jmeter-plugins.org/install/I
jmeter-效能測試學習筆記1—結果分析
轉載地址:https://blog.csdn.net/x83853684/article/details/80403190在網上收集了很多jmeter工具做效能測試,但還是不怎麼了解去分析效能測試的結果,然後自己用現在做的專案做了一個簡單的的壓力測試,就是同一時間多個使用者進
evpp效能測試(1): 與muduo進行吞吐量測試
By zieckey 簡介 測試物件 測試環境 Linux CentOS 6.2, 2.6.32-220.7.1.el6.x86_64 Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz gcc