自動化測試工具LoadRunner和QTP_第1頁
自動化測試工具LoadRunner和QTP_第2頁
自動化測試工具LoadRunner和QTP_第3頁
自動化測試工具LoadRunner和QTP_第4頁
自動化測試工具LoadRunner和QTP_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 軟件自動化測試工具的分析摘要軟件測試行業(yè)在國內已存在多年,但其發(fā)展水平尚處于起步階段。起初的軟件測試完全靠手工來完成。在功能測試中,測試人員根據已編寫的測試用例來執(zhí)行測試計劃,手動的輸入大量數(shù)據并比較預期結果與實際結果,從而對系統(tǒng)的功能進行判定。當進行少量數(shù)據測試或者邏輯復雜的系統(tǒng)測試時,測試尚可取得效率。但當有大量的數(shù)據需要錄入并進行反復測試的時候,手工測試便顯得捉襟見肘。而在性能測試中,為了使系統(tǒng)更好的模擬現(xiàn)實的使用情況,軟件測試方要聯(lián)合使用方發(fā)起大量的人員在同一時間登錄系統(tǒng)并完成相應操作,以驗證系統(tǒng)的性能是否能夠滿足實際使用的需求。這樣做不但會消耗大量的財力物力人力,而且也不能完全精確

2、的獲得系統(tǒng)性能的一些參數(shù)。在人們對測試需求日益增加之時,自動化測試應運而生。解決了長期以來困擾人們的諸多難題,成為了軟件測試行業(yè)的領先技術與主流方向。所以對于自動化測試研究具有非常實際的現(xiàn)實意義。自動化測試能夠解決大量數(shù)據反復錄入使用的難題,同時也能解決模擬大量用戶對系統(tǒng)進行負載的問題。在論文中主要討論了兩種自動化測試工具,一個是功能測試工具QTP(Quick Test Professional),一個是性能測試工具LoadRunner。在對QTP的研究當中,論文主要描述了QTP在對應用程序的操作過程中顯示出的快速、自動化的特點。QTP完成了對同一組數(shù)據的逐一自動錄入,以及對應用程序某一屬性的

3、驗證功能。QTP還可以對文字以及圖片做驗證從而對某一網頁的打開與否進行驗證。這些功能的完成都需要先編寫測試腳本,測試腳本的編寫可以直接錄制并修改,也可手工編寫。QTP生成的腳本可以通過手動修改來實現(xiàn)其對應用程序操作的改變。本次論文將會對QTP自動化的特性進行詳細闡述與描繪。論文的另一大重點是性能測試工具LoadRunner。LoadRunner等自動化性能測試工具對于系統(tǒng)的性能測試有著革命性的意義,它使得起初的大量人員投入測試變?yōu)橹灰獑稳伺c多臺電腦的測試。大量節(jié)約了使用成本,同時也大大提高了測試的效率。本次論文將會對LoadRunner在性能測試中對系統(tǒng)大量用戶加載與多種系統(tǒng)性能指標進行演示和

4、分析。其中涉及到對LoadRunner腳本的錄制與修改,以及利用Controller控制器對被測系統(tǒng)進行大量用戶加載的操作過程,以及加載之時之后系統(tǒng)與機器的各項性能指標的監(jiān)控與分析。 通過這兩種很具代表性的工具的研究可以讓我們對自動化測試有更深的了解,同時對于自動化測試工具的工作機制有著更深的認識。關鍵詞:軟件測試;自動化測試;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前言···························

13、;···································11.1 課題概述·············&#

14、183;··········································11.2 課題的研究目標和研究內容····

15、83;···································11.3 課題的研究方法和工作步驟···········

16、3;····························22軟件測試概述····················&#

17、183;·································32.1軟件測試···············

18、·········································32.2手工測試·······

19、3;················································32.3自動化測試&

20、#183;·················································&

21、#183;···4 2.4手工測試與自動化測試的比較······································4 3自動化測試工具···

22、83;················································63.1 功能測試

23、工具·················································

24、3;··63.2 性能測試工具··············································

25、;······74自動化測試工具LoadRunner········································

26、3;·84.1 LoadRunner的特點及其應用范圍····································8 4.2 LoadRunner三大組件·····&#

27、183;········································9 4.3 LoadRunner 名詞解釋與分析·····&#

28、183;·································94.4 LoadRunner工作機制·············&

