国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于LoadRunner的網(wǎng)絡(luò)考試系統(tǒng)性能測試實(shí)踐

2019-09-24 06:03張艷華
電腦知識(shí)與技術(shù) 2019年21期
關(guān)鍵詞:性能測試腳本

張艷華

摘要:文章根據(jù)用戶的性能需求設(shè)計(jì)測試用例,借助LoadRunner錄制測試腳本并對腳本進(jìn)行相應(yīng)的二次開發(fā),設(shè)計(jì)合適的場景并對場景進(jìn)行合理配置,模擬多用戶對網(wǎng)絡(luò)考試系統(tǒng)的并發(fā)操作,最后對測試運(yùn)行結(jié)果進(jìn)行分析,得出系統(tǒng)性能指標(biāo)的滿足情況以及系統(tǒng)的瓶頸。

關(guān)鍵詞:LoadRunner;腳本;性能測試

中圖分類號(hào):G642? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2019)21-0106-03

開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

Abstract: This paper designs test cases according to user's performance requirements, records test scripts with LoadRunner and redevelops the scripts accordingly, designs appropriate scenarios and configures them reasonably, simulates the concurrent operation of multi-user network test system, and finally analyses the test results, obtains the system performance indicators and system bottlenecks.

Key words: LoadRunner; scripts; performance

1 引言

軟件的質(zhì)量是軟件的生命,它直接影響軟件的使用與維護(hù)。ISO/IEC9126中規(guī)定了軟件的6個(gè)質(zhì)量特性,即功能性、可靠性、易用性、效率性、維護(hù)性和可移植性。其中軟件可靠性的測試與軟件性能測試關(guān)系密切,一般也是通過性能測試的方法來完成系統(tǒng)可靠性測試工作[1]。軟件測試要求以較少的測試用例、時(shí)間和人力找出軟件中潛在的各種錯(cuò)誤和缺陷,以確保軟件的質(zhì)量。軟件性能是與軟件功能相對應(yīng)的一種非常重要的非功能特性,軟件性能從時(shí)間及時(shí)性及資源經(jīng)濟(jì)性方面對系統(tǒng)提出了要求。對于一個(gè)具體的軟件系統(tǒng)來說,執(zhí)行速度越快、占用系統(tǒng)資源越少,則軟件性能相對越好。隨著Web應(yīng)用技術(shù)的發(fā)展,用戶對Web服務(wù)應(yīng)用的質(zhì)量要求更高[2]。

現(xiàn)代的基于Web的軟件網(wǎng)站數(shù)據(jù)量大業(yè)務(wù)量也大用途也更廣泛。Web 服務(wù)器可能在同一時(shí)間內(nèi)會(huì)接受大量來自不同地域的數(shù)據(jù)請求,一旦Web 服務(wù)器崩潰,會(huì)造成巨大的損失,這就對網(wǎng)站的穩(wěn)定性提出了要求[3]。本文針對開發(fā)的網(wǎng)絡(luò)考試系統(tǒng)進(jìn)行性能測試研究,以LoadRunner作為測試工具對軟件進(jìn)行壓力負(fù)載測試,對軟件性能進(jìn)行驗(yàn)證并及時(shí)發(fā)現(xiàn)系統(tǒng)瓶頸。

2 常用性能指標(biāo)

常用的軟件性能測試指標(biāo)有響應(yīng)時(shí)間、最大并發(fā)用戶數(shù)、吞吐量、資源利用率等[1]。

響應(yīng)時(shí)間:是對系統(tǒng)執(zhí)行速度提出的性能要求,是用戶感受到的軟件系統(tǒng)為其服務(wù)所消耗的時(shí)間。

最大并發(fā)用戶數(shù):定義了系統(tǒng)處理容量,是描述網(wǎng)絡(luò)系統(tǒng)的重要指標(biāo)。是系統(tǒng)能夠同時(shí)處理的用戶請求的數(shù)目。

吞吐量:單位時(shí)間內(nèi)系統(tǒng)處理的客戶請求數(shù)量,體現(xiàn)系統(tǒng)的整體處理能力。在制定吞吐量時(shí)需要考慮指標(biāo)的選擇、功能的選擇、指標(biāo)范圍的確定。常用的指標(biāo)有RPS、TPS、PPS。

資源利用率:刻畫了系統(tǒng)使用過程中資源的占用情況,是反應(yīng)系統(tǒng)執(zhí)行狀態(tài)的最直觀的指標(biāo)。服務(wù)器或操作系統(tǒng)性能的一些數(shù)據(jù)指標(biāo),在性能測試中發(fā)揮著監(jiān)控和分析的重要作用。

