版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 軟件自動(dòng)化測(cè)試工具的分析摘要軟件測(cè)試行業(yè)在國(guó)內(nèi)已存在多年,但其發(fā)展水平尚處于起步階段。起初的軟件測(cè)試完全靠手工來(lái)完成。在功能測(cè)試中,測(cè)試人員根據(jù)已編寫的測(cè)試用例來(lái)執(zhí)行測(cè)試計(jì)劃,手動(dòng)的輸入大量數(shù)據(jù)并比較預(yù)期結(jié)果與實(shí)際結(jié)果,從而對(duì)系統(tǒng)的功能進(jìn)行判定。當(dāng)進(jìn)行少量數(shù)據(jù)測(cè)試或者邏輯復(fù)雜的系統(tǒng)測(cè)試時(shí),測(cè)試尚可取得效率。但當(dāng)有大量的數(shù)據(jù)需要錄入并進(jìn)行反復(fù)測(cè)試的時(shí)候,手工測(cè)試便顯得捉襟見肘。而在性能測(cè)試中,為了使系統(tǒng)更好的模擬現(xiàn)實(shí)的使用情況,軟件測(cè)試方要聯(lián)合使用方發(fā)起大量的人員在同一時(shí)間登錄系統(tǒng)并完成相應(yīng)操作,以驗(yàn)證系統(tǒng)的性能是否能夠滿足實(shí)際使用的需求。這樣做不但會(huì)消耗大量的財(cái)力物力人力,而且也不能完全精確
2、的獲得系統(tǒng)性能的一些參數(shù)。在人們對(duì)測(cè)試需求日益增加之時(shí),自動(dòng)化測(cè)試應(yīng)運(yùn)而生。解決了長(zhǎng)期以來(lái)困擾人們的諸多難題,成為了軟件測(cè)試行業(yè)的領(lǐng)先技術(shù)與主流方向。所以對(duì)于自動(dòng)化測(cè)試研究具有非常實(shí)際的現(xiàn)實(shí)意義。自動(dòng)化測(cè)試能夠解決大量數(shù)據(jù)反復(fù)錄入使用的難題,同時(shí)也能解決模擬大量用戶對(duì)系統(tǒng)進(jìn)行負(fù)載的問(wèn)題。在論文中主要討論了兩種自動(dòng)化測(cè)試工具,一個(gè)是功能測(cè)試工具QTP(Quick Test Professional),一個(gè)是性能測(cè)試工具LoadRunner。在對(duì)QTP的研究當(dāng)中,論文主要描述了QTP在對(duì)應(yīng)用程序的操作過(guò)程中顯示出的快速、自動(dòng)化的特點(diǎn)。QTP完成了對(duì)同一組數(shù)據(jù)的逐一自動(dòng)錄入,以及對(duì)應(yīng)用程序某一屬性的
3、驗(yàn)證功能。QTP還可以對(duì)文字以及圖片做驗(yàn)證從而對(duì)某一網(wǎng)頁(yè)的打開與否進(jìn)行驗(yàn)證。這些功能的完成都需要先編寫測(cè)試腳本,測(cè)試腳本的編寫可以直接錄制并修改,也可手工編寫。QTP生成的腳本可以通過(guò)手動(dòng)修改來(lái)實(shí)現(xiàn)其對(duì)應(yīng)用程序操作的改變。本次論文將會(huì)對(duì)QTP自動(dòng)化的特性進(jìn)行詳細(xì)闡述與描繪。論文的另一大重點(diǎn)是性能測(cè)試工具LoadRunner。LoadRunner等自動(dòng)化性能測(cè)試工具對(duì)于系統(tǒng)的性能測(cè)試有著革命性的意義,它使得起初的大量人員投入測(cè)試變?yōu)橹灰獑稳伺c多臺(tái)電腦的測(cè)試。大量節(jié)約了使用成本,同時(shí)也大大提高了測(cè)試的效率。本次論文將會(huì)對(duì)LoadRunner在性能測(cè)試中對(duì)系統(tǒng)大量用戶加載與多種系統(tǒng)性能指標(biāo)進(jìn)行演示和
4、分析。其中涉及到對(duì)LoadRunner腳本的錄制與修改,以及利用Controller控制器對(duì)被測(cè)系統(tǒng)進(jìn)行大量用戶加載的操作過(guò)程,以及加載之時(shí)之后系統(tǒng)與機(jī)器的各項(xiàng)性能指標(biāo)的監(jiān)控與分析。 通過(guò)這兩種很具代表性的工具的研究可以讓我們對(duì)自動(dòng)化測(cè)試有更深的了解,同時(shí)對(duì)于自動(dòng)化測(cè)試工具的工作機(jī)制有著更深的認(rèn)識(shí)。關(guān)鍵詞:軟件測(cè)試;自動(dòng)化測(cè)試;QTP;LoadRunnerAnalysis Of The Automated Software Testing ToolsAbstract Although software testing has existed for years in the country,
5、it still stays at the stage of starting. The original software testing completely finished by hand. Testers executed the testing plans to input mass of data to compare the actual results and the expecting ones by hand, so that the testers can judge the function of the system. Testing may get efforts
6、 when it needs only a few data or it is testing the system with complex logic. But in the situation of inputting mass of data and testing repeatedly, manual testing will be at the loss what to do unless to invest a lot of manpower and time. At that time, to solve this urgent problem, the automatical
7、 testing came to the world to change the fate of the whole industry of software testing. At the same time, the study of the automatical testing has become necessary and meaningful.Two automatical testing tools will be discussed in the treatise, one is QTP (Quick Test Professional) and the other is L
8、oadRunner. They are both the main current testing tools in the country. In the research of QTP, the treatise will describe the main characters(fast and automatical) and the process of executing the plans of the testing. QTP will control the application to be tested to complete inputting the group of
9、 data one by one and verify the words and the pictures in the page so that we can check whether the expected webpage has been opened. LoadRunner will be another key point in my treatise. LoadRunner and the other performance testing tools had brought the evolutional meaning to the industry of perform
10、ance testing. The saved the cost of plenty manpower and change the testing that needed mass of people to the testing that only needed single person and a few machines. The main characters of LoadRunner will be discussed mainly as well as the working mechanism.We will use Controller to control a lot
11、of virtual user to load the system to be tested, and collect the data of main indexes of the performance of the system and the load generator. According to the research of the two main current automatical software testing tools, we can get a better understanding of the automatical testing and a deep
12、er understanding of the working mechanism of the automatical testing tools.Key words:software testing;automated testing;QTP;LoadRunner目錄1前言11.1 課題概述11.2 課題的研究目標(biāo)和研究?jī)?nèi)容11.3 課題的研究方法和工作步驟22軟件測(cè)試概述32.1軟件測(cè)試32.2手工測(cè)試32.3自動(dòng)化測(cè)試4 2.4手工測(cè)試與自動(dòng)化測(cè)試的比較4 3自動(dòng)化測(cè)試工具63.1 功能測(cè)試工具63.2 性能測(cè)試工具74自動(dòng)化測(cè)試工具LoadRunner84.1 LoadRunner的
13、特點(diǎn)及其應(yīng)用范圍8 4.2 LoadRunner三大組件9 4.3 LoadRunner 名詞解釋與分析94.4 LoadRunner工作機(jī)制10 4.5 Vugen11 4.5.1腳本產(chǎn)生的過(guò)程114.5.2腳本的錄制124.5.3腳本的回放14 4.6 Controller15 4.6.1 Design15 4.6.2 Run16 4.7 Analysis215自動(dòng)化測(cè)試工具QTP26 5.1 QTP的特點(diǎn)及應(yīng)用場(chǎng)景265.2 QTP的工作流程275.3 QTP腳本的錄制與回放275.4 QTP腳本的加強(qiáng)32 5.4.1 QTP中常用的函數(shù)32 5.4.2實(shí)現(xiàn)對(duì)多組用戶名的自動(dòng)執(zhí)行32 5
14、.4.3實(shí)現(xiàn)對(duì)城市與航班的隨機(jī)選擇并輸出選擇項(xiàng)信息35 5.4.4檢查點(diǎn)的使用37 6總結(jié)40參考文獻(xiàn)42致謝431 前言1.1 課題概述 隨著軟件市場(chǎng)對(duì)于軟件產(chǎn)品質(zhì)量要求的提升,軟件的質(zhì)量問(wèn)題被進(jìn)一步看重。與此同時(shí)軟件測(cè)試行業(yè)得到了快速發(fā)展的契機(jī)。在當(dāng)今軟件測(cè)試行業(yè)中,手工測(cè)試仍占主導(dǎo)地位,手工測(cè)試雖簡(jiǎn)單易行,但手工測(cè)試的進(jìn)行在很多情況下需要投入大量的人力和時(shí)間。同時(shí)在一些系統(tǒng)級(jí)的測(cè)試中,手工測(cè)試依舊沒(méi)法涉足其中。為了提高效率并且提高測(cè)試的覆蓋率和功能性,自動(dòng)化測(cè)試應(yīng)運(yùn)而生。軟件自動(dòng)化測(cè)試作為軟件測(cè)試中的尖端技術(shù)將會(huì)起到引領(lǐng)作用。因此對(duì)于軟件自動(dòng)化測(cè)試工具的分析無(wú)疑非常具有實(shí)際意義。1.2
15、課題的研究目標(biāo)和研究?jī)?nèi)容研究目標(biāo):闡述軟件測(cè)試的概念,比較手工測(cè)試與自動(dòng)化測(cè)試的優(yōu)缺點(diǎn)。全面分析軟件自動(dòng)化測(cè)試工具的特點(diǎn)與應(yīng)用場(chǎng)景,詳細(xì)而明確地描述分析自動(dòng)化測(cè)試工具LoadRunner與QTP的特點(diǎn)、工作流程等。研究?jī)?nèi)容:軟件測(cè)試的概念、意義、國(guó)內(nèi)外現(xiàn)狀及發(fā)展、工作前景:軟件測(cè)試就是利用測(cè)試工具按照測(cè)試方案和HYPERLINK :/baike.baidu /view/158951.htm流程對(duì)產(chǎn)品進(jìn)行功能和HYPERLINK :/baike.baidu /view/106187.htm性能測(cè)試 。它是在軟件投入運(yùn)行前,對(duì)軟件需求分析,設(shè)計(jì)規(guī)格說(shuō)明和編碼實(shí)現(xiàn)的最終審查,是軟件質(zhì)量保證的關(guān)鍵步驟
16、。國(guó)內(nèi)軟件測(cè)試尚在發(fā)展之中,國(guó)外軟件測(cè)試行業(yè)一片繁榮。國(guó)內(nèi)軟件行業(yè)對(duì)測(cè)試越來(lái)越重視,軟件測(cè)試前景光明。 手工測(cè)試的概念、特點(diǎn):手工測(cè)試就是用人為手段執(zhí)行測(cè)試用例,觀察測(cè)試結(jié)果。手工測(cè)試通常能發(fā)現(xiàn)自動(dòng)化測(cè)試不能發(fā)現(xiàn)的缺陷,但同時(shí)在一些場(chǎng)景下,手工測(cè)試所耗費(fèi)的人力和時(shí)間通常比較大。自動(dòng)化測(cè)試的概念、特點(diǎn)、應(yīng)用范圍、設(shè)計(jì)過(guò)程:自動(dòng)化測(cè)試就是通過(guò)自動(dòng)化測(cè)試工具或其他手段,按照測(cè)試工程師的預(yù)定計(jì)劃進(jìn)行自動(dòng)測(cè)試,目的是減輕手工測(cè)試的勞動(dòng)量,提高軟件質(zhì)量和軟件測(cè)試的效率。自動(dòng)化測(cè)試的優(yōu)點(diǎn):提高測(cè)試質(zhì)量、提高測(cè)試效率、提高測(cè)試覆蓋率、執(zhí)行手工測(cè)試不能完成的測(cè)試任務(wù)、更好地重現(xiàn)軟件缺陷的能力、更好地利用資源。自
17、動(dòng)化測(cè)試的局限性:對(duì)于定制性項(xiàng)目和周期很短的項(xiàng)目以及業(yè)務(wù)規(guī)則復(fù)雜的對(duì)象、人體感觀與易用性測(cè)試,以及不穩(wěn)定的軟件測(cè)試,涉及物理交互的測(cè)試方面具有局限性。手工測(cè)試和自動(dòng)化測(cè)試的比較:自動(dòng)化測(cè)試不能完全替代手工測(cè)試。在一些特殊情況下,手工測(cè)試仍然比自動(dòng)化測(cè)試效率高。LoadRunner的特點(diǎn):LoadRunner是一種預(yù)測(cè)系統(tǒng)行為和性能的負(fù)載測(cè)試工具,通過(guò)模擬成千上萬(wàn)名用戶和實(shí)施實(shí)時(shí)性能監(jiān)測(cè)來(lái)確認(rèn)和查找問(wèn)題,LoadRunner能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。通過(guò)使用LoadRunner,企業(yè)能最大限度地縮短測(cè)試時(shí)間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。QTP的特點(diǎn):QTP 提供符合所有主要HYPERLI
18、NK :/baike.baidu /view/7886.htm應(yīng)用軟件環(huán)境的功能測(cè)試和回歸測(cè)試的自動(dòng)化。采用關(guān)鍵字驅(qū)動(dòng)的理念以簡(jiǎn)化HYPERLINK :/baike.baidu /view/106882.htm測(cè)試用例的創(chuàng)建和維護(hù)。它讓用戶可以直接錄制屏幕上的操作流程,自動(dòng)生成功能測(cè)試或者回歸測(cè)試用例。專業(yè)的測(cè)試者也可以通過(guò)提供的內(nèi)置HYPERLINK :/baike.baidu /view/54.htm腳本和調(diào)試環(huán)境來(lái)取得對(duì)測(cè)試和對(duì)象屬性的完全控制。 LoadRunner、QTP的應(yīng)用過(guò)程:LoadRunner:用Vugen錄制LoadRunner測(cè)試腳本回放腳本對(duì)腳本進(jìn)行加強(qiáng)用Contro
19、ller生成負(fù)載用Analysis對(duì)測(cè)試結(jié)果進(jìn)行分析。QTP:生成自動(dòng)化腳本同步回放腳本到應(yīng)用程序添加檢查點(diǎn)運(yùn)行測(cè)試或測(cè)試組件。 自己對(duì)于自動(dòng)化測(cè)試過(guò)程及軟件測(cè)試技術(shù)的認(rèn)識(shí):幾次培訓(xùn)的項(xiàng)目經(jīng)歷讓我感受到了自動(dòng)化測(cè)試的魅力與實(shí)力。自動(dòng)化測(cè)試行業(yè)是一個(gè)高技術(shù)行業(yè),經(jīng)驗(yàn)至關(guān)重要,所以自動(dòng)化測(cè)試值得我們長(zhǎng)期從事與發(fā)展。1.3課題的研究方法和工作步驟由于自動(dòng)化測(cè)試工具是需要在實(shí)際應(yīng)用中才能體現(xiàn)其價(jià)值的研究對(duì)象,所以對(duì)于它們我們采用的研究方法是實(shí)例分析法:主要通過(guò)運(yùn)用自動(dòng)化工具對(duì)實(shí)際軟件項(xiàng)目的研究而分析自動(dòng)化工具的特點(diǎn)和應(yīng)用過(guò)程。 在整個(gè)自動(dòng)化測(cè)試工具的的研究過(guò)程當(dāng)中,我把整個(gè)課題的研究分成了若干個(gè)步驟,
20、每一個(gè)步驟對(duì)應(yīng)一個(gè)工作階段: 第一是準(zhǔn)備階段。在這個(gè)階段里面我的主要任務(wù)是盡可能搜集軟件測(cè)試與自動(dòng)化測(cè)試相關(guān)的一些資料。同時(shí)要下載安裝自動(dòng)化測(cè)試工具QTP,LoadRunner等,這也是我在課題中研究的主題對(duì)象。同時(shí)為了順利的運(yùn)行自動(dòng)化測(cè)試工具,我還需要為其配置相應(yīng)的系統(tǒng)環(huán)境,為分析工作的開展做準(zhǔn)備。 第二是研究階段。在這個(gè)階段里面我主要是要完成對(duì)軟件測(cè)試與自動(dòng)化測(cè)試的概念的分析以及其在國(guó)內(nèi)外的發(fā)展情況和前景等。同時(shí)完成對(duì)QTP,LoadRunner特點(diǎn)和工作流程的分析。完成QTP與LoadRunner對(duì)相應(yīng)應(yīng)用程序的分析,整理收集相應(yīng)測(cè)試和分析結(jié)果。第三是總結(jié)檢查階段。進(jìn)入這個(gè)階段以后,課題
21、研究的主體已基本成型。考慮到QTP與LoadRunner為應(yīng)用型軟件工具,所以在對(duì)其研究的時(shí)候容易出現(xiàn)對(duì)工具的特點(diǎn)和工序描述不清的情況,所以需要通過(guò)與指導(dǎo)老師的交流溝通以及與研究方案進(jìn)行對(duì)照來(lái)完成對(duì)研究方案的改進(jìn)和完善。2 軟件測(cè)試概述軟件測(cè)試是指軟件生存周期中的檢查、評(píng)審和確認(rèn)工作,其中包括了對(duì)分析、設(shè)計(jì)階段,以及完成開發(fā)后維護(hù)階段的各類文檔、代碼的審查和確認(rèn)。軟件測(cè)試是根據(jù)軟件開發(fā)各階段的規(guī)格說(shuō)明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)的一批測(cè)試用例,并利用這些測(cè)試用例運(yùn)行程序以及發(fā)現(xiàn)錯(cuò)誤的過(guò)程,即執(zhí)行測(cè)試步驟。2.1 軟件測(cè)試 軟件測(cè)試的目標(biāo)和意義:軟件測(cè)試的目的就是發(fā)現(xiàn)軟件中的各種缺陷,進(jìn)而供開發(fā)人
22、員修改。軟件測(cè)試只能證明軟件存在缺陷,但不能證明軟件不存在缺陷,它可以使軟件中的缺陷降到一定的程度,而不能徹底消滅缺陷。軟件測(cè)試可以用較少的用例、時(shí)間和人力找出軟件中的各種錯(cuò)誤和缺陷,以保證軟件的質(zhì)量。 軟件測(cè)試過(guò)程:一個(gè)規(guī)范的軟件測(cè)試過(guò)程包括:擬定軟件測(cè)試計(jì)劃、方案;設(shè)計(jì)和生成測(cè)試用例、準(zhǔn)備測(cè)試數(shù)據(jù);執(zhí)行測(cè)試,記錄原始數(shù)據(jù),對(duì)缺陷進(jìn)行管理;生成軟件測(cè)試報(bào)告、缺陷的統(tǒng)計(jì)和報(bào)表。軟件測(cè)試過(guò)程與整個(gè)軟件開發(fā)過(guò)程基本上是平行進(jìn)行的。 軟件測(cè)試的現(xiàn)狀和發(fā)展:隨著軟件產(chǎn)業(yè)的發(fā)展,軟件產(chǎn)品的質(zhì)量控制與質(zhì)量管理正逐漸成為軟件企業(yè)生存與發(fā)展的核心。幾乎每個(gè)大中型IT企業(yè)的軟件產(chǎn)品在發(fā)布前都需要大量的質(zhì)量控制、
23、測(cè)試和文檔工作,而這些工作必須依靠擁有嫻熟技術(shù)的專業(yè)軟件人才來(lái)完成。軟件測(cè)試工程師就是這樣的一個(gè)企業(yè)重頭角色。業(yè)內(nèi)人士分析,該類職位的需求主要集中在沿海發(fā)達(dá)城市,其中北京和上海的需求量分別占去33%和29%。民企需求量最大,占19%,外商獨(dú)資歐美類企業(yè)需求排列第二,占15%。然而,目前的現(xiàn)狀是:一方面企業(yè)對(duì)高質(zhì)量的測(cè)試工程師需求量越來(lái)越大越大,另一方面國(guó)內(nèi)原來(lái)對(duì)測(cè)試工程師的職業(yè)重視程度不夠,使許多人不了解測(cè)試工程師具體是從事什么工作。這使得許多IT公司只能通過(guò)在實(shí)際工作中進(jìn)行淘汰的方式對(duì)測(cè)試工程師進(jìn)行篩選,因此國(guó)內(nèi)在短期將出現(xiàn)測(cè)試工程師嚴(yán)重短缺的現(xiàn)象。因此隨著業(yè)內(nèi)軟件企業(yè)對(duì)軟件測(cè)試的重視程度的
24、增加,軟件測(cè)試行業(yè)也將越來(lái)越規(guī)范,并具有很好的發(fā)展前景。2.2 手工測(cè)試 手工測(cè)試的概念:手工測(cè)試是最傳統(tǒng)的測(cè)試方法,它是由測(cè)試人員手工編寫測(cè)試用例,并根據(jù)測(cè)試用例手工完成測(cè)試過(guò)程的方法。手工測(cè)試是由測(cè)試人員手動(dòng)一個(gè)一個(gè)的輸入測(cè)試用例,然后對(duì)比預(yù)期結(jié)果和實(shí)際結(jié)果,得出測(cè)試結(jié)果,與自動(dòng)化測(cè)試相對(duì)應(yīng),屬于比較原始但很有必要的一個(gè)步驟。 手工測(cè)試的特點(diǎn):手工測(cè)試的優(yōu)點(diǎn)在于簡(jiǎn)單易行,上手容易,在實(shí)際應(yīng)用過(guò)程中方便實(shí)用,同時(shí)在一些邏輯關(guān)系比較復(fù)雜的測(cè)試項(xiàng)目或環(huán)節(jié)中較為高效。但同時(shí)它的缺點(diǎn)也很明顯。在進(jìn)行測(cè)試工作量很大時(shí),可能會(huì)輸入大量的數(shù)據(jù),在進(jìn)行重復(fù)數(shù)據(jù)的錄入或測(cè)試中,手工測(cè)試量很大,效率也很低,同時(shí)
25、在執(zhí)行回歸測(cè)試時(shí)實(shí)現(xiàn)較為困難。2.3 自動(dòng)化測(cè)試 自動(dòng)化測(cè)試的概念:自動(dòng)化測(cè)試就是通過(guò)采用測(cè)試工具或其他手段,按照測(cè)試工程師的預(yù)定計(jì)劃對(duì)軟件產(chǎn)品進(jìn)行自動(dòng)的測(cè)試,它是軟件測(cè)試的一個(gè)重要的組成部分,它能夠完成許多手工無(wú)法完成或者難以實(shí)現(xiàn)的一些測(cè)試工作。自動(dòng)化測(cè)試中除了常規(guī)的對(duì)于功能的自動(dòng)化測(cè)試,還有針對(duì)性能的自動(dòng)化測(cè)試,目前行業(yè)中較為主流的性能測(cè)試工具便是HP(惠普)公司的LoadRunner。自動(dòng)化測(cè)試作為當(dāng)今軟件測(cè)試行業(yè)中的主流方向和前沿技術(shù)擁有諸多優(yōu)點(diǎn)。自動(dòng)化測(cè)試可以提高測(cè)試的質(zhì)量,對(duì)于以往只能依靠手工測(cè)試而實(shí)現(xiàn)的一些測(cè)試項(xiàng)目,尤其是在性能測(cè)試中利用手工測(cè)試對(duì)系統(tǒng)進(jìn)行同步登錄操作的誤差,自動(dòng)
26、化測(cè)試可以更精確無(wú)誤的完成。同時(shí)自動(dòng)化測(cè)試還能提高測(cè)試的效率。過(guò)往在用手工測(cè)試對(duì)系統(tǒng)進(jìn)行測(cè)試時(shí),對(duì)于大量數(shù)據(jù)反復(fù)操作以及進(jìn)行回歸測(cè)試的過(guò)程中,自動(dòng)化測(cè)試可以更快的完成,同時(shí)可以反復(fù)執(zhí)行測(cè)試用例,大大提高了測(cè)試的效率。同時(shí)自動(dòng)化測(cè)試還可以提高測(cè)試的覆蓋率,更好地重現(xiàn)軟件缺陷,更好地利用系統(tǒng)資源。同時(shí)自動(dòng)化測(cè)試也有它的局限性。在一些周期很短的項(xiàng)目中,自動(dòng)化測(cè)試由于在前期測(cè)試計(jì)劃制定需要耗費(fèi)大量時(shí)間,所以會(huì)大大延長(zhǎng)項(xiàng)目的周期,增加成本。在對(duì)業(yè)務(wù)規(guī)則復(fù)雜的對(duì)象進(jìn)行測(cè)試中,自動(dòng)化測(cè)試計(jì)劃的編寫會(huì)非常復(fù)雜,效率遠(yuǎn)不及手工測(cè)試。人體感觀與易用性測(cè)試涉及到人的主觀思維判斷,是自動(dòng)化測(cè)試無(wú)法涉及的領(lǐng)域。而對(duì)于不
27、穩(wěn)定的軟件,因自動(dòng)化測(cè)試的優(yōu)點(diǎn)是可重復(fù)執(zhí)行,所以并不適合不穩(wěn)定的軟件的多次執(zhí)行。在涉及物理交互的測(cè)試項(xiàng)目中,需要人為手工的操作一些實(shí)體工具,自動(dòng)化測(cè)試無(wú)法進(jìn)行。2.4 手工測(cè)試與自動(dòng)化測(cè)試的比較早期的軟件測(cè)試都是由手工完成的,而手工測(cè)試是一項(xiàng)艱苦的工作,它的工作量大,需要投入大量的時(shí)間和精力,而完全的手工測(cè)試已經(jīng)滿足不了軟件開發(fā)的需求了。軟件的快速發(fā)展催生了另一門技術(shù)的誕生-軟件自動(dòng)化測(cè)試。自動(dòng)化測(cè)試技術(shù)是一項(xiàng)非常重要的技術(shù),也是非常前沿的一項(xiàng)技術(shù),在多數(shù)情況下可以替代手工測(cè)試的一門相對(duì)便捷的技術(shù)。軟件自動(dòng)化測(cè)試的目的其實(shí)就是為了減輕繁雜的手工測(cè)試帶來(lái)的大工作量,從而達(dá)到提高軟件質(zhì)量。當(dāng)然軟件
28、自動(dòng)化測(cè)試還無(wú)法完全替代手工測(cè)試,在相當(dāng)一些情況下,手工測(cè)試依舊相對(duì)實(shí)用。在軟件開發(fā)過(guò)程中,軟件測(cè)試工作要占用較長(zhǎng)的項(xiàng)目周期,而在一些對(duì)于可靠性要求很高的軟件測(cè)試中,其比例會(huì)更高。而在這些測(cè)試過(guò)程中,某個(gè)功能或某個(gè)特性要經(jīng)過(guò)反復(fù)的驗(yàn)證和測(cè)試,尤其是在回歸測(cè)試中,更要大量重復(fù)之前的一系列操作。同時(shí)隨著軟件版本的更新和升級(jí),重復(fù)測(cè)試又要反復(fù)的開展。這就大大加大了工作量,也降低了工作的效率,而自動(dòng)化測(cè)試的應(yīng)用能夠大大的緩解這一過(guò)程帶來(lái)的工作量。但同時(shí)一些不需要大量重復(fù)的功能模塊或是項(xiàng)目,本身規(guī)模也較小,如果依然使用自動(dòng)化測(cè)試,效率反而降低,成本也會(huì)相應(yīng)增加。由此可見,軟件自動(dòng)化測(cè)試技術(shù)不是萬(wàn)能的,但
29、卻是前沿的高端技術(shù),是我們需要在軟件行業(yè)中大力發(fā)展的技術(shù)。3 自動(dòng)化測(cè)試工具自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過(guò)程。通常,在設(shè)計(jì)了HYPERLINK :/baike.baidu /view/106882.htm測(cè)試用例并通過(guò)評(píng)審之后,由測(cè)試人員根據(jù)測(cè)試用例中描述的規(guī)程一步步執(zhí)行測(cè)試,得到實(shí)際結(jié)果與期望結(jié)果的比較。在此過(guò)程中,為了節(jié)省人力、時(shí)間或硬件資源,提高測(cè)試效率,便引入了自動(dòng)化測(cè)試的概念。在進(jìn)行自動(dòng)化測(cè)試的時(shí)候,我們需要用到自動(dòng)化測(cè)試工具。根據(jù)測(cè)試項(xiàng)目的需求自動(dòng)化測(cè)試工具可大致分為功能測(cè)試工具和性能測(cè)試工具。功能測(cè)試工具主要是用于替代部分手工測(cè)試對(duì)于系統(tǒng)的操作,驗(yàn)證系統(tǒng)
30、功能的正確性,提高測(cè)試的效率。功能測(cè)試工具雖可用手工替代,但其在多方面應(yīng)用的高效性是手工測(cè)試不能比擬的。相比而言,性能測(cè)試工具則不能被手工測(cè)試所替代,性能測(cè)試工具可以獲取系統(tǒng)運(yùn)行中一些性能指標(biāo),這非人眼人手所能獲得數(shù)據(jù)。同時(shí)一些較好的性能測(cè)試工具還可對(duì)性能測(cè)試的一些指標(biāo)進(jìn)行橫向縱向?qū)Ρ龋瑥亩玫陌l(fā)現(xiàn)系統(tǒng)的瓶頸,進(jìn)一步增強(qiáng)系統(tǒng)的性能。 無(wú)論是功能測(cè)試工具還是性能測(cè)試工具都將成為軟件測(cè)試行業(yè)未來(lái)發(fā)展的主流方向和主要途徑。在軟件自動(dòng)化測(cè)試快速發(fā)展的同時(shí),測(cè)試工具的數(shù)量也與日俱增,各大軟件生產(chǎn)企業(yè)百花齊放,測(cè)試工具各有千秋。對(duì)此,我們列舉了一些在國(guó)內(nèi)軟件企業(yè)中常用的功能和性能測(cè)試工具。 3.1 功能
31、測(cè)試工具 QTP,全名Quick Test Professional software。QTP是HP(惠普)公司的一款企業(yè)級(jí)自動(dòng)化功能測(cè)試軟件。使用QTP的目的是想用它來(lái)執(zhí)行重復(fù)的手工測(cè)試,QTP主要用于回歸測(cè)試和測(cè)試同一軟件的新版本。它可以覆蓋絕大多數(shù)的軟件開發(fā)技術(shù),操作簡(jiǎn)便,實(shí)用高效,是目前國(guó)內(nèi)軟件測(cè)試行業(yè)最主流的功能測(cè)試工具。 WinRunner是Mercury公司的一種企業(yè)級(jí)的功能測(cè)試工具,用于檢測(cè)應(yīng)用程序是否能夠打到預(yù)期的功能及正常運(yùn)行。通過(guò)自動(dòng)錄制、檢測(cè)和回放用戶的應(yīng)用操作,WinRunner能夠有效地幫助測(cè)試人員對(duì)復(fù)雜的企業(yè)級(jí)應(yīng)用的不同發(fā)布版本進(jìn)行測(cè)試,提高測(cè)試人員的工作效率和質(zhì)
32、量,確??缙脚_(tái)的、復(fù)雜的企業(yè)級(jí)應(yīng)用無(wú)故障發(fā)布及長(zhǎng)期穩(wěn)定運(yùn)行。Rational Robot是業(yè)界最頂尖的功能測(cè)試工具,它甚至可以在測(cè)試人員學(xué)習(xí)高級(jí)腳本技術(shù)之前幫助其進(jìn)行成功的測(cè)試。它集成在測(cè)試人員的桌面IBM Rational Test Manager上,在這里測(cè)試人員可以計(jì)劃、組織、執(zhí)行、管理和報(bào)告所有測(cè)試活動(dòng),包括手動(dòng)測(cè)試報(bào)告。這種測(cè)試和管理的雙重功能是自動(dòng)化測(cè)試的理想開始。上述三款功能測(cè)試工具基本上概括了目前行業(yè)中所有功能測(cè)試工具的特點(diǎn)。他們的主要工作思路都是通過(guò)錄制、回放和對(duì)腳本的修改加強(qiáng)來(lái)形成腳本,從而實(shí)施對(duì)測(cè)試對(duì)象的操作。目前比較高端與主流的功能測(cè)試工具多為企業(yè)級(jí)測(cè)試工具,可以針對(duì)企
33、業(yè)的整體架構(gòu)進(jìn)行測(cè)試。3.2 性能測(cè)試工具 LoadRunner是一種預(yù)測(cè)系統(tǒng)行為和性能的工業(yè)標(biāo)準(zhǔn)級(jí)負(fù)載測(cè)試工具。通過(guò)以模擬上千萬(wàn)用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式來(lái)確認(rèn)和查找問(wèn)題。通過(guò)使用LoadRunner ,企業(yè)能最大限度地縮短測(cè)試時(shí)間,優(yōu)化性能。LoadRunner 能讓企業(yè)保護(hù)自己的收入來(lái)源,無(wú)需購(gòu)置額外硬件而最大限度地利用現(xiàn)有的IT 資源,并確保終端用戶在應(yīng)用系統(tǒng)的各個(gè)環(huán)節(jié)中對(duì)其測(cè)試應(yīng)用的質(zhì)量,可靠性和可擴(kuò)展性都有良好的評(píng)價(jià)。 SilkPerformer是一種在工業(yè)領(lǐng)域最高級(jí)的企業(yè)級(jí)負(fù)載測(cè)試工具。它可以模仿成千上萬(wàn)的用戶在多協(xié)議和多計(jì)算的環(huán)境下工作。不管企業(yè)電子商務(wù)應(yīng)用的規(guī)模大小
34、及其復(fù)雜性,通過(guò)SilkPerformer均可以在部署前預(yù)測(cè)它的性能,可是的用戶化界面、實(shí)時(shí)的性能監(jiān)控和強(qiáng)大的管理報(bào)告可以幫助我們迅速的解決問(wèn)題。例如加快產(chǎn)品投入市場(chǎng)的時(shí)間,通過(guò)最小的測(cè)試走起保證系統(tǒng)的可靠性,優(yōu)化性能和確保應(yīng)用的可擴(kuò)充性。WebRunner是RadView公司退出的一個(gè)性能測(cè)試和分析工具,它讓web應(yīng)用程序開發(fā)者自動(dòng)執(zhí)行壓力測(cè)試;webload通過(guò)模擬真實(shí)用戶的操作,生成壓力負(fù)載來(lái)測(cè)試web的性能,用戶創(chuàng)建的是基于javascript的測(cè)試腳本,稱為議程agenda,用它來(lái)模擬客戶的行為,通過(guò)執(zhí)行該腳本來(lái)衡量web應(yīng)用程序在真實(shí)環(huán)境下的性能。上述幾款性能測(cè)試工具比較具有代表性
35、,同時(shí)也是當(dāng)今的主流性能測(cè)試工具。性能測(cè)試工具的功能點(diǎn)以及工作原理多是通過(guò)模擬成千上萬(wàn)用戶在復(fù)雜的環(huán)境中對(duì)系統(tǒng)或軟件進(jìn)行操作的過(guò)程。通過(guò)對(duì)實(shí)際用戶的模擬來(lái)對(duì)系統(tǒng)或軟件產(chǎn)品進(jìn)行評(píng)估從而根據(jù)評(píng)測(cè)結(jié)果提出對(duì)系統(tǒng)或軟件產(chǎn)品的修改意見,從而提高產(chǎn)品的性能。性能測(cè)試工具解放了雙手,節(jié)省了大量時(shí)間與人力物力資源,對(duì)于軟件測(cè)試行業(yè)的發(fā)展起到了至關(guān)重要的作用。4 自動(dòng)化測(cè)試工具LoadRunner 一個(gè)系統(tǒng)的成功與否不僅看它是否能達(dá)到人們的預(yù)期而成功完成某項(xiàng)任務(wù),同時(shí)還要看系統(tǒng)的性能是否符合一定標(biāo)準(zhǔn)。系統(tǒng)的性能是一個(gè)很大的概念,覆蓋面非常廣泛,包括執(zhí)行效率、資源占用、穩(wěn)定性、安全性、兼容性、可擴(kuò)展性、可靠性等等
36、。而利用自動(dòng)化工具則可以模擬真實(shí)用戶來(lái)操作系統(tǒng),通過(guò)這種方式來(lái)發(fā)現(xiàn)系統(tǒng)性能瓶頸的過(guò)程就叫作系統(tǒng)的性能測(cè)試。LoadRunner是一種預(yù)測(cè)系統(tǒng)行為和性能的負(fù)載測(cè)試工具,通過(guò)模擬成千上萬(wàn)名用戶和實(shí)施實(shí)時(shí)性能監(jiān)測(cè)來(lái)確認(rèn)和查找問(wèn)題,LoadRunner能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。通過(guò)使用LoadRunner,企業(yè)能最大限度地縮短測(cè)試時(shí)間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。4.1 LoadRunner特性輕松創(chuàng)建虛擬用戶: 使用LoadRunner 的Virtual User Generator,我們能很簡(jiǎn)便地創(chuàng)立起系統(tǒng)負(fù)載。該引擎能夠生成虛擬用戶,以虛擬用戶的方式模擬真實(shí)用戶的業(yè)務(wù)操作行為。它先記錄下
37、業(yè)務(wù)流程(如下訂單或機(jī)票預(yù)定),然后將其轉(zhuǎn)化為測(cè)試腳本。利用虛擬用戶,我們可以在Windows ,UNIX或Linux 機(jī)器上同時(shí)產(chǎn)生成千上萬(wàn)個(gè)用戶訪問(wèn)。創(chuàng)建真實(shí)的負(fù)載:Controller 的Rendezvous 功能提供一個(gè)互動(dòng)的環(huán)境,在其中既能建立起持續(xù)且循環(huán)的負(fù)載,又能管理和驅(qū)動(dòng)負(fù)載測(cè)試方案。而且,我們還可以利用它的日程計(jì)劃服務(wù)來(lái)定義用戶在什么時(shí)候訪問(wèn)系統(tǒng)以產(chǎn)生負(fù)載。實(shí)時(shí)監(jiān)測(cè)器:LoadRunner 內(nèi)含集成的實(shí)時(shí)監(jiān)測(cè)器,在負(fù)載測(cè)試過(guò)程的任何時(shí)候,我們都可以觀察到應(yīng)用系統(tǒng)的運(yùn)行性能。這些性能監(jiān)測(cè)器為我們實(shí)時(shí)顯示交易性能數(shù)據(jù)(如響應(yīng)時(shí)間)和其它系統(tǒng)組件包括application serv
38、er, web server,網(wǎng)路設(shè)備和數(shù)據(jù)庫(kù)等的實(shí)時(shí)性能。分析結(jié)果:一旦測(cè)試完畢后,LoadRunner 收集匯總所有的測(cè)試數(shù)據(jù),并為我們提供高級(jí)的分析和報(bào)告工具,以便迅速查找到性能問(wèn)題并追溯原由。使用LoadRunner 的Web交易細(xì)節(jié)監(jiān)測(cè)器,我們可以了解到將所有的圖象、框架和文本下載到每一網(wǎng)頁(yè)上所需的時(shí)間。負(fù)載測(cè)試是一個(gè)重復(fù)過(guò)程。每次處理完一個(gè)出錯(cuò)情況,我們都需要對(duì)我們的應(yīng)用程序在相同的方案下,再進(jìn)行一次負(fù)載測(cè)試。以此檢驗(yàn)我們所做的修正是否改善了運(yùn)行性能。LoadRunnerControllerVuGenAnalysisLoadRunner4.2 LoadRunner三大組件:Vuge
39、n(Virtual User Generator) 用來(lái)錄制腳本、編輯腳本Controller 用來(lái)布置和執(zhí)行測(cè)試場(chǎng)景Analysis圖4.1 LoadRunner三大組件 用來(lái)對(duì)測(cè)試結(jié)果進(jìn)行分析4.3 LoadRunner名詞解釋與分析:LoadRunner為性能測(cè)試工具,在腳本錄制編輯過(guò)程中的名詞以及系統(tǒng)Analysis分析器里面有很多關(guān)于系統(tǒng)性能指標(biāo)的名詞,這里列出了一些最為常用的名詞。Rendezvous(集合點(diǎn)):集合點(diǎn)用以同步虛擬用戶以便恰好在同一時(shí)刻執(zhí)行任務(wù)。在測(cè)試計(jì)劃中,可能會(huì)要求系統(tǒng)能夠承受1000 人同時(shí)提交數(shù)據(jù),在LoadRunner 中可以通過(guò)在提交數(shù)據(jù)操作前面加入集合
40、點(diǎn),這樣當(dāng)虛擬用戶運(yùn)行到提交數(shù)據(jù)的集合點(diǎn)時(shí),LoadRunner 就會(huì)檢查同時(shí)有多少用戶運(yùn)行到集合點(diǎn),如果不到1000 人,LoadRunner 就會(huì)命令已經(jīng)到集合點(diǎn)的用戶在此等待,當(dāng)在集合點(diǎn)等待的用戶達(dá)到1000 人時(shí),LoadRunner 命令1000 人同時(shí)去提交數(shù)據(jù),從而達(dá)到測(cè)試計(jì)劃中的需求。Transaction(事務(wù)):事務(wù)就是在腳本定義中定義的某段操作(ACTION),更確切的說(shuō),就是一段腳本語(yǔ)句.定義事務(wù)時(shí),首先在腳本中找到事務(wù)的開始和結(jié)束位置,然后分別插入一個(gè)事務(wù)起始標(biāo)記,這樣,當(dāng)腳本運(yùn)行的時(shí)候,LoadRunner會(huì)自動(dòng)在事務(wù)的起始點(diǎn)計(jì)時(shí),腳本在運(yùn)行到事務(wù)結(jié)束點(diǎn)時(shí)計(jì)時(shí)結(jié)束,
41、系統(tǒng)會(huì)自動(dòng)記錄這段操作的運(yùn)行時(shí)間等性能數(shù)據(jù);在腳本運(yùn)行完畢后,系統(tǒng)會(huì)在結(jié)果信息中單獨(dú)反映每個(gè)事務(wù)運(yùn)行結(jié)果。Transactions per Second(每秒通過(guò)事務(wù)數(shù)/TPS):顯示在場(chǎng)景運(yùn)行的每一秒鐘,每個(gè)事務(wù)通過(guò)、失敗以及停止的數(shù)量,是考查系統(tǒng)性能的一個(gè)重要參數(shù)。通過(guò)它可以確定系統(tǒng)在任何給定時(shí)刻的時(shí)間事務(wù)負(fù)載。分析TPS主要是看曲線的性能走向。將它與平均事務(wù)響應(yīng)時(shí)間進(jìn)行對(duì)比,可以分析事務(wù)數(shù)目對(duì)執(zhí)行時(shí)間的影響。例:當(dāng)壓力加大時(shí),點(diǎn)擊率/TPS曲線如果變化緩慢或者有平坦的趨勢(shì),很有可能是服務(wù)器開始出現(xiàn)瓶頸。DatabaseServer A2Client C1 C2InternetWeb Se
42、rver A1 A3N1N4N3N2Response Time(響應(yīng)時(shí)間)從用戶的角度,響應(yīng)時(shí)間(C1+C2)+(A1+A2+A3)+(N1+N2+N3+N4);從系統(tǒng)的角度,響應(yīng)時(shí)間包括(A1+A2+A3)+(N1+N2+N3+N4)。對(duì)于用戶能夠接受的響應(yīng)時(shí)間,在行業(yè)中一般都有369原則,即3s以內(nèi)響應(yīng)速度比較快,3s-6s能接受,9s以上不能忍受。Throughput(吞吐量):即每秒處理事務(wù)的數(shù)量。可以依據(jù)服務(wù)器的吞吐量來(lái)評(píng)估虛擬用戶產(chǎn)生的負(fù)載量,以及看出服務(wù)器在流量方面的處理能力以及是否存在瓶頸。Hits per Second(每秒點(diǎn)擊數(shù)):即運(yùn)行場(chǎng)景過(guò)程中虛擬用戶每秒向Web服務(wù)器
43、提交的 請(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)瓶頸所在。 Responses per Second(每秒 響應(yīng)數(shù)):是顯示運(yùn)行場(chǎng)景過(guò)程中每秒從Web服務(wù)器返回的不同 狀態(tài)代碼的數(shù)量,還能返回其它各類狀態(tài)碼的信息,通過(guò)分析狀態(tài)碼,可以判斷服務(wù)器在壓力下的運(yùn)行情況,也可以通過(guò)對(duì)圖中顯示的結(jié)果進(jìn)行分組,進(jìn)而定位生成錯(cuò)誤的代碼腳本。Web Page Breakdown(頁(yè)面分解圖):顯示某一具體事務(wù)在
44、測(cè)試過(guò)程的響應(yīng)情況,進(jìn)而分析相關(guān)的事務(wù)運(yùn)行是否正常。4.4 LoadRunner的工作機(jī)制: LoadRunner是一種企業(yè)級(jí)測(cè)試工具,它的工作機(jī)制較為復(fù)雜,掌握好LoadRunner的工作機(jī)制對(duì)于更好地掌握和使用LoadRunner有很大幫助,同時(shí)也會(huì)加深我們對(duì)LoadRunner的理解。如圖4.2為L(zhǎng)oadRunner工作機(jī)制的分解圖。Start/StopLoad GeneratorsVirtual UsersClient EmulationDiag logsCopy/pasteCapture&Record.doc.htmlMonitoringVugenControllerAnalysis
45、 ProtocolRunLogsIE ClientsScriptScenariosReports&GraphsMS WordInternet browserMS ExcelMercury DiagnosticsScheduleRun-timeSettingsJava ClientsServers/EnvironmentUnder TestProbes/AgentsAgentsCrystal Reports圖4.2 LoadRunner工作機(jī)制 LoadRunner中的Vugen通過(guò)監(jiān)聽I(yíng)E客戶端與服務(wù)器之間的通信,捕捉記錄兩者之間的信息傳遞來(lái)形成腳本。生成的腳本在Controller之中形成S
46、cenario(場(chǎng)景),按照制定的Schedule來(lái)執(zhí)行場(chǎng)景。Controller通過(guò)控制Load Generators來(lái)對(duì)系統(tǒng)加載虛擬用戶,并生成分析圖表。在Analysis中可以對(duì)圖表進(jìn)行系統(tǒng)分析,并能以各種格式(Word、Excel、Crystal Reports)打印出來(lái)。4.5 Vugen測(cè)試 建立測(cè)試目標(biāo) 分析系統(tǒng) 建立測(cè)試環(huán)境計(jì)劃錄制增強(qiáng)事務(wù)檢查點(diǎn)參數(shù)化錄制一個(gè)虛擬用戶腳本2134回放腳本驗(yàn)證腳本的正確性4.5.1 腳本產(chǎn)生的過(guò)程:圖4.3腳本開發(fā)過(guò)程腳本錄制具體步驟:(1)創(chuàng)建一個(gè)新的虛擬用戶腳本,選擇 Web( /HTML) 協(xié)議來(lái)錄制基于瀏覽器的應(yīng)用系統(tǒng)。設(shè)置錄制選項(xiàng)。(3
47、)點(diǎn)擊 “Start recording” 按鈕。在“Start recording”對(duì)話框中輸入應(yīng)用系統(tǒng)網(wǎng)址并點(diǎn)擊 OK 按鈕。(4)在 Web 系統(tǒng)中執(zhí)行用戶操作。(5)點(diǎn)擊“Stop Recording”按鈕,保存腳本。此次我們選用的基于瀏覽器的應(yīng)用系統(tǒng),即LoadRunner自帶網(wǎng)站“Web Tours”。此網(wǎng)站是一個(gè)飛機(jī)訂票網(wǎng)站,可完成簡(jiǎn)單的訂票操作,操作方便簡(jiǎn)捷??紤]到LoadRunner對(duì)某一網(wǎng)站測(cè)試時(shí)需要連接網(wǎng)絡(luò),所以選用了“Web Tours”,只需開啟Web Server即可。開啟方法如圖4.4:圖4.4 開啟web服務(wù)器4.5.2 腳本的錄制:打開Virtual User
48、 Generator,點(diǎn)擊新建,在“Category”中選擇“Web( /HTML)”協(xié)議。一般情況下,基于瀏覽器的應(yīng)用程序推薦使用HTML-based Script協(xié)議,不是基于瀏覽器的應(yīng)用程序推薦使用URL-based Script,因?yàn)槲覀兪褂玫氖荓oadRunner自帶的示例網(wǎng)站,所以我們選用HTML-based Script方式對(duì)腳本進(jìn)行錄制。用瀏覽器打開瀏覽器地址Web Tours網(wǎng)址工作目錄網(wǎng)站一開啟就開始錄制錄制選項(xiàng)從vuser_init函數(shù)開始錄制點(diǎn)擊“Create”按鈕。圖4.5錄制選項(xiàng)用戶注冊(cè)使用管理員權(quán)限登錄按鈕已注冊(cè)好的用戶 設(shè)置完畢后點(diǎn)擊“OK”,進(jìn)入“Web To
49、urs”登錄頁(yè)面,如圖4.6:圖4.6 Web Tours主頁(yè)在進(jìn)入此頁(yè)面后LoadRunner工具條會(huì)記錄下當(dāng)前頁(yè)面的事件數(shù)量: 當(dāng)前頁(yè)面的事件個(gè)數(shù)當(dāng)前錄制存放在init函數(shù)中圖4.7 LoadRunner錄制工具條1圖4.8 添加事物 我們需要對(duì)“登錄”和“退出”兩個(gè)功能的響應(yīng)時(shí)間做分析,所以要添加事務(wù)對(duì)這兩個(gè)功能進(jìn)行響應(yīng)時(shí)間的判定。在登錄之前需要對(duì)登錄功能添加事務(wù)即“Transaction”。點(diǎn)擊錄制條上的按鈕,輸入事務(wù)的名稱后點(diǎn)擊“Login”,然后點(diǎn)擊結(jié)束事務(wù)。在點(diǎn)擊“Login”進(jìn)入主頁(yè)面后,將錄制位置改為“Action”。此時(shí)錄制到的事件數(shù)目也會(huì)隨之增加。如圖4.9所示。圖4.9
50、 LoadRunner錄制工具條2 圖4.10 添加集合點(diǎn)此時(shí)我們需要虛擬用戶在進(jìn)行下一步操作的時(shí)候?qū)崿F(xiàn)同步操作,點(diǎn)擊按鈕,如圖4.10。添加集合點(diǎn)完成訂票流程后可以看到Invoice頁(yè)面,表示已經(jīng)完成訂票。完成訂票頁(yè)面的操作之后,將錄制位置改為“vuser_end”。對(duì)“退出”功能使用同樣的方法添加事務(wù)描述后,點(diǎn)擊停止按鈕,結(jié)束此次錄制過(guò)程。LoadRunner將會(huì)形成相應(yīng)的腳本“Script”以及錄制日志“Recording Log”。在“Script”中有三個(gè)函數(shù)分別為“vuser_init”,“Action”以及“vuser_end”。“vuser_init”為初始化函數(shù)與“vuser
51、_end”函數(shù)配套使用。這兩個(gè)函數(shù)不參與迭代過(guò)程,在每次腳本執(zhí)行的時(shí)候只運(yùn)行一次。而“Action”函數(shù)為主體函數(shù),可對(duì)主體操作進(jìn)行多次迭代。在對(duì)網(wǎng)站“Web Tour”進(jìn)行回放過(guò)程中我們不希望每次都對(duì)登錄和退出操作進(jìn)行多次迭代,所以把登錄和退出過(guò)程分別放在了“vuser_init”和“vuser_end”函數(shù)中,每次運(yùn)行腳本的時(shí)候這兩部分不隨迭代次數(shù)的增加而增加。圖4.11 迭代次數(shù)設(shè)置在“Run-time Settings-General-Run Logic”中我們要對(duì)“Action”部分進(jìn)行迭代次數(shù)的設(shè)置。如圖4.11所示, 可以看出隨著迭代次數(shù)的增加,只有Action部分會(huì)多次迭代,v
52、user_init和vuser_end部分只執(zhí)行一次。在“Recording Log”中,我們可以看到LoadRunner在錄制過(guò)程中捕獲的關(guān)于應(yīng)用系統(tǒng)客戶端與服務(wù)器之間的數(shù)據(jù)通訊:GET /WebTours/header.html表示獲取“WebTours/header.html”這樣一個(gè)網(wǎng)頁(yè)。第一行表示客戶端向服務(wù)器發(fā)送請(qǐng)求,大小為625字節(jié);第二行表示服務(wù)器向客戶端發(fā)送164字節(jié)的數(shù)據(jù)包,答復(fù)是否接受請(qǐng)求。第三行表示服務(wù)器向客戶端發(fā)送692字節(jié)的數(shù)據(jù)包,數(shù)據(jù)包內(nèi)容為“WebTours/header.html”網(wǎng)頁(yè)。4.5.3 腳本的回放點(diǎn)擊進(jìn)行回放,在Last Replay Summar
53、y左側(cè)有回放成功與否的報(bào)告,同時(shí)在右側(cè)還有錄制時(shí)和回放時(shí)網(wǎng)站的截圖(Snapshot)。在Replay Log中可以看到關(guān)于回放中的迭代的描述,如圖4.12所示。圖4.12 回放總結(jié) 4.6 Controller Controller是LoadRunner最核心的組件,是創(chuàng)建、維護(hù)、執(zhí)行和監(jiān)控場(chǎng)景的管理中心。一個(gè)場(chǎng)景(Scenario)定義了Vuser執(zhí)行、測(cè)試目標(biāo)、控制Vuser的電腦、執(zhí)行壓力測(cè)試條件等。 場(chǎng)景模式共有兩種:手工場(chǎng)景和面向目標(biāo)場(chǎng)景。手動(dòng)場(chǎng)景:手工控制多少用戶參與運(yùn)行以及在什么時(shí)候運(yùn)行;在場(chǎng)景執(zhí)行中,可以添加、啟動(dòng)和停止虛擬用戶運(yùn)行。面向目標(biāo)的場(chǎng)景:目標(biāo)可能是吞吐量、響應(yīng)時(shí)間
54、、并發(fā)用戶數(shù);LoadRunner自動(dòng)地管理虛擬用戶 ;在場(chǎng)景執(zhí)行中,不能添加、啟動(dòng)和停止虛擬用戶運(yùn)行。為了能夠更精確的控制場(chǎng)景的執(zhí)行,我們選擇手動(dòng)場(chǎng)景模式。 場(chǎng)景執(zhí)行計(jì)劃:圖4.13 場(chǎng)景執(zhí)行計(jì)劃在場(chǎng)景執(zhí)行之前設(shè)計(jì)場(chǎng)景啟動(dòng)場(chǎng)景在場(chǎng)景執(zhí)行期間同時(shí)跑多個(gè)Vusers控制各個(gè)Vusers顯示各個(gè)Vusers的運(yùn)行狀態(tài)顯示來(lái)自各個(gè)Vusers的消息監(jiān)控系統(tǒng)和網(wǎng)絡(luò)的資源在場(chǎng)景執(zhí)行之后收集和組織性能參數(shù)啟動(dòng)分析工具(可選)4.6.1 Design打開Controller,在Design頁(yè)面的左上角有控制場(chǎng)景腳本的“Scenario Scripts”,在“Load Generator”負(fù)載生成器里添加負(fù)載
55、的機(jī)器名稱。若是本機(jī)手動(dòng)輸入“l(fā)ocalhost”,若是想在另一臺(tái)機(jī)器上進(jìn)行加載,則輸入該機(jī)器的IP地址。如圖4.14所示。圖4.14 場(chǎng)景腳本在Design頁(yè)面的左下方,是整個(gè)場(chǎng)景執(zhí)行的計(jì)劃表即“Global Schedule”,在這里可以對(duì)場(chǎng)景執(zhí)行的具體方式進(jìn)行設(shè)置。比如場(chǎng)景運(yùn)行的時(shí)間,虛擬用戶加載的個(gè)數(shù)和方式以及虛擬用戶退出執(zhí)行的方式。如圖4.15所示:在“Initialize”里面,將場(chǎng)景設(shè)置為每一個(gè)虛擬用戶在場(chǎng)景開始運(yùn)行的時(shí)候就進(jìn)行初始化。在“Start Vusers”里面,我們?cè)O(shè)置100個(gè)虛擬用戶(虛擬用戶數(shù)根據(jù)機(jī)器配置及具體項(xiàng)目而定,可高達(dá)數(shù)十萬(wàn)),并且每5秒鐘加載5個(gè)虛擬用戶。
56、在“Duration”中場(chǎng)景的執(zhí)行時(shí)間為5分鐘,這里對(duì)于測(cè)試系統(tǒng)穩(wěn)定性的情況可以設(shè)置為24小時(shí)或者2天左右的時(shí)間。在“Stop Vusers”中,場(chǎng)景執(zhí)行完畢之后每5秒鐘撤下10個(gè)虛擬用戶。在進(jìn)行“Global Schedule”中設(shè)置完畢后,在Design頁(yè)面的右下角會(huì)生成對(duì)應(yīng)的加載虛擬用戶的走勢(shì)圖。如圖4.16所示。圖4.15 全局計(jì)劃表圖4.16 虛擬用戶加載圖4.6.2 Run點(diǎn)擊進(jìn)入“Run”頁(yè)面中。在點(diǎn)擊“Start Scenario”之前,必須要開啟“Web Tour”網(wǎng)站的“Web Server”服務(wù)器,否則將無(wú)法打開“Web Tours”網(wǎng)站,也就無(wú)法讓虛擬用戶進(jìn)行登錄操作。
57、在Run頁(yè)面的左上角是“Scenario Groups”,里面動(dòng)態(tài)記錄著Vusers的狀態(tài)。虛擬用戶在執(zhí)行場(chǎng)景時(shí)虛擬用戶的狀態(tài)會(huì)發(fā)生變化。可以通過(guò)對(duì)虛擬用戶進(jìn)行控制和觀察。在Vusers控制器里可以手動(dòng)停止某個(gè)或全部虛擬用戶。如圖4.17所示。圖4.17 虛擬用戶監(jiān)控虛擬用戶在執(zhí)行場(chǎng)景時(shí)會(huì)經(jīng)過(guò)“Down”-“Initializing”-“Ready”-“Running”-“Exiting”-“Stopped”的狀態(tài)轉(zhuǎn)換。如果出現(xiàn)錯(cuò)誤,將會(huì)出現(xiàn)“Done.Failed” 狀 態(tài)。同時(shí)在Run頁(yè)面的右上方可以對(duì)全局狀態(tài)進(jìn)行觀察。如圖4.18:圖4.18 場(chǎng)景狀態(tài) 此次場(chǎng)景的執(zhí)行共報(bào)錯(cuò)130個(gè),點(diǎn)擊
58、右側(cè)放大鏡圖標(biāo)可查看具體出錯(cuò)信息。圖4.19出錯(cuò)信息如圖4.19所示為虛擬用戶執(zhí)行場(chǎng)景的出錯(cuò)統(tǒng)計(jì)。在里面我們可以找出具體出錯(cuò)的原因。比如第一條“Failed to Stop.Reason:TimeOut”,停止虛擬用戶失敗的原因是超時(shí),第二條為無(wú)法連接上“Web Tours”網(wǎng)站,第三條是無(wú)法關(guān)閉進(jìn)程或線程。場(chǎng)景執(zhí)行的“Load Generator”負(fù)載生成器為本機(jī),故每臺(tái)電腦執(zhí)行場(chǎng)景的情況各有所異。在本機(jī)進(jìn)行場(chǎng)景執(zhí)行的時(shí)候,CPU的利用率已經(jīng)達(dá)到100%,說(shuō)明CPU已無(wú)法滿足加載更多虛擬用戶的需求。所以在越來(lái)越多的虛擬用戶相繼加載之后CPU不堪重負(fù),故發(fā)生了上述錯(cuò)誤。在場(chǎng)景執(zhí)行期間,通過(guò)Co
59、ntroller可以觀察和搜集統(tǒng)計(jì)信息;場(chǎng)景執(zhí)行完之后,在LoadRunner Analysis中關(guān)聯(lián)所搜集的統(tǒng)計(jì)信息為分析關(guān)鍵問(wèn)題做準(zhǔn)備;在測(cè)試場(chǎng)景執(zhí)行過(guò)程中或場(chǎng)景執(zhí)行之后,用戶通過(guò)瀏覽器可觀察到性能監(jiān)控器,使項(xiàng)目成員之間的協(xié)作更容易。選擇那些性能監(jiān)控器也是測(cè)試計(jì)劃的一部分。在Run頁(yè)面的左下方是用于監(jiān)控和觀察的一些項(xiàng)目。如圖4.20:圖4.20 添加監(jiān)控指標(biāo)在“Available Graphs”里是一些可供觀察和分析的項(xiàng)目,可以根據(jù)項(xiàng)目具體要求添加想要監(jiān)控的一些項(xiàng)目。我們要在“System Resource Graphs”下的“Windows Resources”中添加我們要觀察的一些關(guān)于
60、本機(jī)Windows資源的一些參數(shù)。雙擊“Windows Resources”,在頁(yè)面上方工具欄中點(diǎn)擊“Monitors-Add Measurements”,在“Monitored Server Machine”中輸入“l(fā)ocalhost”。并在下方“Resource Measurements on:localhost”欄中添加我們要監(jiān)測(cè)的一些項(xiàng)目:如圖4.21:在Run頁(yè)面的右下方是對(duì)場(chǎng)景執(zhí)行過(guò)程當(dāng)中的各種資源及指標(biāo)進(jìn)行實(shí)時(shí)監(jiān)控的窗口,里面可以根據(jù)項(xiàng)目需求自定義切換監(jiān)控的對(duì)象,雙擊可放大觀察。在在對(duì)“Web Tours”網(wǎng)站做性能測(cè)試的時(shí)候我們更多的關(guān)注一些主要指標(biāo)對(duì)應(yīng)的圖表,例如Runnin
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024網(wǎng)絡(luò)安全防護(hù)與監(jiān)測(cè)服務(wù)合同
- 2024離婚雙方的特殊財(cái)產(chǎn)(如古董、藝術(shù)品)分配合同
- 2025年度住宅小區(qū)蟲鼠害預(yù)防與治理專項(xiàng)服務(wù)合同模板4篇
- 2025年度安全生產(chǎn)應(yīng)急預(yù)案編制合同規(guī)范3篇
- 2025年度新能源汽車銷售代理及售后服務(wù)合同3篇
- 2025年度智慧停車系統(tǒng)車位租賃管理合同樣本4篇
- 2025年度出租車公司車輛更新改造升級(jí)合同3篇
- 2025年度現(xiàn)代農(nóng)業(yè)示范區(qū)場(chǎng)地平整與灌溉系統(tǒng)建設(shè)合同3篇
- 2025年度特色菜肴研發(fā)及廚師團(tuán)隊(duì)聘用協(xié)議4篇
- 2025年度數(shù)據(jù)中心專用電纜供應(yīng)與安裝服務(wù)合同范本4篇
- 易普拉格科研管理系統(tǒng)
- 最終版 古城文化修復(fù)監(jiān)理大綱
- GB/T 43391-2023市場(chǎng)、民意和社會(huì)調(diào)查調(diào)查報(bào)告編制指南
- 拔罐技術(shù)操作考核評(píng)分標(biāo)準(zhǔn)
- 軟件無(wú)線電原理與應(yīng)用第3版 課件 第4-6章 軟件無(wú)線電硬件平臺(tái)設(shè)計(jì)、軟件無(wú)線電信號(hào)處理算法、信道編譯碼技術(shù)
- RB-T 099-2022 進(jìn)口食品供應(yīng)商評(píng)價(jià)技術(shù)規(guī)范
- 戒賭法律協(xié)議書范本
- (完整版)A4筆記本模板(可編輯修改word版)
- 競(jìng)選市級(jí)三好學(xué)生PPT
- 2024屆甘肅省蘭州市五十一中生物高一上期末檢測(cè)模擬試題含解析
- (國(guó)家基本公共衛(wèi)生服務(wù)項(xiàng)目第三版)7高血壓患者健康管理服務(wù)規(guī)范
評(píng)論
0/150
提交評(píng)論