29、#183;·······························10 4.5 Vugen················&

30、#183;··········································11 4.5.1腳本產生的過程····

31、3;···········································114.5.2腳本的錄制····

32、3;···············································124.5.3腳本的回放

33、3;·················································

34、3;·14 4.6 Controller··············································

35、;·········15 4.6.1 Design······································&#

36、183;··················15 4.6.2 Run·····························&#

37、183;·····························16 4.7 Analysis··················

38、;·······································215自動化測試工具QTP········

39、3;······································26 5.1 QTP的特點及應用場景········

40、3;··································265.2 QTP的工作流程·············&#

41、183;···································275.3 QTP腳本的錄制與回放···········

42、83;·······························275.4 QTP腳本的加強················&

43、#183;································32 5.4.1 QTP中常用的函數(shù)··············&

44、#183;·······························32 5.4.2實現(xiàn)對多組用戶名的自動執(zhí)行··············

45、3;·····················32 5.4.3實現(xiàn)對城市與航班的隨機選擇并輸出選擇項信息····················35 5.4.4檢查點的使用·

46、83;················································37 6總結

47、83;·················································

48、83;··········40參考文獻······································

49、83;····················42致謝·····························

50、;··································431 前言1.1 課題概述 隨著軟件市場對于軟件產品質量要求的提升,軟件的質量問題被進一步看重。與此同時軟件測試行業(yè)得到了快速發(fā)展的契機。在當今軟件測試行業(yè)中,手工測試仍占主導地位,手工測

51、試雖簡單易行,但手工測試的進行在很多情況下需要投入大量的人力和時間。同時在一些系統(tǒng)級的測試中,手工測試依舊沒法涉足其中。為了提高效率并且提高測試的覆蓋率和功能性,自動化測試應運而生。軟件自動化測試作為軟件測試中的尖端技術將會起到引領作用。因此對于軟件自動化測試工具的分析無疑非常具有實際意義。1.2 課題的研究目標和研究內容研究目標:闡述軟件測試的概念,比較手工測試與自動化測試的優(yōu)缺點。全面分析軟件自動化測試工具的特點與應用場景,詳細而明確地描述分析自動化測試工具LoadRunner與QTP的特點、工作流程等。研究內容:軟件測試的概念、意義、國內外現(xiàn)狀及發(fā)展、工作前景:軟件測試就是利用測試工具按

52、照測試方案和流程對產品進行功能和性能測試 。它是在軟件投入運行前,對軟件需求分析,設計規(guī)格說明和編碼實現(xiàn)的最終審查,是軟件質量保證的關鍵步驟。國內軟件測試尚在發(fā)展之中,國外軟件測試行業(yè)一片繁榮。國內軟件行業(yè)對測試越來越重視,軟件測試前景光明。 手工測試的概念、特點:手工測試就是用人為手段執(zhí)行測試用例,觀察測試結果。手工測試通常能發(fā)現(xiàn)自動化測試不能發(fā)現(xiàn)的缺陷,但同時在一些場景下,手工測試所耗費的人力和時間通常比較大。自動化測試的概念、特點、應用范圍、設計過程:自動化測試就是通過自動化測試工具或其他手段,按照測試工程師的預定計劃進行自動測試,目的是減輕手工測試的勞動量,提高軟件質量和軟件測試的效率

53、。自動化測試的優(yōu)點:提高測試質量、提高測試效率、提高測試覆蓋率、執(zhí)行手工測試不能完成的測試任務、更好地重現(xiàn)軟件缺陷的能力、更好地利用資源。自動化測試的局限性:對于定制性項目和周期很短的項目以及業(yè)務規(guī)則復雜的對象、人體感觀與易用性測試,以及不穩(wěn)定的軟件測試,涉及物理交互的測試方面具有局限性。手工測試和自動化測試的比較:自動化測試不能完全替代手工測試。在一些特殊情況下,手工測試仍然比自動化測試效率高。LoadRunner的特點:LoadRunner是一種預測系統(tǒng)行為和性能的負載測試工具,通過模擬成千上萬名用戶和實施實時性能監(jiān)測來確認和查找問題,LoadRunner能夠對整個企業(yè)架構進行測試。通過使

