999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種Web應用系統性能測試流程及其應用研究

2016-01-25 07:19:08宋士濤
山東科學 2015年4期
關鍵詞:功能分析模型

宋士濤

(1.國家網絡軟件產品質量監督檢驗中心(濟南), 山東 濟南 250014;2.山東省軟件產品質量監督檢驗中心,山東 濟南 250014)

?

一種Web應用系統性能測試流程及其應用研究

宋士濤1,2

(1.國家網絡軟件產品質量監督檢驗中心(濟南), 山東 濟南 250014;2.山東省軟件產品質量監督檢驗中心,山東 濟南 250014)

摘要:結合LoadRunner、Segue和PTGM性能測試過程模型,提出了一種有效的Web應用系統性能測試流程,涵蓋從項目策劃、測試方案到結果分析并出具報告的全過程,并引入控制庫來保證過程中每個階段的成果質量。應用本測試流程,完成了某Web應用系統的性能測試工作,獲取了各項預期結果,證明了該流程的可靠性。

關鍵詞:性能測試; Web系統; 測試流程; LoadRunner測試模型

軟件測試作為軟件質量保證的重要手段,是解決軟件危機的重要途徑,在整個軟件生命周期中占有非常重要的位置[1]。為了保證Web應用的可用性和高效性,系統上線前必須對Web應用進行性能測試,提前暴露出系統的性能問題,并提供一定數量的分析數據來優化系統,有效地提高系統的可靠性和可用性。

Web應用系統性能測試不同于功能性測試,功能測試關注產品的所有功能,要考慮到每個細節功能,每個可能存在的功能問題,而性能測試是通過自動化的測試工具模擬多種情況來對系統的各項性能指標進行測試,主要關注多用戶并發情況下產品的性能瓶頸并加以優化,從而保證程序在實際中提供良好和可靠的性能[2]。因此,在性能測試過程中,要考慮系統運行時各種正常、峰值以及異常負載情況,確定并發用戶數以及關鍵功能點等[3]。

性能測試應遵循一定的測試流程,通常稱這種流程為性能測試過程模型[4]。常見的Web系統性能測試過程模型有LoadRunner過程模型[5]、Segue過程模型和PTGM過程模型[6]等。

LoadRunner過程模型將性能測試過程分為計劃測試、測試設計、創建VU腳本、創建測試場景、運行測試場景和分析結果6個步驟,涵蓋了性能測試工作的大部分內容,但由于該過程過于緊密地與LoadRunner工具集成,沒有兼顧使用其他工具或用戶自行設計工具的需求[5]。

Segue過程模型從確定性能基線開始,通過單用戶對應用的訪問獲取性能取值的基線,然后設定可接受的性能目標,用不同的并發用戶數等重復進行測試。這種性能測試方法非常適合性能調優和性能優化,通過不斷重復的try-check過程,可以逐一找到可能導致性能瓶頸的地方并對其進行優化。但該測試過程同LoadRunner過程一樣,同樣過于依賴工具本身,另外缺乏對計劃、設計階段的明確劃分,也沒有給出具體的活動和目標[6]。

PTGM過程模型參考了各種不同的性能測試、分析等模型,囊括了從“測試團隊組建”到“測試分析”的全部過程,為每個步驟設計了相應的活動,是一個非常有實踐指導意義的性能測試模型[6]。

總體而言,前兩個模型為基于工具的性能測試模型,通用性較差;PTGM模型通用性較強,但對性能指標與測試影響因素的界定及具體的性能需求分析能力相對不足[7-8]。為了彌補現有性能測試流程存在的問題,本文結合多種性能測試過程模型,在長期工作實踐的基礎上,提出了一套有效的性能測試流程。

1性能測試過程模型

該流程分為測試項目策劃、制定測試方案、測試設計、測試執行、測試評估和結果分析以及報告生成6個步驟,如圖1所示。

圖1 軟件性能測試過程流程圖Fig.1 Flowchart of software performance testing process

1.1測試項目策劃

