在Loadrunner錄制腳本及執行的過(guò)程中,經(jīng)常會(huì )用到變量參數化來(lái)進(jìn)行一些不同組合及唯一性值的設定,對于Loadrunner參數化的文章也很多,在此也不在繁述,今天我們就探討下如何更高效的進(jìn)行Loadrunner參數化,以更好的提高工作效率。
很多人在接觸參數化時(shí),都多少有這這樣的困擾:我的參數化設置執行結果和我預期的結果有很大區別!在很多系統中對數據唯一性要求很高的話(huà),我們會(huì )經(jīng)常碰到這樣的情形:我的腳本成功執行完畢,但是到后臺一查數據卻發(fā)現,數據沒(méi)有執行進(jìn)入系統,這樣的測試案例根本無(wú)法對系統性能進(jìn)行評估。
首先我們先看一下再Loadrunner參數管理器中的2個(gè)設定項select next row和update value on,很多朋友在剛開(kāi)始接觸參數化時(shí)會(huì )對這2個(gè)設定項產(chǎn)生混淆,我們可以從2個(gè)特定的維度和覆蓋角度進(jìn)行理解:
Select next row 是針對于所有vu的取值方式進(jìn)行限定的,此指標是針對于全局的
Update value on是針對每一個(gè)用戶(hù)每一次循環(huán)過(guò)程中如何更新值進(jìn)行限定的
根據上面的定義,我們來(lái)逐個(gè)對這2個(gè)設定項內的選項進(jìn)行說(shuō)明
Select next row
Sequential:所用用戶(hù)分配相同參數,以順序方式進(jìn)行分配
Random:所有用戶(hù)分配隨機參數,以隨機方式進(jìn)行分配
Unique:所有的用戶(hù)分配不同參數,以順序方式進(jìn)行分配
Update next row
Each iteration:當前循環(huán)內值不變
Each occurrence:當前循環(huán)內只要觸發(fā)就進(jìn)行值的更新
Once:執行過(guò)程中不更新(即在腳本執行前進(jìn)行取值,然后在執行過(guò)程中均取該值)
然后我們就可以根據這樣的句式來(lái)理解參數分配的方式:當腳本開(kāi)始時(shí),為< --select next row -- >,在< -update next row -- >。通過(guò)這樣的方式對在執行過(guò)程中參數分配方式可以有更直觀(guān)的理解;
下面我對以上的選項做一個(gè)排列組合,供大家參考
Sequential
Random
Unique
Each iteration
所有vu均取參數列表的第一行,在循環(huán)結束后取第二行
所有vu隨機選取參數列表內參數,在循環(huán)結束后取第二個(gè)隨機數
所有vu按順序取不同值,在循環(huán)結束后取下一個(gè)未被使用的值
Each occurrence
所有vu均取參數列表的第一行,在當第二次出現時(shí)取第二行值,即使在同一迭代內
所有vu隨機選取參數列表內參數,在當第二次出現時(shí)取第二個(gè)隨機數,即使在同一迭代內
所有vu按順序取不同值,在第二次出現時(shí)取下一個(gè)未被使用的值,即使在同一迭代內
Once
所有用戶(hù)取參數列表的第一行,在腳本執行過(guò)程中均為該值
所有用戶(hù)隨機選取參數列表內唯一參數,在腳本執行過(guò)程中均為該值
所有vu按順序取不同值,在腳本執行過(guò)程中均為該值
在參數設置的過(guò)程中,可能會(huì )遇到參數列表內數據量小于(VU*循環(huán)數)的情況,若可能出現該情況的組合中,參數管理器中會(huì )出現when out of value選項,來(lái)配置參數用盡后的操作方式,我們可以選擇退出vu,從新輪循以及使用最后一個(gè)值,根據測試需求設定即可
對于A(yíng)llocate Vuser values in the Controller選項一般情況下默認選擇 Automatically allocate block size即可,若選擇手動(dòng)設定則block size的數量需于腳本循環(huán)數對應。
以上對Loadrunner參數化設置進(jìn)行了說(shuō)明,現在我們再來(lái)看一些在實(shí)際使用過(guò)程中比較實(shí)用的參數設置方式
Iteration Number:返回當前循環(huán)次數
UserID:返回當前VU 的ID值
Group Name:返回次腳本在當前場(chǎng)景內Group名稱(chēng)
Load Generator Name:返回腳本執行的測試機名稱(chēng)
在腳本參數化的過(guò)程中,以參數的應用對腳本執行回饋有著(zhù)很大的幫助,在腳本執行完畢后如果需要查詢(xún)和統計每個(gè)VU的參數取值以及執行情況,則這些參數化的使用將使你受益良多。
其次由于以上參數類(lèi)型具有一定的唯一性,可以通過(guò)適當的組合來(lái)獲得一組有規則可循的唯一值,在后期性能分析過(guò)程中的數據分析階段事半功倍。
例如我們可以用UserID+Iteration Number來(lái)確定一個(gè)唯一值作為腳本內某些數據的參數使用,則省去了繁瑣的數據準備及設置工作并且容易查找;同理,在多腳本或多測試機執行的場(chǎng)景中可以加入Group Name以及Load Generator Name來(lái)區分。
上述類(lèi)型的參數設定均比較簡(jiǎn)單,根據參數管理器內的提示即可。有一些參數類(lèi)型可以支持自定義類(lèi)型,稍微懂一些C的printf的都完全可以理解,再次也不在贅述。
對于本文未涉及到的一些參數類(lèi)型以及參數化以后的數據匯集我會(huì )在以后的Loadrunner教程中與大家探討,敬請期待!
以上是我對Loadrunner參數化過(guò)程中的一些心得及看法,不勝詳盡。希望對各位朋友的學(xué)習和工作有所幫助。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。