54、用LoadRunner,企業(yè)能最大限度地縮短測試時間,優(yōu)化性能和加速應用系統(tǒng)的發(fā)布周期。QTP的特點:QTP 提供符合所有主要應用軟件環(huán)境的功能測試和回歸測試的自動化。采用關鍵字驅動的理念以簡化測試用例的創(chuàng)建和維護。它讓用戶可以直接錄制屏幕上的操作流程,自動生成功能測試或者回歸測試用例。專業(yè)的測試者也可以通過提供的內置腳本和調試環(huán)境來取得對測試和對象屬性的完全控制。 LoadRunner、QTP的應用過程:LoadRunner:用Vugen錄制LoadRunner測試腳本回放腳本對腳本進行加強用Controller生成負載用Analysis對測試結果進行分析。QTP:生成自動化腳本同步回放腳本

55、到應用程序添加檢查點運行測試或測試組件。 自己對于自動化測試過程及軟件測試技術的認識:幾次培訓的項目經歷讓我感受到了自動化測試的魅力與實力。自動化測試行業(yè)是一個高技術行業(yè),經驗至關重要,所以自動化測試值得我們長期從事與發(fā)展。1.3課題的研究方法和工作步驟由于自動化測試工具是需要在實際應用中才能體現(xiàn)其價值的研究對象,所以對于它們我們采用的研究方法是實例分析法:主要通過運用自動化工具對實際軟件項目的研究而分析自動化工具的特點和應用過程。 在整個自動化測試工具的的研究過程當中,我把整個課題的研究分成了若干個步驟,每一個步驟對應一個工作階段: 第一是準備階段。在這個階段里面我的主要任務是盡可能搜集軟件

56、測試與自動化測試相關的一些資料。同時要下載安裝自動化測試工具QTP,LoadRunner等,這也是我在課題中研究的主題對象。同時為了順利的運行自動化測試工具,我還需要為其配置相應的系統(tǒng)環(huán)境,為分析工作的開展做準備。 第二是研究階段。在這個階段里面我主要是要完成對軟件測試與自動化測試的概念的分析以及其在國內外的發(fā)展情況和前景等。同時完成對QTP,LoadRunner特點和工作流程的分析。完成QTP與LoadRunner對相應應用程序的分析,整理收集相應測試和分析結果。第三是總結檢查階段。進入這個階段以后,課題研究的主體已基本成型??紤]到QTP與LoadRunner為應用型軟件工具,所以在對其研究

57、的時候容易出現(xiàn)對工具的特點和工序描述不清的情況,所以需要通過與指導老師的交流溝通以及與研究方案進行對照來完成對研究方案的改進和完善。2 軟件測試概述軟件測試是指軟件生存周期中的檢查、評審和確認工作,其中包括了對分析、設計階段,以及完成開發(fā)后維護階段的各類文檔、代碼的審查和確認。軟件測試是根據軟件開發(fā)各階段的規(guī)格說明和程序的內部結構而精心設計的一批測試用例,并利用這些測試用例運行程序以及發(fā)現(xiàn)錯誤的過程,即執(zhí)行測試步驟。2.1 軟件測試 軟件測試的目標和意義:軟件測試的目的就是發(fā)現(xiàn)軟件中的各種缺陷,進而供開發(fā)人員修改。軟件測試只能證明軟件存在缺陷,但不能證明軟件不存在缺陷,它可以使軟件中的缺陷降到

58、一定的程度,而不能徹底消滅缺陷。軟件測試可以用較少的用例、時間和人力找出軟件中的各種錯誤和缺陷,以保證軟件的質量。 軟件測試過程:一個規(guī)范的軟件測試過程包括:擬定軟件測試計劃、方案;設計和生成測試用例、準備測試數(shù)據;執(zhí)行測試,記錄原始數(shù)據,對缺陷進行管理;生成軟件測試報告、缺陷的統(tǒng)計和報表。軟件測試過程與整個軟件開發(fā)過程基本上是平行進行的。 軟件測試的現(xiàn)狀和發(fā)展:隨著軟件產業(yè)的發(fā)展,軟件產品的質量控制與質量管理正逐漸成為軟件企業(yè)生存與發(fā)展的核心。幾乎每個大中型IT企業(yè)的軟件產品在發(fā)布前都需要大量的質量控制、測試和文檔工作,而這些工作必須依靠擁有嫻熟技術的專業(yè)軟件人才來完成。軟件測試工程師就是這