項目策劃階段是測試工作的起點,當項目組接到測試任務后,首先對被測軟件進行測試需求概要分析,根據分析結果確定項目組織架構,并制定總體實施計劃。

1.2制定測試方案

測試方案是測試過程的根本,是測試設計、測試執行階段的指導性文件。在方案中,需詳細分析被測軟件性能需求、特點和運行環境,得出此次性能測試的主要功能點、測試過程中的數據量、并發用戶數(包括系統運行高峰期用戶數和正常情況下的用戶數)和用戶分布情況等,并確定將要測試的性能指標。此外,對測試工具、測試方法、測試策略和測試場景等進行詳細定義,以指導測試人員據此進行測試設計。

在項目的管理方面,測試方案還將確定測試工作組的組織架構,以合理安排測試的組織與人員,確保按時完成任務;決定測試準入準出條件、制定質量保證計劃、配置管理計劃和風險管理計劃等,以保證整個性能測試過程的順利進行[9]。

1.3測試設計

本階段將依據測試方案的規定完成測試環境的搭建,并進行測試設計。性能測試過程的測試設計不同于功能測試的設計,主要包括性能測試用例的設計、開發并完善測試腳本和設置測試場景等。在性能測試過程中,測試場景是一種用來模擬大量用戶操作的技術手段,通過配置和執行場景可向服務器產生負載,以驗證系統各項性能指標是否達到用戶要求。測試腳本是通過測試工具,錄制軟件執行過程并完善得到的腳本,為測試場景設計做準備[10]。性能測試用例是測試腳本、測試場景的基礎,一個好的性能測試用例,將能夠指導測試腳本的開發及完善,并指導在測試腳本基礎之上的測試場景的設置[11]。因此在用例中需要定義用戶并發數、所涉及主要功能點的操作步驟、集合點的設置、檢查點的設置、參數化的設置、測試場景設置中運行時設置要求以及將要監控的性能指標等。

1.4測試執行

測試執行是已設置好的測試場景執行的過程。需要注意的是,在測試執行時,一定要盡可能地模擬被測系統的真實使用環境,包括硬件環境、軟件環境和數據環境,要真實地還原被測系統的應用現場。一般情況下,測試場景的執行按照測試方案中對測試策略的規定執行,在進行壓力測試時,為了尋找性能瓶頸,當對相同的場景進行不同用戶數的測試執行時,可采用折半查找法的方式設置并發數,以減少測試時間,加快測試效率。同時,測試執行中,為了保證測試結果可復現、可查詢,要保存測試場景及測試結果電子數據。

1.5測試評估

測試執行完成之后,測試組應回溯測試過程,評估測試質量,以確保測試結果的客觀、真實和有效。評估過程中發現與預期結果差距非常大的,應返回重新執行測試。

1.6結果分析及報告生成

本階段包括測試結果分析與總結,以及生成測試報告,是性能測試過程中最后的階段,也是最能體現性能測試價值的階段。通過對系統響應時間、TPS、資源使用率、用戶并發數、吞吐量和網絡流量等主要性能指標的分析,對系統做出性能評價,同時定位被測系統性能瓶頸,為系統性能調優提供證據支持,給出改進方案[10]。

除上述步驟外,在性能測試過程的每個階段,都需要對階段性的成果進行評審,確保階段性成果的正確性,經評審通過的階段性成果,需作為基線納入文件控制庫,測試項目組任何人未經允許不得隨意修改。

2實例分析

基于上文提出的性能測試流程,以某軟件公司設計的工礦企業能耗系統為對象,對其進行性能測試,并對測試結果進行了深入分析。針對本文所提出流程與現有其他流程的不同之處,主要進行測試工具的選擇、性能指標與測試影響因素的界定以及具體的性能需求分析。

2.1項目策劃

首先對被測系統進行概要分析。該系統是一款基于B/S結構的、適用于工礦企業的信息管理系統。通過對系統性能需求進行概要分析,初步確定了性能指標及測試影響因素,結合系統規模,確定了三人規模的性能測試組織架構(不含質量管理人員和配置管理人員),并制定了總體實施計劃。

