高频JMeter软件测试面试题
近期,有很多粉絲在催更關(guān)于Jmeter的面試題,索性抽空整理了一波,以下是一些高頻JMeter面試題,拿走不謝~
一、JMeter的工作原理
JMeter就像一群將請(qǐng)求發(fā)送到目標(biāo)服務(wù)器的用戶一樣,它收集來自目標(biāo)服務(wù)器的響應(yīng)以及其他統(tǒng)計(jì)數(shù)據(jù),這些統(tǒng)計(jì)數(shù)據(jù)通過圖形或表格顯示應(yīng)用程序或服務(wù)器的性能。
二、用JMeter怎么做接口測(cè)試的
1、根據(jù)開發(fā)提供接口文檔,編寫接口測(cè)試用例
2、利用JMeter做接口測(cè)試,添加線程組和HTTP請(qǐng)求,在HTTP請(qǐng)求中,添加對(duì)應(yīng)的ip,port,url,請(qǐng)求參數(shù)等
3、添加響應(yīng)斷言
4、添加查看結(jié)果樹
5、執(zhí)行用例
6、查看結(jié)果,驗(yàn)證接口返回與預(yù)期是否一致
三、JMeter是怎么實(shí)現(xiàn)接口之間關(guān)聯(lián)的
有兩種方式,即正則表達(dá)式提取器和json提取器,比如說我們要獲取一個(gè)Token,可以把獲取到的Token值賦予一個(gè)變量,在下一個(gè)接口調(diào)用這個(gè)變量即可,如果需要提取的文本是頁(yè)面上某元素的屬性值,建議使用json提取器,如果需要提取的文本在頁(yè)面上的位置不固定,或者不是元素的屬性,建議使用正則表達(dá)式提取器
四、性能測(cè)試流程
主要分五個(gè)階段:
1、需求調(diào)研
進(jìn)行需求調(diào)研和需求分析,輸出性能測(cè)試需求表和性能測(cè)試計(jì)劃書
2、測(cè)試準(zhǔn)備
構(gòu)建測(cè)試模型,制定測(cè)試方案,設(shè)計(jì)性能測(cè)試案例,準(zhǔn)備壓測(cè)的數(shù)據(jù)和腳本,輸出性能測(cè)試方案和測(cè)試用例文檔
3、用例執(zhí)行
執(zhí)行測(cè)試用例,記錄性能測(cè)試結(jié)果,做好性能測(cè)試的監(jiān)控,對(duì)測(cè)試結(jié)果進(jìn)行分析,輸出性能測(cè)試的執(zhí)行日志
4、測(cè)試報(bào)告編寫
編寫性能測(cè)試報(bào)告,包含測(cè)試結(jié)果,出現(xiàn)的缺陷和問題,結(jié)果分析和性能測(cè)試的結(jié)論,輸出性能測(cè)試分析報(bào)告
5、測(cè)試總結(jié)
對(duì)本次壓測(cè)過程進(jìn)行總結(jié)和復(fù)盤
五、JMeter中如何設(shè)置斷言
鼠標(biāo)右擊請(qǐng)求---斷言---響應(yīng)斷言---響應(yīng)斷言,輸入要檢查比對(duì)的項(xiàng),設(shè)置好斷言后,執(zhí)行接口用例,查看結(jié)果樹,如果通過,不會(huì)有任何報(bào)錯(cuò)提示,如果斷言失敗,就會(huì)有紅色報(bào)錯(cuò)。
如果接口返回的數(shù)據(jù)是Json格式的,也可以添加Json斷言.
六、JMeter添加http請(qǐng)求默認(rèn)值元件的作用
相當(dāng)于給其范圍內(nèi)的所有http請(qǐng)求取樣器都設(shè)置了默認(rèn)值,比如協(xié)議,主機(jī)地址、端口、編碼等,將這些參數(shù)統(tǒng)一管理,減少了接口的維護(hù)成本,取值的順序(優(yōu)先級(jí))是:
HTTP 請(qǐng)求本身設(shè)置的值
HTTP 請(qǐng)求下的 HTTP 請(qǐng)求默認(rèn)值設(shè)置的值
線程組下的 HTTP 請(qǐng)求默認(rèn)值設(shè)置的值
七、JMeter參數(shù)化的方式有哪些?
主要有4種方式:
1、CSV Data Set Config
在配置元件中添加,適合場(chǎng)景參數(shù)范圍較大的場(chǎng)景,方便用戶隨時(shí)修改參數(shù)數(shù)據(jù),使用較多的就是參數(shù)化用戶名和密碼的場(chǎng)景
2、函數(shù)助手
是Jmeter自帶的函數(shù),適合生成隨機(jī)數(shù)的場(chǎng)景,例如生成隨機(jī)字符串,隨機(jī)日期,隨機(jī)數(shù)字等
3、用戶自定義變量
在配置元件中添加,適用于在測(cè)試計(jì)劃中參數(shù)不經(jīng)常變化的場(chǎng)景,例如設(shè)置host、端口號(hào)、url等
4、用戶參數(shù)
在前置處理器中添加,適用于參數(shù)取值范圍很小的場(chǎng)景,一般會(huì)將登錄的用戶賬號(hào)和密碼作為用戶參數(shù)
八、JMeter常用斷言方法有哪些?
主要有四種:
1、響應(yīng)斷言(Response Assertion)
響應(yīng)斷言是最常用的一種斷言方法,主要是對(duì)響應(yīng)結(jié)果中的文本內(nèi)容進(jìn)行斷言,比如響應(yīng)結(jié)果是否包含指定的值,或者是否等于指定的值。
響應(yīng)斷言可以適用各種返回類型的響應(yīng)結(jié)果,如Test、html、application/json、application/xml等
2、JSON斷言
它一般用于斷言某個(gè)字段值是否等于指定的值。
JSON斷言只能針對(duì)響應(yīng)結(jié)果為applicaton/json格式的進(jìn)行斷言操作,如果是其他類型(如:Test、xml),則無法使用這種方式
3、斷言持續(xù)時(shí)間(Duration Assertion)
通常用于做性能測(cè)試,一般用于檢查HTTP請(qǐng)求的響應(yīng)時(shí)間是否超過預(yù)期值
4、beanshell 斷言
使用BeanShell腳本來執(zhí)行斷言檢查,可以用于更復(fù)雜的個(gè)性化需求,使用更靈活,功能更強(qiáng)大,但是要能夠熟練使用beanshell腳本。
九、JMeter測(cè)試元件的執(zhí)行順序
配置元件 -> 前置處理器 -> 計(jì)時(shí)器 -> 取樣器 -> 后置處理器 -> 斷言 -> 監(jiān)聽器
十、如何減少JMeter的資源需求
1、使用非GUI模式進(jìn)行測(cè)試,例如jmeter -n -t test.jmx -l test.jtl
2、使用盡可能少的監(jiān)聽器
3、不要在負(fù)載測(cè)試期間使用“查看結(jié)果樹”或“在表中查看結(jié)果”監(jiān)聽器,僅在腳本編寫階段使用它們來調(diào)試腳本
4、在循環(huán)中對(duì)于相似的請(qǐng)求,最好使用同一個(gè)采樣器,結(jié)合CSV Data Set Config來改變樣本,而不是使用多個(gè)相似的取樣器
5、不要使用功能模式
6、使用CSV輸出而不是XML
7、僅保存需要的數(shù)據(jù)
8、使用盡可能少的斷言
9、使用性能最佳的腳本語(yǔ)言
我是程序員馨馨,全網(wǎng)ID唯一,『在看』、『點(diǎn)贊』、『轉(zhuǎn)發(fā)』、『關(guān)注』就是最好的鼓勵(lì)和認(rèn)可,期待認(rèn)識(shí)優(yōu)秀的你~
0人點(diǎn)贊
軟件測(cè)試相關(guān)
總結(jié)
以上是生活随笔為你收集整理的高频JMeter软件测试面试题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 函数思维导图
- 下一篇: MySQL函数 思维导图