摘 要:在我國(guó)信息化建設(shè)的不斷發(fā)展下,各領(lǐng)域中使用的軟件類型越來越多樣化,軟件規(guī)模也逐漸擴(kuò)大。而隨著軟件架構(gòu)復(fù)雜程度的不斷增加,為了能夠有效保障軟件可以充分發(fā)揮自身應(yīng)有效用,有必要對(duì)軟件性能進(jìn)行精準(zhǔn)測(cè)試。在這一背景下,本文將從LoadRunner的角度切入,在對(duì)其基本組成與測(cè)試流程進(jìn)行闡明的基礎(chǔ)上,重點(diǎn)針對(duì)軟件性能測(cè)試中LoadRunner的實(shí)際應(yīng)用進(jìn)行簡(jiǎn)要分析研究。
關(guān)鍵詞:LoadRunner;軟件性能測(cè)試;實(shí)際應(yīng)用
引言:利用LoadRunner對(duì)系統(tǒng)軟件進(jìn)行性能測(cè)試,不僅可以有效幫助相關(guān)工作人員判斷系統(tǒng)軟件是否與設(shè)計(jì)要求相符,同時(shí)也能夠在全面了解軟件實(shí)際運(yùn)行情況的基礎(chǔ)上,分析出其中存在的性能瓶頸,進(jìn)而可以更有針對(duì)性地對(duì)軟件進(jìn)行性能優(yōu)化。因此在軟件性能測(cè)試中如何有效使用LoadRunner也成為人們較為關(guān)心的問題之一,本研究旨在幫助測(cè)試人員正確認(rèn)識(shí)LoadRunner的同時(shí),可以為其有效應(yīng)用在軟件性能中提供相應(yīng)的實(shí)踐指導(dǎo)。
一、LoadRunner的簡(jiǎn)要概述
(一)基本組成
雖然目前在軟件性能測(cè)試中可供使用的工具眾多,例如QALoad、WAS等等,但由惠普公司研發(fā)的LoadRunner可以對(duì)軟件系統(tǒng)生產(chǎn)環(huán)境、用戶實(shí)際操作場(chǎng)景進(jìn)行真實(shí)模擬,因此能夠更好地幫助工作人員直觀、清晰地了解軟件性能水平及其存在的性能瓶頸。具體來說,LoadRunner指的就是一種負(fù)載測(cè)試工具,其可以對(duì)系統(tǒng)行為以及實(shí)際性能進(jìn)行精準(zhǔn)預(yù)測(cè)。其主要構(gòu)成包括腳本生成器、壓力調(diào)度與監(jiān)控系統(tǒng)、結(jié)果分析工具與負(fù)載生成器。其中腳本生成器負(fù)責(zé)錄制并運(yùn)行相關(guān)腳本,同時(shí)對(duì)其進(jìn)行有效調(diào)試[1]。壓力調(diào)度與監(jiān)控系統(tǒng)則主要負(fù)責(zé)對(duì)用戶操作場(chǎng)景、軟件系統(tǒng)生產(chǎn)環(huán)境等進(jìn)行管理與維護(hù),而結(jié)果分析工具則負(fù)責(zé)提供軟件測(cè)試所需的腳本與事務(wù)信息,同時(shí)對(duì)系統(tǒng)性能進(jìn)行精準(zhǔn)定位。負(fù)載生成器負(fù)責(zé)向眾多負(fù)載機(jī)分配腳本,在對(duì)各個(gè)設(shè)備硬件資源進(jìn)行充分利用下,模擬出大量腳本,向軟件施壓以測(cè)試其具體性能水平。
(二)測(cè)試流程
在使用LoadRunner測(cè)試軟件性能的過程中,首先需要測(cè)試人員根據(jù)軟件性能測(cè)試的具體要求和實(shí)際情況,明確各個(gè)負(fù)載測(cè)試目標(biāo),并制定出科學(xué)合理的測(cè)試計(jì)劃,為整個(gè)軟件性能測(cè)試的順利開展奠定良好基礎(chǔ)。其次需要利用腳本生成器完成腳本創(chuàng)建,即利用虛擬用戶和應(yīng)用程序交互的方式對(duì)真實(shí)用戶進(jìn)行模擬,而在運(yùn)行各場(chǎng)景時(shí),所有虛擬用戶執(zhí)行操作均包含在腳本當(dāng)中。隨后需要測(cè)試人員使用壓力調(diào)度與監(jiān)控系統(tǒng)進(jìn)行具體測(cè)試場(chǎng)景的有效創(chuàng)建。所建設(shè)的場(chǎng)景當(dāng)中不僅需要包含運(yùn)行虛擬用戶的計(jì)算機(jī)與腳本列表,同時(shí)也需要包括場(chǎng)景運(yùn)行過程中設(shè)置的虛擬用戶與虛擬用戶組。此后同時(shí)利用若干虛擬用戶執(zhí)行任務(wù)的方式對(duì)真實(shí)用戶負(fù)載進(jìn)行模擬,而測(cè)試人員則可以通過結(jié)合實(shí)際情況適當(dāng)增加或刪減虛擬用戶數(shù)量,以達(dá)到對(duì)負(fù)載級(jí)別進(jìn)行靈活調(diào)整的目的。場(chǎng)景運(yùn)行時(shí),LoadRunner將會(huì)自動(dòng)對(duì)各負(fù)載情況下的軟件性能進(jìn)行錄制和運(yùn)行,此時(shí)借助LoadRunner中的結(jié)果分析器即可有效幫助相關(guān)工作人員,精準(zhǔn)評(píng)估軟件性能水平并準(zhǔn)確掌握其中存在的具體性能瓶頸。
二、軟件性能測(cè)試中LoadRunner的實(shí)際運(yùn)用
(一)被測(cè)系統(tǒng)軟件概述
為了有效說明LoadRunner在軟件性能測(cè)試中的應(yīng)用情況,單一窗口的貨申報(bào)系統(tǒng)作為被測(cè)軟件。以該系統(tǒng)中的以下四個(gè)功能點(diǎn)作為測(cè)試目標(biāo),分別為系統(tǒng)登錄與新建貨申報(bào)單證、單證信息查詢與單證信息刪除。
(二)測(cè)試環(huán)境與測(cè)試需求
在測(cè)試過程中,所使用的測(cè)試工具除一臺(tái)測(cè)試機(jī)以外,還分別各使用一臺(tái)應(yīng)用服務(wù)器與數(shù)據(jù)庫服務(wù)器。其中應(yīng)用服務(wù)器采用IE10.0瀏覽器,其中間件為Weblogic12,運(yùn)用Windows操作系統(tǒng)。數(shù)據(jù)庫服務(wù)器的硬件配置、操作系統(tǒng)與瀏覽器,均與應(yīng)用服務(wù)器的配置完全相同,但其采用了Oracle11G數(shù)據(jù)庫,測(cè)試機(jī)的硬件配置與操作系統(tǒng)也和應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器相同,但其瀏覽器使用的是IE10.0。應(yīng)用在局域網(wǎng)環(huán)境下的單一窗口的貨申報(bào)系統(tǒng)軟件,要求其各功能單點(diǎn)操作時(shí)間不得超過2s,系統(tǒng)并發(fā)數(shù)可以達(dá)到10用戶,系統(tǒng)響應(yīng)時(shí)間最長(zhǎng)為5s。當(dāng)用戶正處于登錄系統(tǒng)、新建單證以及單證信息查詢與修改狀態(tài)時(shí),該系統(tǒng)軟件中的10名用戶在線吞吐率需要達(dá)到8事務(wù)/s。
(三)軟件性能的測(cè)試結(jié)果
1.制定軟件性能測(cè)試計(jì)劃
通過與該軟件性能測(cè)試要求相結(jié)合,同時(shí)為了保障軟件日后能夠根據(jù)實(shí)際情況進(jìn)行業(yè)務(wù)拓展,本文在使用LoadRunner對(duì)該系統(tǒng)軟件進(jìn)行軟件性能測(cè)試時(shí),模擬10名用戶同時(shí)進(jìn)行軟件登錄操作,用以對(duì)軟件負(fù)載承受能力進(jìn)行有效監(jiān)測(cè)。在該系統(tǒng)軟件當(dāng)中,用戶操作頻率最高的操作項(xiàng)即為對(duì)單位信息查詢,因此為了有效避免用戶在操作軟件時(shí)出現(xiàn)系統(tǒng)軟件崩潰無法正常使用的情況,在使用LoadRunner對(duì)10用戶同時(shí)對(duì)單證信息查詢進(jìn)行模擬時(shí),設(shè)計(jì)使用兩種測(cè)試計(jì)劃。其一為直接模擬10用戶同時(shí)登陸軟件,后一種測(cè)試計(jì)劃則為初始階段只有2名用戶同時(shí)進(jìn)行操作,而后利用加壓模式,每隔一段時(shí)間增加2名用戶,直至達(dá)到10名用戶同時(shí)查詢單證信息。
2.設(shè)計(jì)腳本以及測(cè)試場(chǎng)景
本文在使用LoadRunner進(jìn)行軟件性能測(cè)試的過程中,首先通過使用腳本生成器完成測(cè)試腳本的新建,在此過程中選擇的協(xié)議為Windows Scokets。由于本文使用的被測(cè)軟件采用JAVA系統(tǒng)開發(fā)出的B/S系統(tǒng)結(jié)構(gòu),在完成類型合理選擇后,由Action負(fù)責(zé)對(duì)用戶登錄以及單證信息查詢的行為進(jìn)行實(shí)時(shí)錄制,這一操作具有可重復(fù)執(zhí)行性。在使用第一種測(cè)試方案時(shí),用戶在軟件登錄界面中準(zhǔn)確鍵入自己的登錄名與密碼之后,需要先將一個(gè)集合點(diǎn)login rendezvous插入其中,隨后設(shè)置一個(gè)開始事務(wù)login,此時(shí)用戶通過對(duì)登錄按鍵進(jìn)行點(diǎn)擊,直到用戶成功登錄后,將結(jié)束事務(wù)標(biāo)識(shí)插入其中即可[2]。而在第二種測(cè)試計(jì)劃中,需要將集合點(diǎn)cfg rendezvous插入在用戶查詢單證信息之前,同時(shí)將開始事務(wù)cfg設(shè)置其中,直到用戶順利完成信息查詢操作后,再將結(jié)束事務(wù)標(biāo)識(shí)插入其中。當(dāng)錄制完畢之后需立即編輯腳本,考慮到該軟件不支持眾多相同用戶在同一時(shí)刻登錄該軟件,故而需要對(duì)用戶名及密碼予以參數(shù)化處理。此時(shí)對(duì)于已經(jīng)完成錄制的腳本需要進(jìn)行相應(yīng)編譯,對(duì)腳本中是否存在錯(cuò)誤信息即顯示為紅色的error進(jìn)行確認(rèn),當(dāng)編譯結(jié)果為passed時(shí)即可進(jìn)行腳本運(yùn)行。
在測(cè)試場(chǎng)景的創(chuàng)建與運(yùn)行過程中,則需要啟動(dòng)壓力調(diào)度與監(jiān)控系統(tǒng),選擇手動(dòng)場(chǎng)景之后,將用戶數(shù)設(shè)置為10人,此時(shí)壓力機(jī)為L(zhǎng)ocalhost,直接在場(chǎng)景當(dāng)中依次添加相應(yīng)的腳本即可。在利用相關(guān)專業(yè)工具對(duì)與10個(gè)用戶相對(duì)應(yīng)的IP地址進(jìn)行模擬之后,在加載過程中便可以令各虛擬用戶,使用不同IP地址登錄軟件并進(jìn)行信息修改操作。在第一種測(cè)試計(jì)劃中,設(shè)置同時(shí)加載全部虛擬用戶直至用戶完成所有操作。在第二種測(cè)試計(jì)劃中,每隔5s增加2名用戶直至運(yùn)行結(jié)束。當(dāng)完成所有測(cè)試場(chǎng)景的配置后,通過直接點(diǎn)擊開始場(chǎng)景按鍵運(yùn)行測(cè)試腳本,此時(shí)測(cè)試人員便可以對(duì)包括運(yùn)行用戶數(shù)、通過事務(wù)數(shù)、運(yùn)行錯(cuò)誤數(shù)等在內(nèi)的各項(xiàng)統(tǒng)計(jì)信息進(jìn)行動(dòng)態(tài)觀察,以此為基礎(chǔ)對(duì)腳本實(shí)際運(yùn)行情況進(jìn)行實(shí)時(shí)監(jiān)測(cè)。
3.軟件性能測(cè)試結(jié)果分析
在運(yùn)行完成所有測(cè)試場(chǎng)景之后,LoadRunner當(dāng)中的結(jié)果分析工具將會(huì)自動(dòng)搜集整理各項(xiàng)測(cè)試結(jié)果數(shù)據(jù),以便有效幫助測(cè)試人員對(duì)被測(cè)軟件性能的實(shí)際水平、運(yùn)行情況進(jìn)行準(zhǔn)確評(píng)估。一旦LoadRunner中得到的測(cè)試結(jié)果和軟件性能設(shè)計(jì)需求存在明顯差距,需要相關(guān)工作人員及時(shí)鎖定軟件中具體存在的性能缺陷并對(duì)其進(jìn)行有效處理,從而使得系統(tǒng)軟件性能可以實(shí)現(xiàn)最優(yōu)化。一般情況下,LoadRunner中的所有測(cè)試結(jié)果數(shù)據(jù)將會(huì)統(tǒng)一集中在Result當(dāng)中,通過使用Analysis工具便可以自動(dòng)生成總統(tǒng)計(jì)表格,該統(tǒng)計(jì)表格中集中了所有場(chǎng)景數(shù)據(jù)[3]。
根據(jù)本文在使用LoadRunner對(duì)該軟件的軟件性能測(cè)試中,得到的具體測(cè)試結(jié)果可知,平均事務(wù)相應(yīng)時(shí)間均在2s以內(nèi),并且在整個(gè)軟件性能測(cè)試過程中,平均事務(wù)相應(yīng)時(shí)間并未出現(xiàn)明顯的劇烈浮動(dòng)情況,系統(tǒng)整體運(yùn)行具有良好的平穩(wěn)性。當(dāng)系統(tǒng)用戶并發(fā)數(shù)達(dá)到10名,且持續(xù)進(jìn)行20min的軟件操作后得到的平均事務(wù)響應(yīng)時(shí)間最長(zhǎng)不超過5s。在10用戶同時(shí)進(jìn)行軟件登錄時(shí),登錄成功率大大了100%。通常在軟件性能測(cè)試中,如果系統(tǒng)響應(yīng)時(shí)間不超過2s,用戶一般可以感覺操作順暢,而如果系統(tǒng)響應(yīng)時(shí)間在2s至5s,此時(shí)用戶操作感覺一般,系統(tǒng)響應(yīng)時(shí)間超過5s,則用戶可以明顯感覺系統(tǒng)運(yùn)行速度較慢。但在此軟件中,測(cè)試結(jié)果顯示login事務(wù)平均響應(yīng)時(shí)間在1.77s左右,因此用戶操作體驗(yàn)良好,這也與該軟件模塊數(shù)量較少,初始化時(shí)間相對(duì)較短有關(guān)。而在TPS測(cè)試當(dāng)中,測(cè)試得到的在線用戶吞吐率為8事務(wù)/s,與該軟件的性能要求相吻合,因此代表該軟件確實(shí)具有一定的使用性能。
結(jié)束語:通過本文的分析研究可知,在軟件性能測(cè)試當(dāng)中應(yīng)用LoadRunner,確實(shí)可以有效幫助相關(guān)工作人員準(zhǔn)確掌握和評(píng)估,被測(cè)軟件的實(shí)際性能水平,并及時(shí)發(fā)現(xiàn)軟件中存在的性能瓶頸,以便可以更有針對(duì)性地對(duì)軟件性能進(jìn)行優(yōu)化。因此在實(shí)際使用LoadRunner進(jìn)行軟件性能測(cè)試時(shí),相關(guān)工作人員需要結(jié)合被測(cè)軟件的實(shí)際情況,科學(xué)制定出具體測(cè)試計(jì)劃,并嚴(yán)格按照LoadRunner的使用流程規(guī)范完成軟件性能測(cè)試工作,使得LoadRunner的應(yīng)有效用得以在軟件性能測(cè)試中得到充分發(fā)揮。
參考文獻(xiàn):
[1]梁琛,馬天鳴.LoadRunner在衛(wèi)星應(yīng)急網(wǎng)管軟件性能測(cè)試中的應(yīng)用[J].電信快報(bào),2018(07):21-25.
[2]王興野.如何利用LoadRunner開展網(wǎng)站性能測(cè)試[J].電腦編程技巧與維護(hù),2018(05):100-102.
[3]鄭潤(rùn)萍. 基于LoadRunner的Web軟件性能瓶頸分析調(diào)優(yōu)研究與實(shí)踐[D].華南農(nóng)業(yè)大學(xué),2016.
作者簡(jiǎn)介:
馬娟(1983年),女,籍貫:山東 菏澤,職稱和學(xué)歷:中級(jí)工程師,本科,研究方向或?qū)I(yè):計(jì)算機(jī)科學(xué)與技術(shù)專業(yè).