2.2制定測試方案

PTGM模型雖然通用性較強,但對性能指標與測試影響因素的界定及具體的性能需求分析能力相對不足。我們提出的性能測試流程在保持流程通用性的同時,加強了對測試需求分析和其他相關要素分析環節的關注度,增強了性能需求分析能力,以確定性能指標及其他影響測試的因素。同時,增加了測試準入和準出條件的設定,以求盡可能地減少影響測試的其他因素,彌補了PTGM模型的不足。

2.2.1測試需求分析

經過對被測系統進行詳細需求分析,認為作為一個工礦企業信息管理系統,為了滿足企業內部信息管理要求,該系統性能需求應涵蓋軟件質量特性的時間特性和資源利用性[12]。相應地,在之后的測試中將選擇單一業務基準測試、正常使用情況時一定并發用戶數下的負載測試及長時間疲勞測試、并發用戶數峰值情況下的壓力測試和目標場景測試等,并重點關注以下性能指標[13]:數據庫、服務器CPU平均使用率、可用內存比率、各主要功能的響應時間和TPS。同時,為了更客觀地監測及分析系統性能,我們增加網絡流量、事務成功率等性能指標。

2.2.2測試相關要素分析

為了測試上述性能指標,需確定哪些功能為系統主要功能及并發用戶數、用戶分布比例、系統正常運行時的數據量規模等情況[14]。主要功能的選取原則如下:

(1)業務使用頻率高;

(2)單位時段內目標用戶比較集中;

(3)業務操作的關聯數據量較大。

根據以上條件,我們確定了系統中參與性能測試的主要功能,包括系統登錄、統計報表、數據分析和系統管理等模塊下的功能。同時,根據系統運行實際,確定了系統運行高峰時期并發用戶數為1 000,各種不同角色的用戶按一定比例分布(分布比例在此不作贅述),數據量參考系統正常運行一年后的情況。

此外,還對系統性能指標的性能拐點作出了規定,以確定何時中止測試。

2.2.3測試工具、方法和策略

LoadRunner過程模型和Segue過程模型都對測試工具進行了限定,而目前市場上的測試工具有多種,其中主要的有QALoad、SilkPerformer和HP-MercuryLoadRunner等。如果一個測試流程過分依賴測試工具,將大大增加它的局限性。我們提出的測試流程并未對測試工具進行限制,在此,采用HP-MercuryLoadRunner進行本次測試。LoadRunner是一種預測系統行為和性能的負載測試工具,通過模擬實際用戶實施并發負載及實時性能監測的方式來確認和查找系統的瓶頸[15]。

在測試過程中,我們對上節選定的主要功能均進行多用戶并發情況下的單一功能業務場景測試,以取得該功能點在某個高峰期接收到大量的并發請求時的性能狀況。此外,對所有主要的功能點,還將進行混合功能業務場景測試,模擬實際系統的使用情況,以得知各功能點的響應時間及此時的系統性能狀況。另外,設計目標場景,驗證該系統是否達到需求目標。

由于確定系統高峰時用戶并發數為1 000,但是在實際測試之前并不能確定系統是否能夠滿足此并發用戶數的要求,因此在設計測試策略時,針對某一功能或混合業務功能,首先模擬500個用戶并發, 若500用戶并發執行時沒有出現性能拐點,則模擬1 000個用戶并發,以得知各功能操作的響應時間情況,每秒通過的交易數以及服務器端的資源利用情況等。通過上述測試策略,可得知系統在1 000用戶數并發情況下的性能情況。

2.2.4測試準入和準出條件

測試的準入與準出條件的設定,將會影響測試結果的準確性。本次測試準入條件主要包括項目組技術支持人員和軟、硬件資源到位,被測系統運行環境和數據準備完畢;準出條件為測試場景按要求執行完畢并完成了測試結果的收集整理工作。

2.2.5其他

除了上述與測試密切相關的方面外,測試方案中還包括項目管理的諸多方面:項目組織實施、質量保證計劃、配置管理計劃和風險管控計劃。這些方案的合理制定,將保證整個性能測試工作的順利實施,排除影響測試結果的不穩定因素,對測試質量提供有力的保障。