3 軟件性能測試的目標(biāo)

能力驗(yàn)證、缺陷發(fā)現(xiàn)、能力規(guī)劃、性能調(diào)優(yōu)為軟件性能測試的目標(biāo)。

驗(yàn)證軟件性能是否符合軟件需求文檔中的性能指標(biāo)要求是軟件系統(tǒng)性能測試最主要的目標(biāo)。軟件是否符合預(yù)定的設(shè)計(jì)目標(biāo),是否符合用戶現(xiàn)在或?qū)淼膽?yīng)用要求稱之為性能符合性驗(yàn)證即能力驗(yàn)證。

缺陷發(fā)現(xiàn)性能測試的主要目的是通過性能測試的手段來發(fā)現(xiàn)系統(tǒng)中存在的缺陷,并不需要驗(yàn)證性能指標(biāo)是否滿足需求的要求。

能力規(guī)劃應(yīng)用領(lǐng)域關(guān)心的是“應(yīng)該如何使系統(tǒng)具有用戶要求的性能能力”或是“在某種可能發(fā)生的條件下,系統(tǒng)如何調(diào)整才能具有用戶要求的性能能力”。性能調(diào)優(yōu)的前提是進(jìn)行性能瓶頸定位,在性能測試工作中是一項(xiàng)難度非常大的工作。在性能測試過程中,如果發(fā)現(xiàn)了性能指標(biāo)不合格,需要在眾多因素中進(jìn)行逐步甄別。

4 性能測試流程

基于LoadRunner的性能測試的一般流程為:制定測試計(jì)劃->設(shè)計(jì)性能測試方案->錄制VU腳本->創(chuàng)建測試場景->執(zhí)行性能測試->進(jìn)行結(jié)果分析。

在制定測試計(jì)劃階段進(jìn)行測試需求的收集、典型場景的確定;測試設(shè)計(jì)階段進(jìn)行測試用例的設(shè)計(jì);創(chuàng)建VU腳本階段根據(jù)設(shè)計(jì)的用例錄制操作腳本;創(chuàng)建測試場景階段需要按照測試設(shè)計(jì)方案進(jìn)行測試場景的設(shè)置,包括用戶數(shù)量、并發(fā)策略、測試時(shí)長、監(jiān)控指標(biāo)等的設(shè)定;執(zhí)行性能測試指將設(shè)定好的測試場景運(yùn)行起來,收集測試數(shù)據(jù);分析測試結(jié)果階段進(jìn)行結(jié)果分析和報(bào)告的編制。

5 具體實(shí)現(xiàn)

5.1 明確性能測試需求

根據(jù)系統(tǒng)的特點(diǎn)需要驗(yàn)證系統(tǒng)能夠支持20個(gè)用戶并發(fā)操作;登錄最大響應(yīng)時(shí)間0.5S;系統(tǒng)峰時(shí)訪問下CPU利用率不超過40%,內(nèi)存利用率不超過40%。

5.2 書寫測試用例

根據(jù)性能需求書寫測試用例,登錄測試用例如下。

5.3 測試環(huán)境搭建

考試系統(tǒng)的測試環(huán)境為:Windows7操作系統(tǒng),MySQI數(shù)據(jù)庫,服務(wù)器為Tomcat7.0。

5.4 腳本錄制與開發(fā)

首先啟動(dòng)LoadRunner的Virtual User Generator選用http協(xié)議進(jìn)行登錄測試腳本的錄制,錄制完腳本后對自動(dòng)錄制的腳本進(jìn)行二次開發(fā)。

添加事務(wù):添加事務(wù)開始的標(biāo)記Lr_start_transaction()及Lr_end_transaction()事務(wù)結(jié)束的標(biāo)記。LoadRunner采集完成其定義的每個(gè)事務(wù)所花費(fèi)的時(shí)間段,并在測試后在Analysis中進(jìn)行統(tǒng)計(jì)分析。

添加檢查點(diǎn):為檢查執(zhí)行成功率系統(tǒng)在執(zhí)行過程中需要明確判斷某個(gè)操作是否通過,在相應(yīng)的位置插入檢查點(diǎn)函數(shù)Web_reg_find()并添加檢查點(diǎn)內(nèi)容。

參數(shù)化:為了更加真實(shí)的模擬實(shí)際環(huán)境,需要在腳本中用參數(shù)取代常量值,將登錄用戶名及密碼參數(shù)化,并建立用戶名及密碼的測試數(shù)據(jù)文件。

