性能測(cè)試是一種非功能測(cè)試技術(shù),用于確定系統(tǒng)參數(shù)在各種工作負(fù)載下的響應(yīng)性和穩(wěn)定性。性能測(cè)試衡量系統(tǒng)的質(zhì)量屬性,例如可擴(kuò)展性、可靠性和資源使用情況。性能測(cè)試幫助產(chǎn)品所有者確定產(chǎn)品解決方案的基準(zhǔn)。性能測(cè)試的目標(biāo)不僅是發(fā)現(xiàn)代碼中的錯(cuò)誤,而且要找出瓶頸。在性能測(cè)試中,質(zhì)量工程師使用任何可用于性能測(cè)試的工具來模擬真實(shí)的用戶場(chǎng)景。
Apache JMeter 是一個(gè)開源 Java 桌面應(yīng)用程序,旨在執(zhí)行負(fù)載測(cè)試和檢查 Web 應(yīng)用程序的功能行為。質(zhì)量工程師可以使用 JMeter 來分析和測(cè)量 Web 應(yīng)用程序或各種服務(wù)(包括 Rest API)的響應(yīng)時(shí)間。它可用于模擬服務(wù)器、網(wǎng)絡(luò)或?qū)ο笊系闹刎?fù)載,以測(cè)試其強(qiáng)度或分析不同負(fù)載類型下的整體性能。JMeter 與 JDK 5 或更高版本兼容。
此外,JMeter 通過讓您創(chuàng)建帶有斷言的測(cè)試腳本來驗(yàn)證您的應(yīng)用程序是否返回了您期望的結(jié)果,從而幫助您對(duì)應(yīng)用程序進(jìn)行回歸測(cè)試。為了獲得最大的靈活性,JMeter 允許您使用正則表達(dá)式創(chuàng)建這些斷言。請(qǐng)注意,JMeter 不是瀏覽器——它在協(xié)議級(jí)別工作。
JMeter 支持的協(xié)議包括:
HTTP、HTTPS 站點(diǎn)
網(wǎng)頁(yè)服務(wù)
通過 JDBC 驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù)
目錄 – LDAP
管理系統(tǒng)
SMTP
FTP 服務(wù)
JMeter 特點(diǎn):
它有一個(gè)簡(jiǎn)單且用戶友好的 GUI。
它獨(dú)立于平臺(tái)。在 Windows 上,可以使用 JMeter.bat 文件啟動(dòng) JMeter 測(cè)試,在 Unix/Linux 上,通過單擊 JMeter Shell Scripts 啟動(dòng)測(cè)試。
它以 XML 格式創(chuàng)建和存儲(chǔ)其測(cè)試計(jì)劃。這表明我們可以使用文本編輯器生成或創(chuàng)建測(cè)試計(jì)劃。
它是一個(gè)多線程框架,用于使用多個(gè)線程進(jìn)行并發(fā)采樣。
它有助于自動(dòng)化功能測(cè)試。
它是如何工作的?
JMeter 模擬一組用戶向目標(biāo)服務(wù)器發(fā)送請(qǐng)求,并通過表格、圖表等返回顯示目標(biāo)服務(wù)器/應(yīng)用程序性能/功能的統(tǒng)計(jì)信息(圖 1、3-5)。
【圖1 | JMeter模擬]
要使用 JMeter,必須定義測(cè)試計(jì)劃,這意味著必須指定:
要訪問的 http 或其他 URL 或要運(yùn)行的 SQL 查詢
如何存儲(chǔ)/顯示結(jié)果
運(yùn)行多少線程來創(chuàng)建所需的負(fù)載/壓力
在 JMeter 術(shù)語(yǔ)中,這些稱為線程、采樣器、偵聽器等。完整的測(cè)試計(jì)劃包含所有這些。要?jiǎng)?chuàng)建它,請(qǐng)右鍵單擊 JMeter GUI 左側(cè)窗格中的“Test Plan”并添加所需的元素(圖 2)。
【圖2 | JMeter的測(cè)試元素]
Apache JMeter 如何模擬多個(gè)用戶?
讓我們看一下網(wǎng)頁(yè)請(qǐng)求是如何從用戶的瀏覽器發(fā)送到網(wǎng)絡(luò)服務(wù)器的,以及網(wǎng)頁(yè)最終是如何顯示的。理解這個(gè)工作流程將使我們有機(jī)會(huì)想象 JMeter 如何適應(yīng)這個(gè)工作流程,以及它如何能像瀏覽器一樣做同樣的事情。
步驟 1:用戶在瀏覽器中執(zhí)行操作,即鍵入站點(diǎn)地址、單擊鏈接或填寫表單并按提交。
在 JMeter 中,這不是必需的。
第 2 步:瀏覽器創(chuàng)建 HTTP 格式的請(qǐng)求并將其發(fā)送到服務(wù)器。
在 JMeter 中,這成為一個(gè) HTTP 請(qǐng)求采樣器。HTTP 請(qǐng)求采樣器以 HTTP 格式發(fā)送請(qǐng)求。
第 3 步:Web 服務(wù)器接收 HTTP 請(qǐng)求,創(chuàng)建 HTML 響應(yīng),并將 HTML 發(fā)送回瀏覽器。
在 JMeter 中,對(duì)于服務(wù)器來說,它是相同的請(qǐng)求。
第 4 步:瀏覽器接收 HTML。
在 JMeter 中,HTTP 請(qǐng)求采樣器接收 HTML 響應(yīng)并將其記錄下來以供分析。
第 5 步:瀏覽器在屏幕上呈現(xiàn) HTML,以便用戶可以看到文本和顏色 (GUI)。
JMeter 不會(huì)像瀏覽器那樣呈現(xiàn) HTML。
那么,就 JMeter 而言,是什么促成了一次用戶事務(wù)呢?
HTTP 請(qǐng)求采樣器以 HTTP 格式發(fā)送請(qǐng)求。》 服務(wù)器接收 HTTP 請(qǐng)求,創(chuàng)建 HTML 響應(yīng)并將 HTML 發(fā)送回 HTTP 請(qǐng)求采樣器。》 HTTP 請(qǐng)求采樣器接收 HTML 響應(yīng)并記錄它以供分析。
當(dāng)我們?cè)?JMeter 測(cè)試計(jì)劃中添加一個(gè) HTTP Request Sampler 時(shí),它會(huì)存儲(chǔ)一個(gè)網(wǎng)頁(yè)調(diào)用和接收序列。我們可以將其稱為單用戶事務(wù)。一旦我們將這個(gè)告訴 JMeter,它就可以做同樣的事情 n – 次數(shù)。它還同時(shí)多次執(zhí)行此操作。
最后,JMeter 通過制作采樣器的副本并在單獨(dú)的線程中運(yùn)行它們來模擬多個(gè)用戶。
因?yàn)?JMeter 不完全是瀏覽器,所以 HTTP 請(qǐng)求采樣器使所有接收到的數(shù)據(jù)都可用于進(jìn)一步分析。View Tree Listener 用于可視化接收到的響應(yīng)。View Tree Listener 是了解發(fā)送了什么請(qǐng)求、響應(yīng)是什么以及事務(wù)結(jié)果的好方法。
為什么選擇 JMeter?
JMeter 是一個(gè)開源工具,擁有眾多虛擬用戶的支持。
腳本在 JMeter 中不是必需的,但像 Loadrunner 這樣的工具需要在 C 中編寫腳本。
與其他工具相比,它可以輕松進(jìn)行參數(shù)化和關(guān)聯(lián)。
虛擬用戶的設(shè)置不需要額外的配置,因?yàn)樗鼤?huì)在 JVM 上自動(dòng)生成 v-users。
JMeter 是跨平臺(tái)的。
【圖3 | JMeter接口]
【圖4 | 以表格形式報(bào)告]
【圖5 | 以圖形格式報(bào)告]
結(jié)論
JMeter 工具易于用于在 Web 應(yīng)用程序服務(wù)器上注入負(fù)載。開發(fā)和質(zhì)量工程師可以使用 JMeter 工具輕松模擬服務(wù)器上的繁重負(fù)載,無需為虛擬用戶進(jìn)行額外設(shè)置,無需額外的腳本編寫工作,并且可以以圖表和表格摘要的形式測(cè)量準(zhǔn)確的響應(yīng)時(shí)間。JMeter 結(jié)果圖表有助于定位瓶頸并提高 Web 服務(wù)器應(yīng)用程序的性能。質(zhì)量工程師可以通過分析 JMeter 結(jié)果圖表來識(shí)別罪魁禍?zhǔn)?RestAPI。JMeter 工具還用于執(zhí)行服務(wù)器基準(zhǔn)測(cè)試和可擴(kuò)展性測(cè)試。
審核編輯:郭婷
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9681瀏覽量
87260 -
JAVA
+關(guān)注
關(guān)注
20文章
2984瀏覽量
106813
發(fā)布評(píng)論請(qǐng)先 登錄
取樣示波器的技術(shù)原理和應(yīng)用場(chǎng)景
敏捷合成器的技術(shù)原理和應(yīng)用場(chǎng)景
GNSS模擬器用于消費(fèi)電子、導(dǎo)航芯片與定位終端測(cè)試

混合信號(hào)分析儀的原理和應(yīng)用場(chǎng)景
E2000 Speedometer測(cè)試瀏覽器性能
無線連接測(cè)試儀的技術(shù)原理和應(yīng)用場(chǎng)景
汽車?yán)走_(dá)回波發(fā)生器的技術(shù)原理和應(yīng)用場(chǎng)景
OTA測(cè)試暗箱的技術(shù)原理和應(yīng)用場(chǎng)景
多通道負(fù)載測(cè)試和性能評(píng)估?
移動(dòng)終端測(cè)試儀的技術(shù)原理和應(yīng)用場(chǎng)景
源測(cè)量單元設(shè)備的技術(shù)原理和應(yīng)用場(chǎng)景
太陽(yáng)膜測(cè)試儀的技術(shù)原理和應(yīng)用場(chǎng)景
智能IC卡測(cè)試設(shè)備的技術(shù)原理和應(yīng)用場(chǎng)景
閃存的哪些扇區(qū)可用于用戶數(shù)據(jù)存儲(chǔ)?
電池模擬器模擬測(cè)試電池充放電性能

評(píng)論