2.3測試設計與執行

在本階段,我們按照性能測試過程模型中對于性能測試用例設計的要求,對測試方案中所選定的功能點進行用例設計。系統中其中一個功能點“采集方案日志”的性能測試用例設計見表1。

表1 某功能點性能測試用例舉例

根據上述測試用例,即可完成測試腳本的開發與完善,并生成測試場景,按照測試策略的規定進行執行,取得測試結果。當用戶并發數為1 000時,系統資源使用情況分析如圖2所示。從圖中可以看出,系統CPU利用率長時間穩定在70%~80%之間,平均值為72.935%,認為滿足用戶提出的CPU低于80%的需求。

圖2 1 000用戶并發執行采集方案日志查詢時的系統資源圖Fig.2 System resource diagram when 1 000 users executing collection plan log query

2.4測試結果分析及報告生成

對測試結果進行評估通過之后,即進入測試結果分析及報告生成階段。2.3中測試用例執行結果分析見表2。

表2 某功能點性能測試結果

根據測試結果,在該功能點有多用戶并發請求時,CPU平均使用率在用戶需求范圍之內,但已經接近用戶需求限度值;內存平均使用率滿足用戶需求;平均響應時間等在用戶預期的范圍內。

綜合測試過程中所有的測試用例執行結果,通過分析,我們得出如下結論:

在模擬用戶使用環境的情況下,數據庫、服務器可用內存比率、各主要功能的響應時間均滿足用戶需求,并且可長期穩定運行,系統各主要功能的TPS也能達到要求,雖然數據庫、服務器CPU平均利用率稍高,但仍在可接受的范圍內,故軟件整體質量評價為合格。建議優化系統,降低CPU平均使用率。

3結語

Web應用系統性能作為軟件系統質量的一個重要方面,對系統上線后的正常使用,尤其是訪問高峰期的正常使用有著至關重要的作用。通過性能測試實例,本文詳細介紹了性能測試流程,并根據性能測試結果對軟件質量進行了評價,提出了改進建議,驗證了性能測試流程的可用性和可靠性。下一步,我們將對分布式Web應用系統的性能測試進行研究,對本文提出的性能測試流程進行改進,以擴大其應用范圍。

參考文獻:

[1]薛沖沖,陳堅.軟件測試研究[J].計算機系統應用,2010,20(2):240-244.

[2] 董娜.Web系統軟件性能測試的研究[D].廣州:暨南大學,2008.

[3] 陳小輝.Web性能測試技術的研究與實踐[D].上海:華東師范大學,2010.

[4] 連志剛.Web系統性能測試過程模型研究[D].西安:西北大學,2012.

[5] 蘇波.基于Web應用的性能測試研究[D].北京:中國石油大學,2007.

[6] 段念.軟件性能測試過程詳解與案例剖析[M].北京: 清華大學出版社,2006:23-24.

[7] 惠斌武,陳明銳,楊登攀.Web應用系統性能測試研究與應用[J].計算機應用,2011,31(7):1769-1772.

[8] 朱經紛,徐拾義.軟件可靠性綜合模型的分析和研究[J].計算機科學,2009,36(4):181-184.

[9] 崔麗娜.基于CNAS準則的軟件測試方法與實踐[D].北京:北京郵電大學,2012.

[10] 石磊.Web應用系統性能測試模型研究與應用[J].軟件導刊,2012,11(6):83-84.

[11] 陳虹.軟件測試方法研究[J].軟件導刊,2013,12(4):24-25.

[12] GB/T 16260.2-2006, 軟件工程 產品質量 第2部分:外部度量[S].

[13] 鄧璐娟,范乃梅,孫義坤,等.基于Web應用的性能測試模型研究[J].計算機工程與應用,2013,49(1):75-77.

[14] 孔平.用LoadRunner對網站進行性能測試[D].北京:北京交通大學,2011.