59、樣的一個企業(yè)重頭角色。業(yè)內人士分析,該類職位的需求主要集中在沿海發(fā)達城市,其中北京和上海的需求量分別占去33%和29%。民企需求量最大,占19%,外商獨資歐美類企業(yè)需求排列第二,占15%。然而,目前的現(xiàn)狀是:一方面企業(yè)對高質量的測試工程師需求量越來越大越大,另一方面國內原來對測試工程師的職業(yè)重視程度不夠,使許多人不了解測試工程師具體是從事什么工作。這使得許多IT公司只能通過在實際工作中進行淘汰的方式對測試工程師進行篩選,因此國內在短期將出現(xiàn)測試工程師嚴重短缺的現(xiàn)象。因此隨著業(yè)內軟件企業(yè)對軟件測試的重視程度的增加,軟件測試行業(yè)也將越來越規(guī)范,并具有很好的發(fā)展前景。2.2 手工測試 手工測試的概念

60、:手工測試是最傳統(tǒng)的測試方法,它是由測試人員手工編寫測試用例,并根據測試用例手工完成測試過程的方法。手工測試是由測試人員手動一個一個的輸入測試用例,然后對比預期結果和實際結果,得出測試結果,與自動化測試相對應,屬于比較原始但很有必要的一個步驟。 手工測試的特點:手工測試的優(yōu)點在于簡單易行,上手容易,在實際應用過程中方便實用,同時在一些邏輯關系比較復雜的測試項目或環(huán)節(jié)中較為高效。但同時它的缺點也很明顯。在進行測試工作量很大時,可能會輸入大量的數(shù)據,在進行重復數(shù)據的錄入或測試中,手工測試量很大,效率也很低,同時在執(zhí)行回歸測試時實現(xiàn)較為困難。2.3 自動化測試 自動化測試的概念:自動化測試就是通過采

61、用測試工具或其他手段,按照測試工程師的預定計劃對軟件產品進行自動的測試,它是軟件測試的一個重要的組成部分,它能夠完成許多手工無法完成或者難以實現(xiàn)的一些測試工作。自動化測試中除了常規(guī)的對于功能的自動化測試,還有針對性能的自動化測試,目前行業(yè)中較為主流的性能測試工具便是HP(惠普)公司的LoadRunner。自動化測試作為當今軟件測試行業(yè)中的主流方向和前沿技術擁有諸多優(yōu)點。自動化測試可以提高測試的質量,對于以往只能依靠手工測試而實現(xiàn)的一些測試項目,尤其是在性能測試中利用手工測試對系統(tǒng)進行同步登錄操作的誤差,自動化測試可以更精確無誤的完成。同時自動化測試還能提高測試的效率。過往在用手工測試對系統(tǒng)進行

62、測試時,對于大量數(shù)據反復操作以及進行回歸測試的過程中,自動化測試可以更快的完成,同時可以反復執(zhí)行測試用例,大大提高了測試的效率。同時自動化測試還可以提高測試的覆蓋率,更好地重現(xiàn)軟件缺陷,更好地利用系統(tǒng)資源。同時自動化測試也有它的局限性。在一些周期很短的項目中,自動化測試由于在前期測試計劃制定需要耗費大量時間,所以會大大延長項目的周期,增加成本。在對業(yè)務規(guī)則復雜的對象進行測試中,自動化測試計劃的編寫會非常復雜,效率遠不及手工測試。人體感觀與易用性測試涉及到人的主觀思維判斷,是自動化測試無法涉及的領域。而對于不穩(wěn)定的軟件,因自動化測試的優(yōu)點是可重復執(zhí)行,所以并不適合不穩(wěn)定的軟件的多次執(zhí)行。在涉及物

63、理交互的測試項目中,需要人為手工的操作一些實體工具,自動化測試無法進行。2.4 手工測試與自動化測試的比較早期的軟件測試都是由手工完成的,而手工測試是一項艱苦的工作,它的工作量大,需要投入大量的時間和精力,而完全的手工測試已經滿足不了軟件開發(fā)的需求了。軟件的快速發(fā)展催生了另一門技術的誕生-軟件自動化測試。自動化測試技術是一項非常重要的技術,也是非常前沿的一項技術,在多數(shù)情況下可以替代手工測試的一門相對便捷的技術。軟件自動化測試的目的其實就是為了減輕繁雜的手工測試帶來的大工作量,從而達到提高軟件質量。當然軟件自動化測試還無法完全替代手工測試,在相當一些情況下,手工測試依舊相對實用。在軟件開發(fā)過程

