下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、. 性能測試方法及其應用 摘要針對Web應用軟件的特征,提出了一種基于目標的性能測試方法,其關注的主要容包括與Web應用相關的負載測試和壓力測試兩個方面。不但對這兩個方面的測試方法進展了全面的分析和探討,還強調(diào)了測試過程管理的重要作用,最后給出了這種方法在Web應用性能測試實踐中的一個具體應用。 關鍵詞: 性能測試; 負載測試; 壓力測試; 軟件測試一引言目前,隨著電子商務和電子政務等Web應用的興起,基于B/S構(gòu)造的軟件日益強勁開展,正在成為未來軟件模式的趨勢。然而,當一個Web應用被開發(fā)并展現(xiàn)在用戶、供給商或合作伙伴的面前時,尤其是即將被部署到實際運行環(huán)境之前,用戶往往會疑問:這套Web應
2、用能否承受大量并發(fā)用戶的同時訪問?系統(tǒng)對用戶的請求響應情況如何?在長時間的使用下系統(tǒng)是否運行穩(wěn)定?系統(tǒng)的整體性能狀況如何?如果存在性能瓶頸,則是什么約束了系統(tǒng)的性能?而這些正是Web性能測試解決的問題,如何有效進展Web性能測試,目前并沒有一個系統(tǒng)和完整的答復。此外,由于緊湊的開發(fā)方案和復雜的系統(tǒng)架構(gòu),Web應用的測試經(jīng)常是被無視的,即使進展了測試,其關注點也主要放在功能測試上。但是,近年來Web性能測試越來越引起重視,成為Web系統(tǒng)必不可少的重要測試容。 本文的研究就是基于這種需求,從已進展過的Web性能測試實踐中總結(jié)一套基于目標的Web性能測試方法,該方法已在大量的軟件測試工程實踐中被證明
3、是有效的和可操作的。其具體測試實施方面包括負載測試和壓力測試。1概述11根本概念 一般來說,性能測試包括負載測試和壓力測試兩個方面: 負載測試是為了確定在各種級別負載下系統(tǒng)的性能而進展的測試,其目標是測試當負載逐漸增加時,系統(tǒng)組成局部的相應輸出項,如響應、連接失敗率、CPU負載、存使用等如何決定系統(tǒng)的性能。壓力測試是為了確定Web應用系統(tǒng)的瓶頸或者所能承受的極限性能點而進展的測試,其目標是獲得系統(tǒng)所提供的最大效勞級別的測試。12 Web性能測試的目標 Web性能測試的目標是什么?它不僅是用測試工具去運行一些測試腳本來證明產(chǎn)品是否可以到達性能指標,更關鍵是要發(fā)現(xiàn)產(chǎn)品性能上的缺陷,并解決定位問題,
4、這才是軟件性能測試的真正目的。其目標可分為以下兩種級別:1性能測試總體目標。找出Web應用系統(tǒng)可能存在的性能瓶頸或者軟件缺陷,確認其是否可以到達用戶的使用需求。收集測試結(jié)果并分析產(chǎn)生缺陷原因,提交總結(jié)報告,讓軟件開發(fā)方對Web應用進展性能改良。 2性能測試具體目標。此目標又可以分為:確定Web應用系統(tǒng)的總體性能參數(shù),包括所支持的最大并發(fā)用戶數(shù)、事務處理成功率、請求相應的往返延遲等。確定在各個級別的負載及壓力測試下效勞器輸出的具體性能參數(shù)。 這些測試目標驅(qū)動了整個測試過程的進展,因而在Web性能測試中起著至為關鍵的核心作用,因此在軟件性能測試之前一定要有一份“軟件性能測試需求規(guī)格說明書“,用于定
5、義詳細的測試目標,這是檢查軟件性能是否符合要求的根本依據(jù)。13 基于目標的Web性能測試系統(tǒng)的負載測試需要采用負載工具進展,真實模擬大量用戶訪問Web應用系統(tǒng)來測試系統(tǒng)的表現(xiàn),包括測試靜態(tài)HTML頁面的響應時間,甚至測試動態(tài)網(wǎng)頁的響應時間等,看是否滿足預期的設計指標要求,為效勞器的性能優(yōu)化和調(diào)整提供數(shù)據(jù)依據(jù),負載測試不會以使系統(tǒng)崩潰為目的,因此負載測試的期望值一般以滿足使用需求為主,不需要太夸的數(shù)值。系統(tǒng)的壓力測試也需要使用壓力測試工具,主要是對Web效勞器進展壓力測試。測試可以幫助找到一些大的問題,如死機、崩損、存泄漏等。因為有些存在存泄漏問題的程序在運行一兩次時可能不會出現(xiàn)問題,但是如果運
6、行了成千上萬次后,存泄漏得越來越多,就會導致系統(tǒng)崩潰。二Web應用性能測試環(huán)境建立 目前比擬流行的負載測試和壓力測試工具有LoadRunner、WebLoad、QALoad、JMetert等,本文就WebLoad的性能測試過程進展討論。webload是RadView公司推出的一個性能測試和分析工具,它讓web應用程序開發(fā)者自動執(zhí)行壓力測試;webload通過模擬真實用戶的操作,生成壓力負載來測試web的性能。工作原理webload提供巡航控制器cruise control的功能,利用巡航控制器,可以預定義web應用程序應該滿足的性能指標,然后測試系統(tǒng)是否滿足這些需求指標;cruise cont
7、rol能夠自動把負載加到web應用程序,并將在此負荷下能夠訪問程序的客戶數(shù)量生成報告。 圖1 Webload的應用框架2.2軟件安裝雙擊應用程序,點Ne*t|Yes|Ne*t。圖2 安裝頁面選擇安裝路徑D:Program FilesRadViewWebLOAD|Ne*t|Ne*t圖3 安裝進度窗口圖4 安裝完成窗口2.3 Webload人通信設置 配置SNMP協(xié)議使多個壓力機之間互相通信:在windows里進入控制面板-添加刪除程序-添加刪除windows組件選擇管理和監(jiān)控工具,下一步后選擇windows安裝文件路徑,完成。2.4 TestTalk安裝TestTalk在測試會話里監(jiān)測壓力機間的
8、信息傳遞,如果通信不成功則報錯TestTalk自動安裝,測試執(zhí)行時在后臺自動運行,注意不要將它關閉。三 Web應用性能測試流程3.1 web錄制腳本 Webload提供便捷的腳本錄制工具,測試人員可以用這個工具來捕捉Web訪問行為,這些行為被錄制成標準的JavaScript腳本,測試人員可以修改腳本這中的參數(shù)來到達預期的測試目的。3.1.1 創(chuàng)立一個工程:運行WebLoad,首先創(chuàng)立一個工程。圖5 創(chuàng)立工程3.1.2 開場錄制:單擊工具條中的按鍵開場錄制腳本,錄制腳本的時候會翻開一個瀏覽器窗口,只有在這個窗口錄制的容才會生成腳本,在這個窗口中輸入被測軟件的地址:.baidu.,在IDE中的Sc
9、ript窗口將會生成相應的腳本。圖6 錄制生成的腳本更改數(shù)量級到500,再次訪問這個地址,從錄制腳本的變化,我們可以看出WebLoad自動捕捉了中間的訪問間隔Sleep(9356)。圖7 改變訪問對象后錄制腳本的變化3.1.3 創(chuàng)立事務:展開左側(cè)的“Load工具組,拖放“beginTransaction到第一個URL之前,起名為:“Transaction1;拖放“EndTransaction,選擇“Transaction1完成事務的創(chuàng)立。圖8 創(chuàng)立事務后腳本的變化3. 2運行測試 3.2.1翻開剛剛的工程,單擊“run test,對剛剛錄制的腳本開場進展測試。在執(zhí)行窗口中可以看兩次訪問已經(jīng)被執(zhí)
10、行了。圖9 訪問執(zhí)行圖10 事務的執(zhí)行結(jié)果3.2.2在“Logic View中可以牛二珠運行善,最后一行顯示已經(jīng)運行通過。3.2.3 在“Browser View中可以牛二恒基暫不的網(wǎng)頁,以及網(wǎng)頁的DOM樹構(gòu)造de“HTMLVEW中可以看到網(wǎng)頁的HTML代碼;在“HTTP Headers View中可以看到HTTP的頭信息。圖11 訪問成功后網(wǎng)頁的構(gòu)造3.3 進展壓力測試3.3.1 運行WebLoad console,創(chuàng)立一個新模板。壓力測試可以只執(zhí)行單一Agenda測試,也只可以運行多個Agenda一起測試,在本例中選擇“Single Agenda,選擇最初保存的Agenda。圖12 運行W
11、ebLoad console圖13 創(chuàng)立壓力測試模板,執(zhí)行單一Agenda測試3.3.2 單擊“easurements Manager添加壓力測試的監(jiān)控器,監(jiān)控器的不同會導致在壓力測試過程中不同的顯示輸出結(jié)果;然后,單擊“Add Data Source添加數(shù)據(jù)源,本例中選擇Windows平臺;最后,選擇監(jiān)控主機。圖14 添加壓力測試的監(jiān)控器3.3.3 選擇要監(jiān)控的性能指標,本例中我們關心的是系統(tǒng)處理時間。3.3.4 為本次測試選擇主機,其中l(wèi)ocalhost是我們剛創(chuàng)立的測試主機,用它來進展測試。3.3.5 配置主機在*個時間點進展測試。首先, 單擊“Load Profiler更改壓力屬性;然
12、后選擇總共測試時間為5分鐘,開場測試的虛擬機數(shù)為1,最終虛擬機數(shù)為5;最后,單擊“Replace更新屬性。測試屬性配置完成后,單擊開場測試。圖15 配置主機測試方案3.3.6 在測試結(jié)果中,橫坐標為并發(fā)用戶數(shù)量,縱坐標為數(shù)值。窗口中默認有4種性能指標:加載大小、每秒單擊率、周期時間和吞吐量。單擊,可查看數(shù)據(jù)結(jié)果。圖16 數(shù)據(jù)結(jié)果圖17 查看測試結(jié)果從統(tǒng)計數(shù)字上可以看出,平均加載時間為0.1秒,周期時間為4.8秒,有1個周期等等。四Web工具小結(jié)WebLoad中的參數(shù)使用非常靈活,能滿足實際應用測試的需要。在Web應用測試過程中,不同客戶剖端的行為是不同的,因此需要將行為變量化。WebLoad提
13、供了智能拷貝和參數(shù)化行為的方法,以模擬出不同行為的多個客戶端同時在線的場景。WebLoad的另一個重要組件是WebLoad Console。WebLoad IDE側(cè)重于腳本的錄制及編輯調(diào)試等功能,而WebLoad Console側(cè)重于加載生成的腳本。包括:定義Load客戶端的策略,例如線性提高、隨機變化加載虛擬客戶端的數(shù)量;設定Load時間,而且可以生成隨時間和Load數(shù)量的報告,幫助我們找出系統(tǒng)瓶頸;在測試時可以動態(tài)加載監(jiān)視對象,例如響應時間、CPU處理時間、存占用率等等。WebLoad的Mi* of Agendas可以在一個測試方案中添加多個測試腳本,這樣便能模擬多個客戶端的使用。例如:我
14、們可以模擬10個客戶端在登錄,10個客戶端在瀏覽網(wǎng)頁,10個客戶端在添加商品到購物車,然后每種功能的客戶端還在不斷地增長,這樣的測試方案可以盡量地接近真實的環(huán)境。WebLoad不公可以進展性能測試,而且可以進展功能測試。功能測試的原理是查找相應的HTMLk的信息來判斷測試腳本是否成功。例如:如果用戶登錄失敗,我們通過查找,如果發(fā)現(xiàn)失敗在HTMLr響應文本中,我們就認為測試用例失敗了。另外這對HTML的學習也是有幫助的。最后,WebLoad 與JMeter相比具有如下優(yōu)點:JMeter只提供了可視化編輯方式,跟提供的編輯方式相比,WebLoad在創(chuàng)立測試JavaScript腳本方面更加靈活。JMeter只適用于Java程序,因此不能在測試腳本中調(diào)用對象。JMeter比WebLoad支持的效勞器監(jiān)控協(xié)議要少。JMeter不支持對HTTPS進展腳本錄制。WebLoad的分析和報告能力要超過JMeter。五總結(jié)Web應用的多樣性決定了Web性能測試方法的多樣性,但無論其表現(xiàn),所有的測試活動都一定有其目的性,也只有讓性能測試圍繞其目標展開才能使投入的測試資源產(chǎn)生最大的效益。本文圍繞所提出的基于目標的性能測試而展開,同時強調(diào)了測試管理的作用,并
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)風險管理與防范制度
- 交通肇事逃逸處理制度
- 2026甘肅電投常樂發(fā)電有限責任公司招聘30人參考題庫附答案
- 2026福建省面向中國科學院大學選調(diào)生選拔工作考試備考題庫附答案
- 2026貴州遵義市湄潭縣消防救援大隊政府專職消防隊員招聘20人參考題庫附答案
- 2026重慶醫(yī)科大學附屬第一醫(yī)院工作人員招聘參考題庫附答案
- 2026青海省海西州德令哈市司法局招聘1人備考題庫附答案
- 中共玉環(huán)市委宣傳部關于下屬事業(yè)單位 市互聯(lián)網(wǎng)宣傳指導中心公開選聘1名工作人員的考試備考題庫附答案
- 會昌縣2025年縣直事業(yè)單位公開選調(diào)一般工作人員考試備考題庫附答案
- 德令哈市公安局2025年面向社會公開招聘警務輔助人員參考題庫附答案
- GB/T 17213.4-2015工業(yè)過程控制閥第4部分:檢驗和例行試驗
- FZ/T 73009-2021山羊絨針織品
- JJF 1069-2012 法定計量檢定機構(gòu)考核規(guī)范(培訓講稿)
- GB∕T 5900.2-2022 機床 主軸端部與卡盤連接尺寸 第2部分:凸輪鎖緊型
- 2011-2015廣汽豐田凱美瑞維修手冊wdl
- DFMEA編制作業(yè)指導書新版
- KTronics籃輸送式洗碗碟機操作手冊
- DB35∕T 1844-2019 高速公路邊坡工程監(jiān)測技術規(guī)程
- 城市管理綜合執(zhí)法局城管執(zhí)法與執(zhí)法程序PPT模板
- 閥門基礎知識上
- 第二章注射成型工藝與模具結(jié)構(gòu)
評論
0/150
提交評論