使用者訪問某個**或軟體,一般不會不停地做個各種操作,例如一次查詢,使用者需要時間檢視查詢的結果是否是自己想要的。例如一次訂單提交,使用者需要時間核對自己填寫的資訊是否正確等。
也就是說使用者在做某些操作時,是會有停留時間的,我把這個時間叫思考時間。但利用**去執行的時候是沒有時間的,當然,指令碼執行本身是需要時間的,但比起人的思考時間要小很多。這也是我們為什麼要用軟體來代替人的某些工作。
但有時候,我們在做效能測試時,為了更真實的模擬使用者的操作,需要給**加入思考時間。來看看在loadrunner是如何設定思考時間的。
開啟loadrunner 的virtual user generator
選單欄:vuser —run-time settings…,切換到thark time選項
好吧!為了更好的理解這個介面上設定,現在我們通過乙個指令碼來分析。
action(
)else
lr_end_transaction(
"註冊"
,lr_auto)
;//事務結束
return0;
}
指令碼有點長,但不要被嚇到了,重要的幾句我已經加了注釋。你只用關注那幾行就行了。
lgnore think time :忽視思考時間,也就說勾選這一項的時候 ,你指令碼中加入的lr_think_time 函式設定是無效的。選中這一項,執行上面的指令碼。
action.c(62)
: the duration up to the submit is
0.032043 seconds
action.c(67)
: notify: transaction "註冊" ended with
"pass" status (duration:
12.4113 wasted time:
0.0320
).
雖然我在指令碼中加入了lr_think_time(20); 這條語句,顯現沒起到任何作用。
replay think time:回放思考時間
來看第乙個選項:
as recorded : 取決於記錄,選種這一項再來執行上面的指令碼。
action.c(
111)
: the duration up to the submit is
0.034508 seconds
action.c(
116)
: notify: transaction "註冊" ended with
"pass" status (duration:
50.4453 think time:
20.0000 wasted time:
0.0345).
ending action action.
執行結果中多了乙個 think time: 20.0000 ;這說明我們指令碼中的lr_think_time(20); 起到了作用,選中這一項後,我們可以在指令碼中任意的新增思考時間。
multiply recorded think time by: 錄製思考時間乘以,使用錄製思考時間的倍數。
其實,在我們指令碼錄製的過程中,根據我們的操作,指令碼中就可以生成相應的思考時間。這個引數是根據指令碼中的思考時間進行調整的。
例如:指令碼是20秒,輸入2,那麼在指令碼實際執行時,思考時間將為40秒;輸入0.5 ,指令碼在執行時的思考時間為10秒。下面選中此項,輸入0.5,再來檢視指令碼執行結果:
action.c(
111)
: the duration up to the submit is
0.036610 seconds
action.c(
116)
: notify: transaction "註冊" ended with
"pass" status (duration:
131.2022 think time:
9.9998 wasted time:
0.0366
).
注:將原諒指令碼會有0.0002秒的誤差。
use random percentage of recorded think time : 使用錄製思考時間的百分比。
action.c(
111)
: the duration up to the submit is
0.036191 seconds
action.c(
116)
: notify: transaction "註冊" ended with
"pass" status (duration:
40.8002 think time:
15.0050 wasted time:
0.0362
).
這一次think time: 為15.0050 ,是在10到20秒的範圍之內,你再次執行會發現這個時間不一樣,但不會超出設定的範圍。
limit think time to: 限制思考時間的最大值。
假如指令碼設定的思考時間為20秒,選中這一項並設定為10秒。那麼指令碼在執行時,思考時間不會超過10秒。也就是說這設定同樣也制約前面幾個選項。這個你可以自行設定驗證。
感謝:
double trans_time;
//定義變數..
....
lr_start_transaction(
"註冊");
//新增事物
lr_think_time(8)
;//思考時間..
....
.trans_time=lr_get_transaction_wasted_time(
"註冊");
//獲得消耗時間
if(trans_time)
else
lr_end_transaction(
"註冊"
,lr_auto)
;//事務結束...
.......
感謝上面這段**很好幫助我們理解思考時間。
備註:新增思考時間可以更真實的模擬使用者行為,但它同時降低了使用者併發。也就是說思考時間越長,對伺服器的壓力會越小。
當然還有面試,面試一般分為技術面和hr面,形式的話很少有群面,少部分企業可能會有乙個交叉面,不過總的來說,技術面基本就是考察你的專業技術水平的,hr面的話主要是看這個人的綜合素質以及家庭情況符不符合公司要求,一般來講,技術的話只要通過了技術面hr面基本上是沒有問題(也有少數企業hr面會刷很多人)
我們主要來說技術面,技術面的話主要是考察專業技術知識和水平,上面也是我整理好的精選面試題。
加油吧,測試人!如果你需要提公升規劃,那就行動吧,在路上總比在起點觀望的要好。事必有法,然後有成。
資源不錯就給個推薦吧~
Loadrunner 思考時間設定
1 什麼是思考時間 簡單來說就是可以在不同的操作之間做停頓,最大程度的模擬使用者最真實的操作。2 如何設定思考時間 函式 lr think time 4 進入runtime settings頁面,快捷鍵 f4 在vugen工具中,預設選擇的是 ignore think time 也就是忽略掉,在單指...
LoadRunner之協議選擇
在學習 loadrunner 協議選擇之前,我覺得我們有必要了解一下協議的基本概念。首先我們知道,計算機與計算機之間的通訊都離不開通訊協議,接著我們來說說通訊協議的概念。通訊協議是什麼,通訊協議實際上是一組規定和約定的集合。說白了就是兩台或者多台計算機在通訊時必須約定好本次通訊做什麼,例如是進行檔案...
loadRunner之引數關聯
錄製指令碼,對使用者名稱和密碼進行引數化 action 1 右擊指令碼中的使用者,選擇 replace with a parameter 2 parameter name輸入引數名 username parameter type選擇 file 點選 properties 按鈕,彈出引數屬性對話方塊 ...