性能測試常用知識彙總1

1、 Loadrunner與jmeter區別?
(1) 費用:Loadrunner是商用的需要花錢;jmeter是開源的不需要花錢
(2) 各自優勢:
a) Loadrunner:操作簡單,錄製功能強大;自動關聯能很好
b) Jmeter:腳本配置功能強大
2、 什麼是關聯?
本質:從上一次請求的結果中取出想要的數據,存儲到變量中,
在下一個請求中使用這個變量作爲測試數據,進行請求
例如:登陸的認證信息,登陸後生成session信息。每次登陸的信息不一樣session也不一樣。在lr中第一錄製腳本的session_id是寫死的,當回放的時候重新登陸相同的用戶產生的session_id的值與錄製時不同,後面的操作都無法執行。通過關聯將每次登陸後的seeion信息替換到後面用到的地方
Jmeter實現關聯使用什麼組件:正則提取器
lr實現關聯:自動關聯、手動關聯
(1) 自動關聯:至少要有兩次請求中有相同的數據,用自動關聯,工具可以幫助自動識別
(2) 手動關聯:沒有多次請求中使用相同數據,自動關聯不了,(只有一個請求或相應)
3、 爲什麼要參數化?
(1) 使用相同的數據訪問系統可能會從緩存中讀取數據;
爲了防止被系統緩存命中大部分測試數據,我們需要使用不同的測試數據來模擬真實的場景進行壓力測試(jmeter的參數化用count)
任何大一些的系統都會有緩存,緩存存儲在內存中的居多,數據庫的緩存存儲在數據庫緩存區中
(2) 系統要求字段是唯一的,如用戶id
4、 緩存的好處?
從緩存中讀取數據速度快
5、 性能測試環境怎麼建立?
最好的環境:線上環境,(從沒有上過線的自動可以之間使用)
上線了還能用嗎?可以用全鏈路壓測
搭建測試環境:建議1:1 ,沒有也可以等比縮放,
6、 Loadrunner的三個組件?
Virtual user generator:編寫lr腳本的組件,單線程
Controller:複雜壓測場景的執行,多線程或者多進程
Analysis:報告生成器
7、 http的事務是什麼?
(1) 客戶端發出了一個請求包,發給服務端,
(2) 服務端收到了請求之後,根據請求的內容,內部進行了計算和取數據的操作後,給客戶端返回一個響應包
(3) 客戶端接收到響應包解析並展示到瀏覽器中
8、 請求包和響應包的結構的結構是什麼?
(1) 請求包的結構:
i. 請求頭(request header):請求數據的輔助說明信息
ii. 請求主體(request body):可以爲空或不爲空,
(2) 響應包的結構:
i. 響應頭(response header):響應數據的輔助說明信息
ii. 響應主體(response body):可以爲空或不爲空,
9、 HTTP常用的各個狀態返回值及含義
1XX:臨時的響應
2xx:成功
3xx:重定向
4xx:客戶端錯誤
5xx:服務器中出現錯誤
10、 Lr代碼說明:
Action()
{
web_add_auto_header(“DNT”, //頭信息
“1”);
web_url(“index.htm”, //get請求
“URL=http://127.0.0.1:1080/WebTours/index.htm”,
“Resource=0”, //Resource只有兩個值 0 和1,0表示網頁,1表示資源
“RecContentType=text/html”, //表示網頁的資源類型
“Referer=”, //從那個網頁跳轉到當前網頁的,一般用在防盜鏈
“Snapshot=t1.inf”, //截圖
“Mode=HTML”, //錄製模式,Mode只有兩個值URL、HTML(錄製腳本比較簡潔) ,
//URL用在動態生成的js,
EXTRARES, //表示每行都是靜態的資源,性能測試時如果是動靜分離時,可以刪除掉,
“Url=…/favicon.ico”, “Referer=”, ENDITEM,
LAST);
return 0;
}
11、 lr腳本中爲什麼插入事務?
爲了獲取某一操作的響應時間,正常錄製好的腳本是不能獲取業務的響應時間的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章