高頻JMeter軟件測(cè)試面試題

近期,有很多粉絲在催更關(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è)變量即可,如果需要提取的文本是頁面上某元素的屬性值,建議使用json提取器,如果需要提取的文本在頁面上的位置不固定,或者不是元素的屬性,建議使用正則表達(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、使用性能最佳的腳本語言

我是程序員馨馨,全網(wǎng)ID唯一,『在看』、『點(diǎn)贊』、『轉(zhuǎn)發(fā)』、『關(guān)注』就是最好的鼓勵(lì)和認(rèn)可,期待認(rèn)識(shí)優(yōu)秀的你~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容