64、中,軟件測試工作要占用較長的項目周期,而在一些對于可靠性要求很高的軟件測試中,其比例會更高。而在這些測試過程中,某個功能或某個特性要經過反復的驗證和測試,尤其是在回歸測試中,更要大量重復之前的一系列操作。同時隨著軟件版本的更新和升級,重復測試又要反復的開展。這就大大加大了工作量,也降低了工作的效率,而自動化測試的應用能夠大大的緩解這一過程帶來的工作量。但同時一些不需要大量重復的功能模塊或是項目,本身規(guī)模也較小,如果依然使用自動化測試,效率反而降低,成本也會相應增加。由此可見,軟件自動化測試技術不是萬能的,但卻是前沿的高端技術,是我們需要在軟件行業(yè)中大力發(fā)展的技術。3 自動化測試工具自動化測試是

65、把以人為驅動的測試行為轉化為機器執(zhí)行的一種過程。通常,在設計了測試用例并通過評審之后,由測試人員根據測試用例中描述的規(guī)程一步步執(zhí)行測試,得到實際結果與期望結果的比較。在此過程中,為了節(jié)省人力、時間或硬件資源,提高測試效率,便引入了自動化測試的概念。在進行自動化測試的時候,我們需要用到自動化測試工具。根據測試項目的需求自動化測試工具可大致分為功能測試工具和性能測試工具。功能測試工具主要是用于替代部分手工測試對于系統(tǒng)的操作,驗證系統(tǒng)功能的正確性,提高測試的效率。功能測試工具雖可用手工替代,但其在多方面應用的高效性是手工測試不能比擬的。相比而言,性能測試工具則不能被手工測試所替代,性能測試工具可以獲

66、取系統(tǒng)運行中一些性能指標,這非人眼人手所能獲得數(shù)據。同時一些較好的性能測試工具還可對性能測試的一些指標進行橫向縱向對比,從而更好的發(fā)現(xiàn)系統(tǒng)的瓶頸,進一步增強系統(tǒng)的性能。 無論是功能測試工具還是性能測試工具都將成為軟件測試行業(yè)未來發(fā)展的主流方向和主要途徑。在軟件自動化測試快速發(fā)展的同時,測試工具的數(shù)量也與日俱增,各大軟件生產企業(yè)百花齊放,測試工具各有千秋。對此,我們列舉了一些在國內軟件企業(yè)中常用的功能和性能測試工具。 3.1 功能測試工具 QTP,全名Quick Test Professional software。QTP是HP(惠普)公司的一款企業(yè)級自動化功能測試軟件。使用QTP的目的是想用它

67、來執(zhí)行重復的手工測試,QTP主要用于回歸測試和測試同一軟件的新版本。它可以覆蓋絕大多數(shù)的軟件開發(fā)技術,操作簡便,實用高效,是目前國內軟件測試行業(yè)最主流的功能測試工具。 WinRunner是Mercury公司的一種企業(yè)級的功能測試工具,用于檢測應用程序是否能夠打到預期的功能及正常運行。通過自動錄制、檢測和回放用戶的應用操作,WinRunner能夠有效地幫助測試人員對復雜的企業(yè)級應用的不同發(fā)布版本進行測試,提高測試人員的工作效率和質量,確保跨平臺的、復雜的企業(yè)級應用無故障發(fā)布及長期穩(wěn)定運行。Rational Robot是業(yè)界最頂尖的功能測試工具,它甚至可以在測試人員學習高級腳本技術之前幫助其進行成

68、功的測試。它集成在測試人員的桌面IBM Rational Test Manager上,在這里測試人員可以計劃、組織、執(zhí)行、管理和報告所有測試活動,包括手動測試報告。這種測試和管理的雙重功能是自動化測試的理想開始。上述三款功能測試工具基本上概括了目前行業(yè)中所有功能測試工具的特點。他們的主要工作思路都是通過錄制、回放和對腳本的修改加強來形成腳本,從而實施對測試對象的操作。目前比較高端與主流的功能測試工具多為企業(yè)級測試工具,可以針對企業(yè)的整體架構進行測試。3.2 性能測試工具 LoadRunner是一種預測系統(tǒng)行為和性能的工業(yè)標準級負載測試工具。通過以模擬上千萬用戶實施并發(fā)負載及實時性能監(jiān)測的方式來

