• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Web性能測試的貼吧網(wǎng)站自動化測試研究

      2018-01-05 08:10:33黃小林申珅
      軟件工程 2017年11期
      關(guān)鍵詞:自動化測試性能測試

      黃小林+申珅

      摘 要:本文使用LoadRunner工具對貼吧網(wǎng)站進行Web性能測試。貼吧是為學(xué)生們提供一個互動的空間。在開發(fā)和使用過程中,不可避免地會出現(xiàn)用戶訪問規(guī)模大、負載重等性能方面的問題。因此,可以采用LoadRunner專業(yè)工具,進行性能測試,檢測這些問題。首先,通過對項目分析,設(shè)計完善的測試方案;然后,錄制相關(guān)腳本,對腳本進行優(yōu)化處理,并模擬多用戶并發(fā),設(shè)計場景;最后,對測試用例進行系統(tǒng)化的整理,生成測試分析報告。本文為研究采用LoadRunner工具對Web網(wǎng)站進行自動化測試提供一種技術(shù)方案。

      關(guān)鍵詞:Web;性能測試;自動化測試;LoadRunner

      中圖分類號:TP311 文獻標識碼:A

      Abstract:In this paper,LoadRunner tools are applied to implement web performance testing on post bars.Post bars provide students with interactive space.In the development and application of post bars,some performance problems are unavoidable,such as the excessive load caused by too many visitors.Therefore,professional LoadRunner tools can be applied to implement performance testing and detect the problems.Firstly,the paper designs a thorough test scheme based on the project analysis.Then,the paper records and optimizes relevant scripts,simulates multi-user concurrency,and designs the scene.Finally,the test cases are systematically organized to generate test analysis reports.This paper offers a technical solution to automated website testing with LoadRunner tools.

      Keywords:web;performance testing;automated testing;LoadRunner

      1 引言(Introduction)

      本測試主要針對徐州工程學(xué)院貼吧進行性能方面的測試,目的是檢測網(wǎng)站功能和性能上的缺陷,完善該平臺。性能測試是指在軟件開發(fā)后期,為了證實該軟件的可用性、穩(wěn)定性和可靠性,通過增加變換負載對軟件系統(tǒng)進行的壓力測試,主要目的是檢測出軟件系統(tǒng)最大承受的負載量是否能夠達到需求的標準[1]。

      測試方法為基于LoadRunner的負載測試。測試目標為檢測出軟件系統(tǒng)能承受的最大負載和檢測性能是否符合基本客戶要求。通過不斷改變負載環(huán)境來全面檢測系統(tǒng)性能,避免性能盲點,以及一臺計算機運行腳本、多臺客戶機進行重復(fù),并給出這種方法在Web應(yīng)用性能測試實踐中的一個具體應(yīng)用[2]。

      LoadRunner是當下測試工作中較為常用的負載測試工具[3]。該軟件分為三個部分,先由測試者根據(jù)需求自行錄制對應(yīng)的腳本,再通過設(shè)置負載環(huán)境對腳本進行用戶模擬操作,最后使用自動化分析插件對運行結(jié)果進行分析,生成線形圖。

      2 LoadRunner功能(LoadRunner features)

      2.1 LoadRunner術(shù)語

      (1)場景:場景文件是根據(jù)性能需求來定義每次測試期間通過的事務(wù)。

      (2)Vuser:虛擬用戶處于場景中,LoadRunner用虛擬用戶來代替真實用戶,模仿真實用戶的操作來使用應(yīng)用系統(tǒng)。一個場景可以包含成百上千個Vuser。

      (3)腳本:腳本描述Vuser在場景中所執(zhí)行的動作。

      (4)事務(wù):要檢測服務(wù)器的性能,首先需要定義事務(wù)。事務(wù)表示要評測的終端用戶業(yè)務(wù)流程。

      2.2 創(chuàng)建虛擬用戶

      通過使用Virtual User Generator組件[4],錄制相關(guān)用戶腳本。首先模擬真實用戶操作,錄制相關(guān)模塊的腳本,待錄制完畢,對腳本進行優(yōu)化處理。然后將其轉(zhuǎn)換成測試腳本。該組件通過模擬真實環(huán)境的業(yè)務(wù)操作來對網(wǎng)站進行性能測試,讓很多虛擬用戶模擬真實用戶,并發(fā)操作,對服務(wù)器進行負載。利用這些虛擬用戶,測試人員能夠在多個服務(wù)器上并發(fā)訪問網(wǎng)站,從而對服務(wù)器生成負載。LoadRunner測試工具能有效地減少測試過程中的資源耗費。在通過Virtual User Generator組件創(chuàng)建并優(yōu)化測試腳本后,需要對相關(guān)參數(shù)進行設(shè)置,可以通過模擬多種實際情況來測試網(wǎng)站性能。

      2.3 創(chuàng)建真實的負載

      在建立虛擬用戶之后,測試人員需要根據(jù)測試需要來確定虛擬用戶的數(shù)量,從而更好地測試網(wǎng)站性能[5]。利用LoadRunner測試工具中的Controller組件,能夠快速設(shè)置測試場景,并且確定虛擬用戶數(shù),并明確測試方案。Controller組件中有一個Rendezvous功能,能夠有效提供給測試人員一個互動的環(huán)境,讓負載循環(huán)操作,并且能夠讓測試人員更好地管理負載測試方案。同時,測試人員還可以設(shè)定虛擬用戶訪問網(wǎng)站的時間對網(wǎng)站設(shè)定不同的負載。在一定程度上,讓測試過程更加智能化。Controller組件還可以設(shè)定虛擬用戶同時執(zhí)行,從而達到模擬峰值數(shù)據(jù)的目的。endprint

      2.4 定位性能問題

      LoadRunner測試工具中,有一個實時監(jiān)測的功能。在運行測試過程中,測試人員可以通過折線圖來觀察系統(tǒng)每個時間段的運行情況。這樣,測試人員可以及時發(fā)現(xiàn)系統(tǒng)運行過程中性能的不足,能夠?qū)崟r定位性能的弱點。通過LoadRunner中的ContentCheck TM組件,還能有效判斷哪個模塊的哪個功能是否正常運行。ContentCheck組件在虛擬用戶運行過程中,能夠判斷是否有錯誤數(shù)據(jù)傳出,能夠有效地幫助測試人員查看系統(tǒng)性能情況。

      2.5 測試報告

      當測試結(jié)束以后,LoadRunner會自動收集并匯總,生成測試結(jié)果數(shù)據(jù),提供高級的分析報告,測試人員可通過此工具及時發(fā)現(xiàn)性能問題并進行實時反饋。使用分析工具,可以很快地查找到缺陷所在,并及時將錯誤內(nèi)容和需要改進的地方做出反饋。

      通過Controller對目標進行負載測試之后,進入Analysis進行性能測試分析,擬寫測試報告。完整的測試報告應(yīng)當包含幾個部分[6]:

      (1)摘要報告:查看平均時間、最大時間、前一次時間等各項數(shù)據(jù)。

      (2)Vuser日志:虛擬用戶在運行的過程中所產(chǎn)生的運行明細。

      (3)測試狀態(tài)(Controller中查看):查看虛擬用戶在場景中的運行情況。

      (4)正在運行的Vuser:在指定的時間內(nèi)Vuser運行的數(shù)量。

      (5)每秒點擊次數(shù)線形圖:根據(jù)線形圖觀察用戶對服務(wù)器發(fā)出的請求量。

      (6)吞吐量:單位時間內(nèi)傳輸數(shù)據(jù)的數(shù)量(以比特、字節(jié)、分組等測量)。

      (7)事務(wù)概要:查看在特定數(shù)量的并發(fā)用戶運行時,能夠通過的事務(wù)數(shù)量和不能通過的事務(wù)數(shù)量。

      (8)事務(wù)響應(yīng)時間:在特定時間內(nèi),隨著并發(fā)用戶數(shù)量的變化而變化的事務(wù)響應(yīng)所需的時間。

      (9)CPU和內(nèi)存使用情況:隨著時間和并發(fā)用戶數(shù)量的變動,CPU占用百分比和內(nèi)存占用量產(chǎn)生的變化。

      3 測試項目(Project undertesting)

      黑盒測試主要采用自動化測試的方法。選用LoadRunner這個測試工具,對貼吧重要的功能進行性能測試,找出運行缺陷,從而擬寫完善的測試報告。

      3.1 測試內(nèi)容

      測試用戶注冊、用戶登錄、我的帖子和我的設(shè)置這四個大模塊,其中我的帖子測試中包括四個子功能的測試:發(fā)帖、刪帖、評論和回復(fù);我的設(shè)置測試中也包括四個子功能的測試:簽到、關(guān)注、刷新和分享。根據(jù)這些內(nèi)容編寫測試用例,對每個功能進行測試分析,從而發(fā)現(xiàn)缺陷,完善功能。

      3.2 測試思路

      根據(jù)對徐州工程學(xué)院百度貼吧實際運用中出現(xiàn)的特點,分析出徐州工程學(xué)院貼吧在實際運用中將會出現(xiàn)以下特點:

      (1)VIP用戶模塊使用率較低,普通用戶使用率很高。

      (2)主任務(wù)為登錄、發(fā)帖、頁面的切換。

      (3)負載期間,將會有大量用戶登錄,相應(yīng)模塊的壓力增強。

      (4)結(jié)合本校和百度貼吧的普及率考慮,特定時間段預(yù)計登錄人數(shù)約為10到500人,相應(yīng)的測試方案也會在此基礎(chǔ)上形成。

      3.3 測試方案設(shè)計

      網(wǎng)站主要操作為用戶登錄、用戶注冊和游客瀏覽等功能,可以確定主任務(wù)為用戶注冊、用戶登錄、發(fā)帖評論和游客頁面切換。

      基本流程為(1)進入頁面首頁,點擊注冊按鈕。(2)進入用戶注冊頁面,輸入用戶注冊的賬號和密碼,點擊發(fā)送驗證碼,輸入驗證碼。(3)注冊成功,跳轉(zhuǎn)到貼吧首頁并且自動登錄。(4)點擊發(fā)帖按鈕,在標題和正文文本框中輸入內(nèi)容,點擊“我要發(fā)表”發(fā)表成功。(5)點擊進入帖子頁面。點擊“我也說一句”按鈕,輸入內(nèi)容,點擊發(fā)表。(6)點擊刪除按鈕,確認刪除。(7)退出登錄,返回徐州工程學(xué)院貼吧首頁。

      根據(jù)測試思路,本次測試將創(chuàng)建Vuser腳本去模擬用戶在操作時的不同情況,根據(jù)測試目標去定義虛擬用戶并發(fā)形式、并發(fā)數(shù)量,設(shè)置合適的負載,并且在錄制過程中將腳本完善、具體化,用集合點來模擬高峰期的使用情況。

      3.4 測試用例設(shè)計

      測試用例Ⅰ為10Vuser低負載發(fā)帖操作,測試用例Ⅱ為50Vuser中負載發(fā)帖操作,測試用例Ⅲ為500Vuser高負載發(fā)帖操作,測試用例Ⅳ為10Vuser低負載注冊登錄操作,測試用例Ⅴ為50Vuser中負載注冊登錄操作,測試用例Ⅵ為500Vuser高負載注冊登錄操作。根據(jù)本次測試的需求情況,從所有用例中篩選出6個較為典型的測試用例。

      以測試用例Ⅲ為例,測試場景描述:總共登錄500個用戶,登錄模式為每5秒100個用戶并發(fā)操作。(1)用戶在用戶發(fā)帖模塊中活動,過程包括:輸入標題與正文內(nèi)容,界面輸出相應(yīng)數(shù)據(jù),此過程重復(fù)兩次。(2)用戶點擊“我要發(fā)表”鏈接,提交并提示發(fā)表成功。(3)用戶進行界面切換,順序為:主頁面、帖子界面。(4)返回用戶主頁并退出。

      4 測試報告(Report)

      4.1 性能概要

      以測試用例Ⅲ為例,Analysis對腳本運行的結(jié)果的摘要報告如圖1所示。

      4.2 圖形方式查看性能

      (1)正在運行Vuser

      運行開始后,虛擬用戶的數(shù)量逐步增加,之后逐步遞減。并發(fā)線形圖如圖2所示。

      (2)吞吐量

      吞吐量指的是系統(tǒng)在負載測試中單位時間內(nèi)通過的事務(wù)數(shù)量即交換的數(shù)據(jù)量。如圖3所示為測試用例Ⅲ吞吐量的情況,網(wǎng)絡(luò)資源呈平穩(wěn)趨勢。

      (3)平均事務(wù)響應(yīng)時間

      圖4中曲線表示action,通過觀察可以看出,隨著虛擬用戶的增加,action沒有呈現(xiàn)穩(wěn)定趨勢,而且突然急劇拉長呈快速上升和下降趨勢。因此,當并發(fā)用戶為500時,服務(wù)器無法承受這樣的負載,將會崩潰。endprint

      (4)每秒點擊次數(shù)

      每秒點擊次數(shù)表示用戶每秒向Web服務(wù)器發(fā)出的請求次數(shù),服務(wù)器承受的壓力與點擊次數(shù)成正比,通過查看點擊對服務(wù)器產(chǎn)生的影響來進行性能分析。運行的初期,縱坐標有很大的波動,當虛擬用戶開始減少時,縱坐標趨向穩(wěn)定,結(jié)合running vuser進行觀察,當虛擬用戶在50左右時,性能相對達到比較穩(wěn)定的階段。

      (5)事務(wù)概要

      圖5中,最高柱形圖為未通過事務(wù),最低柱形圖為通過的事務(wù),最后兩個為被終止的事務(wù)??梢钥闯觯蟛糠质聞?wù)都沒有通過,因此當虛擬用戶為500時,性能很不穩(wěn)定,服務(wù)器幾近崩潰,性能達到一個瓶頸。虛擬用戶為10時,運行良好,不能說明性能有問題。

      5 結(jié)論(Conclusion)

      通過設(shè)計測試用例,使用LoadRunner錄制腳本,通過Controller模擬多用戶并發(fā)測試場景,調(diào)試,收集測試數(shù)據(jù),再由Analysis對測試的結(jié)果進行分析探討,對貼吧性能實現(xiàn)了初步的檢測并最終生成測試報告。測試結(jié)果顯示的是貼吧服務(wù)器軟件各事務(wù)的平均響應(yīng)時間與負載的關(guān)系;當虛擬用戶并發(fā)量達到60的時候,通過率極佳,比重約為100%。在所有通過的事務(wù)之中,登錄事務(wù)所占比重最大,這個決定因素主要在于事務(wù)的性質(zhì);在高并發(fā)高負載的情況下,事務(wù)響應(yīng)時間和每秒點擊次數(shù)會發(fā)生驟升,也就是通過這樣的情況來檢測系統(tǒng)的瓶頸所在;當并發(fā)用戶達到300時,服務(wù)器會直接面臨崩潰。

      參考文獻(References)

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

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

      [3] Abbas R,Sultan Z,Shahid N.Comparative Analysis of Automated Load Testing Tools:Apache JMeter,Microsoft Visual Studio (TFS),LoadRunner,Siege[C].Internation Conference on Communication Technologies Comtech,2017:56-61.

      [4] 陳英,孫忠林.基于LoadRunner的Web系統(tǒng)性能測試與優(yōu)化[J].軟件導(dǎo)刊,2017,16(9):26-27.

      [5] 宋巍,張春柳,鄔斌亮.Web系統(tǒng)性能測試研究與實踐[J].計算機應(yīng)用與軟件, 2015(3):4-6.

      [6] 魏娜娣,李文斌,裴軍霞.軟件性能測試[M].北京:清華大學(xué)出版社,2012:45-72.

      作者簡介:

      黃小林(1975-),男,碩士,實驗師.研究領(lǐng)域:軟件測試,軟件開發(fā).

      申 珅(1980-),女,碩士,講師.研究領(lǐng)域:軟件測試,智能優(yōu)化.endprint

      猜你喜歡
      自動化測試性能測試
      Hadoop性能測試自動化研究
      數(shù)據(jù)驅(qū)動和關(guān)鍵字驅(qū)動的研究與應(yīng)用
      軟件(2016年4期)2017-01-20 09:56:35
      淺談空調(diào)控制器自動化測試
      東方教育(2016年7期)2017-01-17 21:28:10
      基于多總線結(jié)構(gòu)的電路板測試系統(tǒng)設(shè)計研究
      價值工程(2016年32期)2016-12-20 20:32:01
      航空航天與國防電子新形勢下自動化測試系統(tǒng)的應(yīng)用
      價值工程(2016年29期)2016-11-14 02:40:46
      基于CTI—TET和SeleniumWebdriver的Web應(yīng)用自動化測試框架的設(shè)計與實現(xiàn)
      軟件工程(2016年8期)2016-10-25 15:45:45
      關(guān)于Java軟件的性能測試分析
      車聯(lián)網(wǎng)專用短程通信技術(shù)
      論轉(zhuǎn)向系統(tǒng)匹配構(gòu)架和實踐
      黃麻、洋麻纖維性能研究
      中國纖檢(2015年3期)2015-03-13 18:28:41
      句容市| 怀安县| 明溪县| 商洛市| 丹东市| 正宁县| 桂林市| 塘沽区| 夏河县| 龙泉市| 兰西县| 颍上县| 西乌珠穆沁旗| 高唐县| 遵义市| 宜黄县| 六枝特区| 武安市| 法库县| 临朐县| 蒙自县| 色达县| 稻城县| 孝昌县| 县级市| 邓州市| 台湾省| 定兴县| 永顺县| 禹城市| 连云港市| 邛崃市| 会泽县| 葵青区| 仙游县| 文水县| 阳高县| 宜君县| 商南县| 南汇区| 永昌县|