[15] 陳霽.性能測試進階指南:LoadRunner 11 實戰[M].北京: 電子工業出版社,2013:37-37.

PerformancetestprocessofaWebapplicationsystemanditsapplication

SONGShi-tao1,2

(1.NationalNetworkSoftwareTestingCentre(Jinan),Jinan250014,China;

2.ShandongSoftwareProductQualitySupervision&InspectionCenter,Jinan250014,China)

Abstract∶We present an effective performance testing process model for a Web application system, based on LoadRunner, Segue and PTGM performance testing models.It covers the whole process from project plan, testing policy, to result analysis and test report output.We introduce a control library to guarantee fruit quality at every stage in a test process.We finish performance testing process for a given Web application system with the model, obtain all expected results,and verify its reliability.

Key words∶performance test;Web system;test process model;LoadRunner testing model

中圖分類號:TP311

文獻標識碼:A

文章編號:1002-4026(2015)04-0094-07

作者簡介:宋士濤(1983-),男,工程師,碩士,研究方向為軟件測試技術。Email:songshitao2008@163.com

基金項目:山東省質量技術監督局科技計劃(2013KY22)

收稿日期:2014-12-19

DOI:10.3976/j.issn.1002-4026.2015.04.018

猜你喜歡
功能分析模型
一半模型
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
隱蔽失效適航要求符合性驗證分析
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
關于非首都功能疏解的幾點思考
電力系統及其自動化發展趨勢分析
3D打印中的模型分割與打包
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 97se亚洲综合在线天天| 热久久国产| 青青草国产一区二区三区| 青青草原国产免费av观看| 91在线播放国产| 亚洲丝袜第一页| 激情网址在线观看| 亚洲成a人片| 综合色婷婷| 亚洲人成日本在线观看| 国产福利免费在线观看| 久久久久九九精品影院| 2020国产在线视精品在| 国产哺乳奶水91在线播放| 久久人体视频| 日韩在线成年视频人网站观看| 国产av无码日韩av无码网站| 国产成人亚洲精品蜜芽影院| 福利片91| 国产无码制服丝袜| 国产乱码精品一区二区三区中文 | 岛国精品一区免费视频在线观看| 欧洲日本亚洲中文字幕| 久久精品日日躁夜夜躁欧美| www.99精品视频在线播放| 免费国产高清视频| 伊人久热这里只有精品视频99| 久久亚洲日本不卡一区二区| 国产在线视频福利资源站| 日本亚洲欧美在线| 无码内射在线| 日韩中文欧美| 99re热精品视频中文字幕不卡| 国产一区成人| 毛片久久网站小视频| 亚洲男人的天堂视频| 国产在线精品人成导航| 欧美怡红院视频一区二区三区| 欧美国产日本高清不卡| hezyo加勒比一区二区三区| 极品国产在线| 制服丝袜亚洲| lhav亚洲精品| 久久久黄色片| 欧美国产日产一区二区| 精品国产99久久| 好紧好深好大乳无码中文字幕| 免费看av在线网站网址| 国产女同自拍视频| 2021国产精品自拍| 第一页亚洲| 欧美性天天| 国产亚洲精品自在久久不卡| 国产成人亚洲日韩欧美电影| 国产精品所毛片视频| 欧美69视频在线| 欧美精品成人| 亚洲欧美日本国产综合在线| 在线观看免费黄色网址| 午夜少妇精品视频小电影| 国产成人精品18| 欧美一级高清片久久99| 久久久久免费看成人影片| 国产三级韩国三级理| 久久99国产视频| 四虎永久免费地址在线网站| 亚洲天堂视频在线观看| 91丨九色丨首页在线播放| a级毛片免费看| 中文字幕日韩丝袜一区| 国产www网站| 久久人体视频| yjizz视频最新网站在线| 欧美激情视频二区| 漂亮人妻被中出中文字幕久久| 免费一级毛片在线播放傲雪网| 成人国内精品久久久久影院| 蜜桃视频一区| 国产乱人伦精品一区二区| 青草视频网站在线观看| Aⅴ无码专区在线观看| 免费看a级毛片|