集合點(diǎn):用來模擬多用戶對系統(tǒng)的并發(fā)訪問,在腳本中相應(yīng)位置插入集合點(diǎn)函數(shù)Rendezvous()。

思考時(shí)間:為了模擬真實(shí)的情況,添加思考時(shí)間函數(shù)。

5.5 場景設(shè)計(jì)及運(yùn)行

錄制的測試腳本調(diào)試通過后,將其添加至Controller中創(chuàng)建場景,在Controller中有兩種測試場景分別是手動(dòng)場景和面向目標(biāo)場景。根據(jù)需求選用手動(dòng)測試場景。在Controller中設(shè)置虛擬用戶的數(shù)量和行為方式,運(yùn)行方式選擇Basic Schedule:每20秒增加2個(gè)虛擬用戶,增加至20個(gè),持續(xù)運(yùn)行5分鐘,然后每20秒遞減4個(gè),減少至0個(gè);添加監(jiān)控的Windows資源CPU及內(nèi)存,然后運(yùn)行測試場景對系統(tǒng)產(chǎn)生壓力并監(jiān)控相應(yīng)的指標(biāo)。

5.6 Analysis分析的結(jié)果

根據(jù)執(zhí)行的場景,分析測試結(jié)果。

通過Analysis分析場景運(yùn)行結(jié)果,可以發(fā)現(xiàn)登錄事務(wù)的最小響應(yīng)時(shí)間為0.008,平均響應(yīng)時(shí)間為0.034,最大響應(yīng)時(shí)間為0.105,可以判斷登錄的系統(tǒng)的實(shí)際最大響應(yīng)時(shí)間小于性能需求的最大響應(yīng)時(shí)間,判斷系統(tǒng)滿足登錄的性能需求。

圖3是測試用例場景運(yùn)行過程中的系統(tǒng)CPU使用情況,測試用例場景共運(yùn)行兩次,通過兩次場景運(yùn)行結(jié)果的交叉比較,可以發(fā)現(xiàn)在圖3中第一次運(yùn)行結(jié)果中CPU使用率為17.312%,第二次運(yùn)行結(jié)果中CPU使用率為37.251%,滿足系統(tǒng)峰時(shí)訪問下CPU利用率不超過40%的性能需求。圖4是測試用例場景運(yùn)行過程中的系統(tǒng)內(nèi)存使用情況。在圖4中第一次運(yùn)行結(jié)果中內(nèi)存使用率為49.78%,第二次運(yùn)行結(jié)果中內(nèi)存使用率為41.17%,不滿足系統(tǒng)峰時(shí)訪問下內(nèi)存利用率不超過40%的性能需求。

5.7 系統(tǒng)瓶頸

從測試結(jié)果分析,系統(tǒng)滿足相應(yīng)時(shí)間的請求,滿足峰時(shí)訪問CPU使用率低于40%的需求,但內(nèi)存使用率略高于性能需求中的40%。因此判斷系統(tǒng)存在性能瓶頸,主要是占用資源較高,建議調(diào)優(yōu)方案為重構(gòu)代碼,及時(shí)釋放系統(tǒng)資源。

6 結(jié)語

本文是小型網(wǎng)絡(luò)考試系統(tǒng)的性能測試,首先設(shè)計(jì)了完整的測試及驗(yàn)證方案,然后借助LoadRunner測試工具,錄制測試腳本并對腳本進(jìn)行二次開發(fā),選擇合適的場景模擬多用戶并發(fā)操作,最后收集并整理測試數(shù)據(jù),對數(shù)據(jù)進(jìn)行合理的組合與分析,最終得出系統(tǒng)性能測試的需求滿足情況及系統(tǒng)瓶頸。

參考文獻(xiàn):

[1] 修佳鵬.軟件性能測試及工具應(yīng)用[M].清華大學(xué)出版社,2014:1.

[2] Bozic J, Garn B, Kapsalis I, et al. Attack Pattern-Based Com?binatorial Testing with Constraints for Web Security Testing[C].IEEE International Conference on Software Quality, Reliability and Security. IEEE, 2015:207-212.

[3] Novak S, Stefanovi? D, Popovi? M, et al. Web based systemfor automatic testing[C]. IEEE International Workshop on Consumer Electronics. IEEE, 2017:30-31.

【通聯(lián)編輯:王力】

猜你喜歡
性能測試腳本
酒駕
數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
快樂假期
神奇的數(shù)學(xué)
小編的新年愿望
車聯(lián)網(wǎng)專用短程通信技術(shù)