您好,登錄后才能下訂單哦!
1.JMeter的工作原理是什么?
向服務(wù)器提交請求;從服務(wù)器取回請求返回的結(jié)果。
2.JMeter的作用?
JMeter可以用于測試靜態(tài)或者動態(tài)資源的性能(文件、Servlets、Perl腳本、java對象、數(shù)據(jù)庫和查詢、ftp服務(wù)器或者其他的資源)。JMeter用于模擬在服務(wù)器、網(wǎng)絡(luò)或者其他對象上附加高負(fù)載以測試他們提供服務(wù)的受壓能力,或者分析他們提供的服務(wù)在不同負(fù)載條件下的總性能情況。你可以用JMeter提供的圖形化界面分析性能指標(biāo)或者在高負(fù)載情況下測試服務(wù)器/腳本/對象的行為。
3.怎樣能看到j(luò)meter提供的腳本范例?
在\JMeter\jakarta-jmeter-2.0.3\xdocs\demos目錄下。
4.怎樣設(shè)置并發(fā)用戶數(shù)?
選中可視化界面中左邊樹的Test Plan節(jié)點,單擊右鍵,選擇Add-> Thread Group,其中Number of Threads參數(shù)用來設(shè)置發(fā)送請求的用戶數(shù)目。
5.JMeter的運行指示?
Jmeter在運行時,右上角有個單選框大小的小框框,運行是該框框為綠色,運行完畢后,該框框為白色。
6.User Parameters的作用是什么?
提高腳本可用性
7.在result里會出現(xiàn)彩色字體的http response code,說明什么呢?
Http response code是http返回值,彩色字體較引人注目,可以使用戶迅速關(guān)注。象綠色的302就說明在這一步驟中,返回值取自本機的catch,而不是server。
8.怎樣計算Ramp-up period時間?
Ramp-up period是指每個請求發(fā)生的總時間間隔,單位是秒。如果Number of Threads設(shè)置為5,而Ramp-up period是10,那么每個請求之間的間隔就是10/5,也就是2秒。Ramp-up period設(shè)置為0,就是同時并發(fā)請求。
9.Get和Post的區(qū)別?
他們是http協(xié)議的2種不同實現(xiàn)方式。Get是指server從Request URL取得所需參數(shù)。從result中的request中可以看到,get可以看到參數(shù),但是post是主動向server發(fā)送參數(shù),所以一般看不到這些參數(shù)的。
10. 哪些原因可能導(dǎo)致error的產(chǎn)生?
a. Http錯誤,包括不響應(yīng),結(jié)果找不到,數(shù)據(jù)錯誤等等;
b. JMeter本身原因產(chǎn)生的錯誤。
11.為什么Aggregate Report結(jié)果中的Total值不是真正的總和?
JMeter給結(jié)果中total的定義是并不完全指總和,為了方便使用,它的值表現(xiàn)了所在列的代表值,比如min值,它的total就是所在列的最小值。下圖就是total在各列所表示的意思。
12. JMeter的Thread Number是提供多個不同用戶并發(fā)的功能么?
不是,Thread Number僅僅是指并發(fā)數(shù),如果需要實現(xiàn)多個不同用戶并發(fā),我們應(yīng)該采用其它方法,比如通過在jmeter外建立csv文件的方法來實現(xiàn)。
13. 同時并發(fā)請求時,若需要模擬不同的用戶同時向不同的server并發(fā)請求,怎樣實現(xiàn)呢?
方法很靈活,我們可以將不同的server在thread里面預(yù)先寫好。或者預(yù)先將固定的變量值寫入csv文件,這樣還可以方便修改。然后將文件添加到User Parameters。
14.User Parameter中的DUMMY是什么意思?
當(dāng)其具體內(nèi)容是${__CSVRead(${__property(user.dir)}${FILENAME},next())}時用來模擬讀文件的下一行。
15.當(dāng)測試對象在多server間跳轉(zhuǎn)時,應(yīng)該怎樣處理?
程序運行時,有些http和隱函數(shù)會攜帶另外的server IP,我們可以從他們的返回值中獲取。
16. 為何測試對象是http和https混雜出現(xiàn)?
Https是加密協(xié)議,為了安全,一般不推薦使用http,但是有些地方,使用https過于復(fù)雜或者較難實現(xiàn),會采用http協(xié)議。
17.Http和https的默認(rèn)端口是什么?
Apache server (Http)的默認(rèn)端口是80;
SSL (Https)的默認(rèn)端口是443。
18.為何在run時,有些頁面失敗,但是最后不影響結(jié)果?
原因較多,值得提及的一種是因為主流頁面與它不存在依賴關(guān)系,所以即使這樣的頁面出錯,也不會影響運行得到正常結(jié)果,但是這樣會影響到測試的結(jié)果以及分析結(jié)果。
19. 為什么腳本剛開始運行就有錯誤,其后來的腳本還可運行?
在Thread Group中有相關(guān)設(shè)置,如果選擇了continue,即使前面的腳本出現(xiàn)錯誤,整個thread仍會運行直到結(jié)束。選擇Stop Thread會結(jié)束當(dāng)前thread;選擇Stop Test則會結(jié)束全部的thread。推薦選項是Stop Thread。
20. 在Regular expression_r Extractor會看到Template的值是$1$,這個值是什么意思呢?
$1$是指取第一個()里面的值。如果Regular expression_r的數(shù)值有多個,用這種方法可以避免不必要的麻煩。
21.Regular expression_r中的(.*)是什么意思?
那是一個正則表達(dá)式(regular expression_r)?!?’等同于sql語言中的’?’,表示可有可無?!?’表示0個或多個?!?)’表示需要取值。(.*)表達(dá)任意長度的字符串。
22.在讀取Regular expression_r時要注意什么?
一定要保證所取數(shù)值的絕對唯一性。
23.怎樣才能判斷什么樣的情況需要添加Regular expression_r Extractor?
檢查Http Request中的Send Parameters,如果有某個參數(shù)是其前一個page中所沒有給出的,就要到原文件中查找,并添加Regular expression_r Extractor到其前一page的http request中。
24.在自動獲取的腳本中有時會出現(xiàn)空的http request,是什么意思呢?
是因為在獲取腳本時有些錯誤,是腳本工具原因。在run時這種錯誤不參與運行的。
25.在運行結(jié)果中為何有rate為N/A的情況出現(xiàn)?
可能因為JMeter自身問題造成,再次運行可以得到正確結(jié)果。
26.常用http錯誤代碼有哪些?
400----無法解析此請求。
403----禁止訪問:訪問被拒絕。
404----找不到文件或目錄。
405----用于訪問該頁的HTTP動作未被許可。
410----文件已刪除。
500----服務(wù)器內(nèi)部錯誤。
501----標(biāo)題值指定的配置沒有執(zhí)行。
502----Web服務(wù)器作為網(wǎng)關(guān)或代理服務(wù)器時收到無效的響應(yīng)。
27.Http request中的Send Parameters是指什么?
是指code中寫定的值和自定義變量中得到的值,就是在運行頁面時需要的參數(shù)。
28.Parameters在頁面中是不斷傳遞的么?
是的。參數(shù)再產(chǎn)生后會在頁面中一直傳遞到所需頁面。所以我們可以在動態(tài)參數(shù)產(chǎn)生時捕獲它,也可以在所需頁面的上一頁面捕獲。(但是這樣可能有錯誤,最好在產(chǎn)生頁面獲取)
29.在使用JMeter測試時,是完全模擬用戶操作么?造成的結(jié)果也和用戶操作完全相同么?
是的。JMeter完全模擬用戶操作,所以操作記錄會全部寫入DB.在運行失敗時,可能會產(chǎn)生錯誤數(shù)據(jù),這就取決于腳本檢查是否嚴(yán)謹(jǐn),否則錯誤數(shù)據(jù)也會進(jìn)入DB,給程序運行帶來很多麻煩。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。