69、確認和查找問題。通過使用LoadRunner ,企業(yè)能最大限度地縮短測試時間,優(yōu)化性能。LoadRunner 能讓企業(yè)保護自己的收入來源,無需購置額外硬件而最大限度地利用現(xiàn)有的IT 資源,并確保終端用戶在應用系統(tǒng)的各個環(huán)節(jié)中對其測試應用的質量,可靠性和可擴展性都有良好的評價。 SilkPerformer是一種在工業(yè)領域最高級的企業(yè)級負載測試工具。它可以模仿成千上萬的用戶在多協(xié)議和多計算的環(huán)境下工作。不管企業(yè)電子商務應用的規(guī)模大小及其復雜性,通過SilkPerformer均可以在部署前預測它的性能,可是的用戶化界面、實時的性能監(jiān)控和強大的管理報告可以幫助我們迅速的解決問題。例如加快產品投入市場的

70、時間,通過最小的測試走起保證系統(tǒng)的可靠性,優(yōu)化性能和確保應用的可擴充性。WebRunner是RadView公司退出的一個性能測試和分析工具,它讓web應用程序開發(fā)者自動執(zhí)行壓力測試;webload通過模擬真實用戶的操作,生成壓力負載來測試web的性能,用戶創(chuàng)建的是基于javascript的測試腳本,稱為議程agenda,用它來模擬客戶的行為,通過執(zhí)行該腳本來衡量web應用程序在真實環(huán)境下的性能。上述幾款性能測試工具比較具有代表性,同時也是當今的主流性能測試工具。性能測試工具的功能點以及工作原理多是通過模擬成千上萬用戶在復雜的環(huán)境中對系統(tǒng)或軟件進行操作的過程。通過對實際用戶的模擬來對系統(tǒng)或軟件產

71、品進行評估從而根據評測結果提出對系統(tǒng)或軟件產品的修改意見,從而提高產品的性能。性能測試工具解放了雙手,節(jié)省了大量時間與人力物力資源,對于軟件測試行業(yè)的發(fā)展起到了至關重要的作用。4 自動化測試工具LoadRunner 一個系統(tǒng)的成功與否不僅看它是否能達到人們的預期而成功完成某項任務,同時還要看系統(tǒng)的性能是否符合一定標準。系統(tǒng)的性能是一個很大的概念,覆蓋面非常廣泛,包括執(zhí)行效率、資源占用、穩(wěn)定性、安全性、兼容性、可擴展性、可靠性等等。而利用自動化工具則可以模擬真實用戶來操作系統(tǒng),通過這種方式來發(fā)現(xiàn)系統(tǒng)性能瓶頸的過程就叫作系統(tǒng)的性能測試。LoadRunner是一種預測系統(tǒng)行為和性能的負載測試工具,通

72、過模擬成千上萬名用戶和實施實時性能監(jiān)測來確認和查找問題,LoadRunner能夠對整個企業(yè)架構進行測試。通過使用LoadRunner,企業(yè)能最大限度地縮短測試時間,優(yōu)化性能和加速應用系統(tǒng)的發(fā)布周期。4.1 LoadRunner特性輕松創(chuàng)建虛擬用戶: 使用LoadRunner 的Virtual User Generator,我們能很簡便地創(chuàng)立起系統(tǒng)負載。該引擎能夠生成虛擬用戶,以虛擬用戶的方式模擬真實用戶的業(yè)務操作行為。它先記錄下業(yè)務流程(如下訂單或機票預定),然后將其轉化為測試腳本。利用虛擬用戶,我們可以在Windows ,UNIX或Linux 機器上同時產生成千上萬個用戶訪問。創(chuàng)建真實的負載

73、:Controller 的Rendezvous 功能提供一個互動的環(huán)境,在其中既能建立起持續(xù)且循環(huán)的負載,又能管理和驅動負載測試方案。而且,我們還可以利用它的日程計劃服務來定義用戶在什么時候訪問系統(tǒng)以產生負載。實時監(jiān)測器:LoadRunner 內含集成的實時監(jiān)測器,在負載測試過程的任何時候,我們都可以觀察到應用系統(tǒng)的運行性能。這些性能監(jiān)測器為我們實時顯示交易性能數(shù)據(如響應時間)和其它系統(tǒng)組件包括application server, web server,網路設備和數(shù)據庫等的實時性能。分析結果:一旦測試完畢后,LoadRunner 收集匯總所有的測試數(shù)據,并為我們提供高級的分析和報告工具,以

