唐滔 譚鳳
【摘? 要】 隨著軟件技術(shù)的成熟,越來(lái)越復(fù)雜的軟件系統(tǒng)應(yīng)用于各個(gè)領(lǐng)域中。軟件性能成為衡量軟件質(zhì)量的重要標(biāo)準(zhǔn),使軟件性能測(cè)試在軟件測(cè)試中的地位愈發(fā)凸顯。文章采用LoadRunner作為性能測(cè)試的一種常用工具,在“軟件性能測(cè)試與分析”課程實(shí)踐教學(xué)過(guò)程中,通過(guò)模擬用戶行為、收集性能數(shù)據(jù)等方式來(lái)評(píng)估軟件的性能表現(xiàn),從而達(dá)到實(shí)踐教學(xué)目的。
【關(guān)鍵詞】 軟件性能測(cè)試;Loadrunner;性能測(cè)試流程
一、LoadRunner性能測(cè)試研究背景
性能測(cè)試是軟件開發(fā)的一個(gè)關(guān)鍵方面,它可以評(píng)估軟件系統(tǒng)在不同工作負(fù)載條件下滿足性能要求的能力。隨著軟件系統(tǒng)的不斷進(jìn)步和復(fù)雜性,對(duì)有效的性能測(cè)試方法和工具的需求變得更加突出。性能測(cè)試中常用的一個(gè)工具是LoadRunner,這是一個(gè)功能強(qiáng)大的軟件工具,使測(cè)試人員能夠模擬真實(shí)世界的用戶行為并收集性能數(shù)據(jù)。LoadRunner提供了一套全面的功能和指標(biāo),可以幫助評(píng)估軟件應(yīng)用程序的性能、可擴(kuò)展性和可靠性。在“軟件性能測(cè)試與分析”課程的實(shí)踐教學(xué)中,通過(guò)實(shí)踐實(shí)驗(yàn)和模擬,學(xué)生們對(duì)復(fù)雜的性能測(cè)試有了寶貴的見解,并學(xué)會(huì)在軟件開發(fā)生命周期的早期識(shí)別和解決與性能相關(guān)的問(wèn)題。文章的目的是介紹將LoadRunner納入性能測(cè)試課程的經(jīng)驗(yàn)和結(jié)果。通過(guò)考察LoadRunner在實(shí)踐教學(xué)中的有效性,旨在為教育工作者和從業(yè)者提供指導(dǎo)和建議,以增強(qiáng)他們對(duì)性能測(cè)試方法的理解和應(yīng)用。文章的后續(xù)部分將深入研究性能測(cè)試過(guò)程的細(xì)節(jié)、LoadRunner的具體功能和功能,以及從課程中進(jìn)行的實(shí)踐練習(xí)中獲得的結(jié)果。
總的來(lái)說(shuō),文章為對(duì)性能測(cè)試和LoadRunner在實(shí)際環(huán)境中的應(yīng)用感興趣的教育工作者、學(xué)生和專業(yè)人士提供了寶貴的資源。它提供了將LoadRunner集成到性能測(cè)試課程中的見解、最佳實(shí)踐和經(jīng)驗(yàn)教訓(xùn),有助于開發(fā)健壯、高性能的軟件應(yīng)用程序。
二、Loadrunner工具的特點(diǎn)及優(yōu)點(diǎn)
文章主要采用loadrunner這個(gè)工具,該工具是由Micro Focus 公司開發(fā)的一款性能測(cè)試工具,用于模擬和評(píng)估應(yīng)用程序在不同負(fù)載下的性能。它可以模擬成千上萬(wàn)的虛擬用戶,通過(guò)對(duì)應(yīng)用程序施加壓力,測(cè)量其性能、穩(wěn)定性和可靠性。
LoadRunner的主要特點(diǎn):1. 多協(xié)議支持:LoadRunner支持多種通信協(xié)議,包括Web、HTTP/HTTPS、JDBC、RPC、SMTP等,使其能夠應(yīng)對(duì)不同類型的應(yīng)用程序;2. 虛擬用戶模擬: 可以模擬大量的虛擬用戶,從而能夠在真實(shí)用戶訪問(wèn)高峰期模擬出真實(shí)的負(fù)載;3. 豐富的性能指標(biāo)監(jiān)控: 提供全面的性能監(jiān)控和分析工具,可以實(shí)時(shí)監(jiān)測(cè)服務(wù)器資源利用率、響應(yīng)時(shí)間、事務(wù)響應(yīng)時(shí)間等性能指標(biāo);4. 腳本錄制和回放:用戶可以通過(guò)錄制腳本來(lái)捕捉用戶行為,然后進(jìn)行回放以模擬真實(shí)的用戶操作流程;5. 分布式測(cè)試:允許在多個(gè)地點(diǎn)、多個(gè)服務(wù)器上進(jìn)行性能測(cè)試,以更真實(shí)的模擬用戶分布和網(wǎng)絡(luò)環(huán)境;6. 強(qiáng)大的報(bào)告生成:提供詳細(xì)的測(cè)試報(bào)告,用于分析性能瓶頸、資源瓶頸和系統(tǒng)行為。其優(yōu)點(diǎn)主要有:1. 全面的性能測(cè)試:LoadRunner提供了全面的性能測(cè)試解決方案,適用于各種應(yīng)用程序和協(xié)議;2. 強(qiáng)大的腳本錄制功能: 腳本錄制和回放功能使得測(cè)試腳本的創(chuàng)建變得相對(duì)簡(jiǎn)單,不需要深入的編碼知識(shí);3. 細(xì)粒度的性能監(jiān)控:可以監(jiān)控系統(tǒng)的各個(gè)方面,幫助定位性能瓶頸;4. 廣泛的應(yīng)用:LoadRunner廣泛應(yīng)用于各個(gè)行業(yè),支持多種技術(shù)和平臺(tái);5. 分布式測(cè)試:能夠模擬真實(shí)世界的多地用戶訪問(wèn)情況。
三、性能測(cè)試流程
在軟件性能測(cè)試教學(xué)過(guò)程中,針對(duì)項(xiàng)目“在線飛機(jī)訂票系統(tǒng)”實(shí)踐,主要從以下幾個(gè)方面開展軟件性能測(cè)試,在教學(xué)過(guò)程中,項(xiàng)目團(tuán)隊(duì)也遵循這樣的流程開展工作。具體流程如下:
1. 確定“在線飛機(jī)訂票系統(tǒng)”性能測(cè)試的目標(biāo)和范圍:需要明確性能測(cè)試的具體目標(biāo),是測(cè)試系統(tǒng)的訂票響應(yīng)時(shí)間、請(qǐng)求吞吐量、并發(fā)用戶數(shù)等性能指標(biāo),能支持多少用戶在5分鐘內(nèi)完成多少訂票業(yè)務(wù)。同時(shí)確定測(cè)試的范圍,包括測(cè)試的系統(tǒng)環(huán)境、測(cè)試的時(shí)間范圍等。2. 確定測(cè)試環(huán)境和工具:確定性能測(cè)試所需的硬件、軟件環(huán)境以及測(cè)試工具,例如性能測(cè)試工具LoadRunner。3. 制訂性能測(cè)試計(jì)劃:根據(jù)目標(biāo)和范圍,制訂詳細(xì)的在線飛機(jī)訂票系統(tǒng)性能測(cè)試計(jì)劃,包括測(cè)試的時(shí)間的安排、測(cè)試的具體內(nèi)容、測(cè)試的數(shù)據(jù)準(zhǔn)備等。4. 設(shè)計(jì)性能測(cè)試用例:根據(jù)需求和系統(tǒng)特點(diǎn),設(shè)計(jì)性能測(cè)試用例,包括測(cè)試場(chǎng)景、測(cè)試數(shù)據(jù)、預(yù)期結(jié)果等。5. 執(zhí)行性能測(cè)試:按照設(shè)計(jì)的性能測(cè)試用例,使用性能測(cè)試工具進(jìn)行測(cè)試,并監(jiān)控系統(tǒng)的性能指標(biāo),記錄測(cè)試數(shù)據(jù)。6. 分析測(cè)試結(jié)果:對(duì)測(cè)試數(shù)據(jù)進(jìn)行分析,包括系統(tǒng)的響應(yīng)時(shí)間、吞吐量、并發(fā)用戶數(shù)等指標(biāo),找出系統(tǒng)性能的瓶頸和問(wèn)題,并提出改進(jìn)建議。7. 編寫性能測(cè)試報(bào)告:根據(jù)測(cè)試結(jié)果,編寫性能測(cè)試報(bào)告,包括測(cè)試的目的、測(cè)試環(huán)境、測(cè)試結(jié)果、分析和建議等內(nèi)容。
四、實(shí)踐過(guò)程
(一)測(cè)試業(yè)務(wù)模型
在針對(duì)項(xiàng)目“在線飛機(jī)訂票系統(tǒng)”的測(cè)試執(zhí)行過(guò)程中,設(shè)計(jì)到的測(cè)試業(yè)務(wù)模型如表1所示。
(二)虛擬用戶運(yùn)行
根據(jù)場(chǎng)景,啟動(dòng)測(cè)試,采用虛擬用戶為10,在16、32、48、的時(shí)候進(jìn)行逐步增加用戶直到1分04秒時(shí)達(dá)到20個(gè)用戶訪問(wèn),然后再到6秒24分的時(shí)候進(jìn)行逐步減少用戶直到8分48的時(shí)候用戶全部訪問(wèn)結(jié)束。如圖1所示。
(三)Hits perSecond結(jié)果及分析
經(jīng)過(guò)虛擬用戶的請(qǐng)求,請(qǐng)求為每秒點(diǎn)擊次數(shù),即使運(yùn)行場(chǎng)景過(guò)程中虛擬用戶每秒向Web服務(wù)器提交的HTTP請(qǐng)數(shù)。通過(guò)它可以評(píng)估虛擬用戶產(chǎn)生的負(fù)載量,如將其和“平均事務(wù)響應(yīng)時(shí)間”圖比較,可以查看點(diǎn)擊次數(shù)對(duì)事務(wù)性能產(chǎn)生的影響。通過(guò)對(duì)查看“每秒點(diǎn)擊次數(shù)”,可以判斷系統(tǒng)是否穩(wěn)定。系統(tǒng)點(diǎn)擊率下降通常表明服務(wù)器的響應(yīng)速度在變慢,需進(jìn)一步分析,發(fā)現(xiàn)系統(tǒng)瓶頸所在。由上圖不難看出:分別在1:36s、2:56s、3:28s、5:52s、7:28這五個(gè)時(shí)間點(diǎn)點(diǎn)擊數(shù)最大,其他時(shí)間基本處于穩(wěn)定狀態(tài)。如下圖2所示。
(四)性能測(cè)試簡(jiǎn)報(bào)
在執(zhí)行過(guò)程中,根據(jù)上述的性能測(cè)試業(yè)務(wù)模型和流程,在監(jiān)控過(guò)程中,此次測(cè)試場(chǎng)景設(shè)置為10個(gè)用戶運(yùn)行30秒,每2秒5個(gè)用戶進(jìn)行性能測(cè)試。其中,總的吞吐量為4149887bytes,平均吞吐量為12614bytes,總的請(qǐng)求量為560,平均每秒請(qǐng)求量為1702。從該圖可以看出,登錄通過(guò)10個(gè),失敗0個(gè),行程查詢通過(guò)20個(gè),則表明參數(shù)化用戶登錄該系統(tǒng)不存在問(wèn)題。如圖3所示。
(五)測(cè)試結(jié)果分析
通過(guò)該項(xiàng)目“在線飛機(jī)訂票系統(tǒng)”的性能測(cè)試,該系統(tǒng)在登錄、查詢的響應(yīng)時(shí)間滿足用戶需求,在通過(guò)率100%的情況下運(yùn)行問(wèn)題不大,所以可以看出在系統(tǒng)登錄、查詢功能不存在問(wèn)題。系統(tǒng)運(yùn)行過(guò)程中基本正常,也說(shuō)明該應(yīng)用程序能夠很快地響應(yīng)用戶的要求,能處理預(yù)期的用戶負(fù)載并具有盈余能力,能處理業(yè)務(wù)所需的事務(wù)數(shù)量,在預(yù)期和非預(yù)期的用戶負(fù)載下,應(yīng)用程序是穩(wěn)定的,用戶在真正使用軟件時(shí)能夠積極得體驗(yàn)。
參考文獻(xiàn):
[1] 周健,曹曉龍,吳琦. Web軟件性能參數(shù)自動(dòng)化測(cè)試方法設(shè)計(jì)[J]. 電子設(shè)計(jì)工程,2023,31(16):112-115+120.
[2] 王剛. 軟件性能云測(cè)試平臺(tái)的關(guān)鍵技術(shù)[J]. 信息與電腦(理論版),2020,32(19):70-72.
[3] 張麗,李菊. 基于LoadRunner的性能測(cè)試實(shí)驗(yàn)教學(xué)改革[J]. 電腦與電信,2020(06):19-21.
[4] 王永康,張夢(mèng)飛,張學(xué)釗. 軟件測(cè)試在Web開發(fā)中的應(yīng)用[J]. 中外企業(yè)家,2019(08):57.