74、便迅速查找到性能問題并追溯原由。使用LoadRunner 的Web交易細節(jié)監(jiān)測器,我們可以了解到將所有的圖象、框架和文本下載到每一網頁上所需的時間。負載測試是一個重復過程。每次處理完一個出錯情況,我們都需要對我們的應用程序在相同的方案下,再進行一次負載測試。以此檢驗我們所做的修正是否改善了運行性能。LoadRunnerControllerVuGenAnalysisLoadRunner4.2 LoadRunner三大組件:Vugen(Virtual User Generator) 用來錄制腳本、編輯腳本Controller 用來布置和執(zhí)行測試場景Analysis圖4.1 LoadRunner三大

75、組件 用來對測試結果進行分析4.3 LoadRunner名詞解釋與分析:LoadRunner為性能測試工具,在腳本錄制編輯過程中的名詞以及系統(tǒng)Analysis分析器里面有很多關于系統(tǒng)性能指標的名詞,這里列出了一些最為常用的名詞。Rendezvous(集合點):集合點用以同步虛擬用戶以便恰好在同一時刻執(zhí)行任務。在測試計劃中,可能會要求系統(tǒng)能夠承受1000 人同時提交數(shù)據,在LoadRunner 中可以通過在提交數(shù)據操作前面加入集合點,這樣當虛擬用戶運行到提交數(shù)據的集合點時,LoadRunner 就會檢查同時有多少用戶運行到集合點,如果不到1000 人,LoadRunner 就會命令已經到集合點的

76、用戶在此等待,當在集合點等待的用戶達到1000 人時,LoadRunner 命令1000 人同時去提交數(shù)據,從而達到測試計劃中的需求。Transaction(事務):事務就是在腳本定義中定義的某段操作(ACTION),更確切的說,就是一段腳本語句.定義事務時,首先在腳本中找到事務的開始和結束位置,然后分別插入一個事務起始標記,這樣,當腳本運行的時候,LoadRunner會自動在事務的起始點計時,腳本在運行到事務結束點時計時結束,系統(tǒng)會自動記錄這段操作的運行時間等性能數(shù)據;在腳本運行完畢后,系統(tǒng)會在結果信息中單獨反映每個事務運行結果。Transactions per Second(每秒通過事務數(shù)

77、/TPS):顯示在場景運行的每一秒鐘,每個事務通過、失敗以及停止的數(shù)量,是考查系統(tǒng)性能的一個重要參數(shù)。通過它可以確定系統(tǒng)在任何給定時刻的時間事務負載。分析TPS主要是看曲線的性能走向。將它與平均事務響應時間進行對比,可以分析事務數(shù)目對執(zhí)行時間的影響。例:當壓力加大時,點擊率/TPS曲線如果變化緩慢或者有平坦的趨勢,很有可能是服務器開始出現(xiàn)瓶頸。DatabaseServer A2Client C1 C2InternetWeb Server A1 A3N1N4N3N2Response Time(響應時間)從用戶的角度,響應時間(C1+C2)+(A1+A2+A3)+(N1+N2+N3+N4);從系統(tǒng)

78、的角度,響應時間包括(A1+A2+A3)+(N1+N2+N3+N4)。對于用戶能夠接受的響應時間,在行業(yè)中一般都有369原則,即3s以內響應速度比較快,3s-6s能接受,9s以上不能忍受。Throughput(吞吐量):即每秒處理事務的數(shù)量??梢砸罁掌鞯耐掏铝縼碓u估虛擬用戶產生的負載量,以及看出服務器在流量方面的處理能力以及是否存在瓶頸。Hits per Second(每秒點擊數(shù)):即運行場景過程中虛擬用戶每秒向Web服務器提交的 請求數(shù)。通過它我們可以評估虛擬用戶產生的負載量,如將其和“平均事務相應時間”圖做比較,可以查看點擊次數(shù)對事務性能產生的影響。通過對查看“每秒點擊次數(shù)”,可以判斷

79、系統(tǒng)是否穩(wěn)定。系統(tǒng)點擊率下降通常表明服務器的響應速度在變慢,需進一步分析,發(fā)現(xiàn)系統(tǒng)瓶頸所在。 Responses per Second(每秒 響應數(shù)):是顯示運行場景過程中每秒從Web服務器返回的不同 狀態(tài)代碼的數(shù)量,還能返回其它各類狀態(tài)碼的信息,通過分析狀態(tài)碼,可以判斷服務器在壓力下的運行情況,也可以通過對圖中顯示的結果進行分組,進而定位生成錯誤的代碼腳本。Web Page Breakdown(頁面分解圖):顯示某一具體事務在測試過程的響應情況,進而分析相關的事務運行是否正常。4.4 LoadRunner的工作機制: LoadRunner是一種企業(yè)級測試工具,它的工作機制較為復雜,掌握好Lo

80、adRunner的工作機制對于更好地掌握和使用LoadRunner有很大幫助,同時也會加深我們對LoadRunner的理解。如圖4.2為LoadRunner工作機制的分解圖。Start/StopLoad GeneratorsVirtual UsersClient EmulationDiag logsCopy/pasteCapture&Record.doc.htmlMonitoringVugenControllerAnalysis ProtocolRunLogsIE ClientsScriptScenariosReports&GraphsMS WordInternet brows

81、erMS ExcelMercury DiagnosticsScheduleRun-timeSettingsJava ClientsServers/EnvironmentUnder TestProbes/AgentsAgentsCrystal Reports圖4.2 LoadRunner工作機制 LoadRunner中的Vugen通過監(jiān)聽IE客戶端與服務器之間的通信,捕捉記錄兩者之間的信息傳遞來形成腳本。生成的腳本在Controller之中形成Scenario(場景),按照制定的Schedule來執(zhí)行場景。Controller通過控制Load Generators來對系統(tǒng)加載虛擬用戶,并生成分析

82、圖表。在Analysis中可以對圖表進行系統(tǒng)分析,并能以各種格式(Word、Excel、Crystal Reports)打印出來。4.5 Vugen測試 建立測試目標 分析系統(tǒng) 建立測試環(huán)境計劃錄制增強事務檢查點參數(shù)化錄制一個虛擬用戶腳本2134回放腳本驗證腳本的正確性4.5.1 腳本產生的過程:圖4.3腳本開發(fā)過程腳本錄制具體步驟:(1)創(chuàng)建一個新的虛擬用戶腳本,選擇 Web( /HTML) 協(xié)議來錄制基于瀏覽器的應用系統(tǒng)。(2) 設置錄制選項。(3)點擊 “Start recording” 按鈕。在“Start recording”對話框中輸入應用系統(tǒng)網址并點擊 OK 按鈕。(4)在 We

83、b 系統(tǒng)中執(zhí)行用戶操作。(5)點擊“Stop Recording”按鈕,保存腳本。此次我們選用的基于瀏覽器的應用系統(tǒng),即LoadRunner自帶網站“Web Tours”。此網站是一個飛機訂票網站,可完成簡單的訂票操作,操作方便簡捷。考慮到LoadRunner對某一網站測試時需要連接網絡,所以選用了“Web Tours”,只需開啟Web Server即可。開啟方法如圖4.4:圖4.4 開啟web服務器4.5.2 腳本的錄制:打開Virtual User Generator,點擊新建,在“Category”中選擇“Web( /HTML)”協(xié)議。一般情況下,基于瀏覽器的應用程序推薦使用HTML-b

84、ased Script協(xié)議,不是基于瀏覽器的應用程序推薦使用URL-based Script,因為我們使用的是LoadRunner自帶的示例網站,所以我們選用HTML-based Script方式對腳本進行錄制。用瀏覽器打開瀏覽器地址Web Tours網址工作目錄網站一開啟就開始錄制錄制選項從vuser_init函數(shù)開始錄制點擊“Create”按鈕。圖4.5錄制選項用戶注冊使用管理員權限登錄按鈕已注冊好的用戶 設置完畢后點擊“OK”,進入“Web Tours”登錄頁面,如圖4.6:圖4.6 Web Tours主頁在進入此頁面后LoadRunner工具條會記錄下當前頁面的事件數(shù)量: 當前頁面的事件個數(shù)當前錄制存放在init函數(shù)中圖4.7 LoadRunner錄制工具條1圖4.8 添加事物 我們需要對“登錄”和“退出”兩個功能的響應時間做分析,所以要添加事務對這兩個功能進行響應時間的判定。在登錄之前需要對登錄功能添加事務即“Tran

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論