軟件測試技術實驗指導書25月_第1頁
軟件測試技術實驗指導書25月_第2頁
軟件測試技術實驗指導書25月_第3頁
軟件測試技術實驗指導書25月_第4頁
軟件測試技術實驗指導書25月_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 軟件測試方法和技術 實驗指導書太原理工大學計算機科學與技術學院2011 年 5 月軟件測試方法和技術實驗適用專業(yè):軟件工程 實驗類別:專業(yè)實驗實驗時數(shù):8學時一、 實驗課程的性質、目的和任務1 培養(yǎng)學生初步掌握軟件測試技術實驗的技能。2 驗證所學理論、鞏固所學知識并加深理解。3 對學生進行實驗研究的基本訓練,通過實驗主要掌握黑盒法和白盒法設計測試用例的技術,運用自動化測試工具LoadRunner對Web軟件進行測試,為日后的軟件開發(fā)和軟件測試打下良好的基礎。二、 實驗課程的內容、要求及學時分配實驗一、 使用白盒測試方法中的邏輯覆蓋技術測試以下程序段。(2學時)(1)實驗目的:通過實驗主要掌握

2、用白盒法中的邏輯覆蓋測試技術設計測試用例以及測試流程圖的繪制。(2)實驗內容:測試以下程序段 Void DoWork(int x,int y,int z)1 int k=0,j=0; 2 if(x>0)&&(z<10)3 4 k=x*y-1;5 j=sqrt(k);6 7 if(x=4)|(y>5)8 j=x*y+10; 9 j=j%3;10 (3) 實驗要求:說明:程序段中每行開頭的數(shù)字(1-10)是對每條語句的編號。a 畫出程序的控制流圖(用題中給出的語句編號表示)。b分別用語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋方法設計測試用

3、例,并寫出每個測試用例的執(zhí)行路徑(用題中給出的語句編號表示)。實驗二、 為三角形程序設計測試用例。這個程序的功能是,讀入代表三角形邊長的三個整數(shù),判斷它們能否組成三角形。如果能夠,則輸出三角形是等邊、等腰或任意三角形的識別信息。(2學時)(1) 實驗目的:通過實驗主要掌握黑盒法和白盒法設計測試用例的技術。(2)實驗內容:為以下的三角形程序設計一組測試用例。這個程序的功能是,讀入代表三角形邊長的3個整數(shù), 判斷他們能否組成三角形。如果能夠組成,則輸出三角形是等邊,等腰或任意三角形的識別信息。 (3)實驗要求:先用黑盒法設計測試用例,然后用白盒法進行檢驗與補充。用某種高級語言寫出程序代碼,然后將選

4、好的測試用例輸入,給出打印輸出結果。該程序的流程圖和流圖如下:圖2.1程序流程圖 圖2.2 流圖實驗三、 使用LoadRunner 對Web軟件進行負載/壓力測試(4學時) 實驗目的:通過本實驗掌握LoadRunner測試工具的使用,對Website應用中至關重要的負載/壓力進行測試分析。 實驗內容:通過LoadRunner提供的功能對Website的并發(fā)用戶數(shù),事務平均響應時間,網(wǎng)絡吞吐量以及帶寬等性能進行測試。 實驗要求:自己編寫開發(fā)測試腳本,創(chuàng)建運行場景,分析測試結果并找出錯誤位置和原因,寫出測試結果報告。附錄:loadRunner使用說明(本說明針對LoadRunner7.51 Rel

5、ease)LoadRunner 包含很多組件,其中最常用的有 Visual User Generator(以下簡稱VuGen)、Controller,Analysis。使用 LoadRunner 進行測試的過程可以用圖3.1表示圖3.1 LoadRunner測試步驟下面我們就按照上圖的步驟來簡單說明使用 LoadRunner 的測試過程。1 制定負載測試計劃 在任何類型的測試中,測試計劃都是必要的步驟。測試計劃是進行成功的負載測試的關鍵。任何類型的測試的第一步都是制定比較詳細的測試計劃。一個比較好的測試計劃能夠保證LoadRunner 能夠完成負載測試的目標。制定負載測試計劃一般情況下需要三個

6、步驟,可以用圖3.2表示3.2 制定負載測試計劃步驟下面簡單的對這三個過程進行介紹。1.1 分析應用程序(Analyze the Application)制定負載測試計劃的第一步是分析應用程序。你應該對系統(tǒng)的軟硬件以及配置情況非常的熟悉,這樣才能保證你使用LoadRunner 創(chuàng)建的測試環(huán)境真實的反映實際運行的環(huán)境。l 確定系統(tǒng)的組成畫出系統(tǒng)的組成圖。組成圖要包括系統(tǒng)中所有的組件,以及相互之間是如何通訊的。圖3.3是一個系統(tǒng)組成圖的例子,可以參考。 圖3.3 網(wǎng)絡系統(tǒng)組成圖l 描述系統(tǒng)配置畫出系統(tǒng)組成圖后,試著回答以下問題,對組成圖進行完善。 預計有多少用戶會連到系統(tǒng) 客戶機的配置情況(硬件、

7、內存、操作系統(tǒng)、軟件工具等) 服務器使用什么類型的數(shù)據(jù)庫以及服務器的配置情況 客戶機和服務器之間如何通訊 還有什么組件會影響 Response Time 指標(比如Modem 等) 通訊裝置(網(wǎng)卡、路由器等)的吞吐量是多少?每個通訊裝置能夠處理多少并發(fā)用戶l 分析最普遍的使用方法了解該系統(tǒng)最常用的功能,確定那些功能需要優(yōu)先測試、什么角色使用該系統(tǒng)以及每個角色會有多少人、每個角色的地理分布情況等,從而預測負載的最高峰出現(xiàn)的情況。1.2 確定測試目標(Defining Testing Objectives)這里通過表3.1來說明如何確定測試目標。 表 3.1 確定測試目標所需考慮的對象在這里還要確

8、定何時開始負載測試,在不同的階段進行什么內容的負載測試??梢杂帽?.2來說明。表3.2 不同階段所需的負載測試內容1.3 計劃怎樣執(zhí)行LoadRunner確定要使用 LoadRunner 度量那些性能參數(shù),根據(jù)測量結果計算那些參數(shù),從而可以確定Vusers(虛擬用戶)的活動,最終可以確定那些是系統(tǒng)的瓶頸等。在這里還要選擇測試環(huán)境,測試機器的配置情況等等。2 開發(fā)測試腳本LoadRunner 使用虛擬用戶的活動來模擬真實用戶來操作Web 應用程序,而虛擬用戶的活動就包含在測試腳本中,所以說測試腳本對于測試來說是非常重要的。開發(fā)測試腳本要使用 VuGen 組件。測試腳本要完成的內容有:u 每一個虛

9、擬用戶的活動u 定義結合點u 定義事務開發(fā)測試腳本需要幾個步驟,可以用圖3.4來表示圖3.4 開發(fā)測試腳本步驟創(chuàng)建用戶腳本需要用到 VuGen。提示:運行VuGen 最好在1024*768 的分辨率下,否則有些工具欄會看不到。2.1 錄制基本的用戶腳本啟動Visual User Generator后,通過菜單新建一個用戶腳本,選擇系統(tǒng)通訊的協(xié)議。這里我們需要測試的是 Web 應用,所以我們需要選擇Web(HTTP/HTML)協(xié)議,確定后,進入主窗體。通過菜單來啟動錄制腳本的命令。u 在 URL 中添入要測試的Web 站點地址,這里我們以著名的Duwamish 應用為例子來進行錄制。u 選擇要把

10、錄制的腳本放到哪一個部分,默認情況下是“Action1”。這里簡單說明一下:VuGen 中的腳本分為三部分:vuser_init、vuser_end 和Action。其中vuser_init 和vuser_end 都只能存在一個,不能再分割,而Action 還可以分成無數(shù)多個部分(通過點擊New 按鈕,新建ActionXXX)。在錄制需要登陸的系統(tǒng)時,我們把登陸部分放到vuser_init 中,把登陸后的操作部分放到Action 中,把注銷關閉登陸部分放到vuser_end 中。(如果需要在登陸操作設集合點,那么登陸操作也要放到Action 中,因為vuser_init 中不能添加集合點)在其

11、他情況下,我們只要把操作部分放到Action 中即可。注意:在重復執(zhí)行測試腳本時,vuser_init 和vuser_end 中的內容只會執(zhí)行一次,重復執(zhí)行的只是Action 中的部分。u “Record the application startup”默認情況下是選中的,說明應用程序一旦啟動,VuGen 就會開始錄制腳本;如果沒有選中,應用程序啟動后,VuGen 出現(xiàn)以下對話框,并且暫時不會開始錄制腳本,用戶操作應用程序到需要錄制的地方,按下“Record”按鈕,VuGen 才開始錄制。u 點 “ Options ” 按鈕,進入錄制的設置窗體, 這里一般情況下不需要改動。Ø Rec

12、ording標簽頁:默認情況下選擇“HTML-based Script”,說明腳本中采用HTML 頁面的形式來表示,這種方式的Script 腳本容易維護,容易理解,推薦這種方式錄制(微軟在ACT 中附帶的Duwamish7 例子采用的就是這種方式)。“URL-based Script”說明腳本中的表示采用基于URL 的方式,WAS 和ACT中的錄制方式就是這種,這種方式看上去比較亂。選擇哪種方式錄制,有以下參考原則:1 基于瀏覽器的應用程序推薦使用HTML-based Script2 不是基于瀏覽器的應用程序推薦使用 URL-based Script。3 如果基于瀏覽器的應用程序中包含了 Ja

13、vaScript 并且該腳本向服務器產生了請求,比如DataGrid 的分頁按鈕等,也要使用URL-based 方式錄制4 基于瀏覽器的應用程序中使用了 HTTPS 安全協(xié)議,使用URL-based 方式錄制Ø Advanced 標簽頁:取默認情況即可。下面的圖簡單的說明了各項的含義。Ø Correlation 標簽頁:這里的內容比較重要,需要定制,主要是為了在錄制過程中設置自動關聯(lián)。根據(jù)自己的需求,選擇適當?shù)脑O置,然后點“OK”后,VuGen 開始錄制腳本。在錄制過程中,不要使用瀏覽器的“后退”功能,LoadRunner 支持不太好!錄制完成后,按下“結束錄制”按鈕,Vu

14、Gen 自動生成用戶腳本,退出錄制過程。2.3 Run-Time Setting當完善了測試腳本后,需要對VuGen 的Run-Time Setting 進行配置。下面對經(jīng)常需要設置的幾個標簽頁進行說明。首先打開 Run-Time Setting 窗口,可以通過菜單或者工具欄進行。操作后出現(xiàn) Run-Time Setting 窗口,打開“General”標簽頁切換到“NetWork”標簽頁注意:帶寬越大,給Web服務器造成的壓力就越大。切換到“Preferences ”標簽頁,這里僅僅對兩個經(jīng)常需要改動的選項進行說明。切換到“ContentCheck”標簽。這里的設置是為了讓VuGen 檢測何

15、種頁面為錯誤頁面。如果被測的Web 應用沒有使用自定義的錯誤頁面,那么這里不用作更改;如果被測的Web 應用使用了自定義的錯誤頁面,那么這里需要定義,以便讓VuGen 在運行過程中檢測,服務器返回的頁面是否包含預定義的字符串,進而判斷該頁面是否為錯誤頁面。如果是,VuGen就停止運行,指示運行失敗。切換到“Think Time”標簽其它的標簽設置采用默認值即可,這里不再詳細的介紹。2.4 單機運行測試腳本經(jīng)過以上的各個步驟后,腳本就可以運行了。運行腳本可以通過菜單或者工具欄來操作。執(zhí)行“運行”命令后,VuGen 先編譯腳本,檢查是否有語法等錯誤。如果有錯誤,VuGen將會提示錯誤。雙擊錯誤提示

16、,VuGen 能夠定位到出現(xiàn)錯誤的那一行。為了驗證腳本的正確性,我們還可以調試腳本,比如在腳本中加斷點等,操作和在VC 中完全一樣。如果編譯通過,就會開始運行。然后會出現(xiàn)運行結果。3 創(chuàng)建運行場景運行場景描述在測試活動中發(fā)生的各種事件。一個運行場景包括一個運行虛擬用戶活動的Load Generator 機器列表,一個測試腳本的列表以及大量的虛擬用戶和虛擬用戶組。運行場景描述在測試活動中發(fā)生的各種事件。一個運行場景包括一個運行虛擬用戶活動的Load Generator 機器列表,一個測試腳本的列表以及大量的虛擬用戶和虛擬用戶組。創(chuàng)建運行場景使用 Controller。在開始菜單中,啟動Contr

17、oller 程序,出現(xiàn)“New Scenario”窗口。如果沒有出現(xiàn),可以在菜單或者工具欄中點擊“New”。3.1 選擇場景類型為Manual Scenario3.1.1 選擇Vuser Groups在上圖中,把腳本添加到場景操作很簡單。如果在已經(jīng)打開的場景中,添加腳本3.1.2 添加Load Generator Machines點右邊的“Generators”按鈕,出現(xiàn)Load Generators 窗口添加 LoadGenerator 后,執(zhí)行“Connect”操作,使Status 為Ready,表示該機器聯(lián)接正常,如果為Failed,表示該機器不能聯(lián)接,請檢查原因??梢园堰@個列表保存下來

18、,執(zhí)行菜單命令即可。、 添加虛擬用戶首先設置虛擬用戶總數(shù)。點右邊的“VUsers”按鈕即可設置,該虛擬用戶將在那個Load Generators 上運行。3.1.4 設置Schedule這里的設置是非常重要的,也是三種場景類型最重要的區(qū)別之處。點按鈕,即可進入Schedule 設置窗口。點 按鈕,進入Scenario Start Time 窗口3.1.6 設置結果文件保存路徑通過菜單操作調出結果文件的保存路徑4 運行測試一切配置妥當,開始運行測試。5 監(jiān)視場景在運行過程中,可以監(jiān)視各個服務器的運行情況(DataBase Server、Web Server 等)。監(jiān)視場景通過添加性能計數(shù)器來實現(xiàn)

19、。這一章非常的重要,確定系統(tǒng)瓶頸全靠它了。下面重點講講需要添加那些計數(shù)器,以及那些計數(shù)器代表什么意思。由于 Win2000 Professional、Server 以及Advanced Server 提供的計數(shù)器不完全相同,這里我們討論將以Server 為基準。監(jiān)視場景需要在 Run 視圖中設置然后,出現(xiàn)添加計數(shù)器的對話框其他的操作就和控制面板“性能”中添加性能計數(shù)器的操作一樣,這里不再詳細說明。6 分析測試結果所有前面的準備都是為了這一步。我們需要分析大量的圖表,生成各種不同的報告,最后會得出結論。Q1 事務響應時間是否在可接受的時間內?哪個事務用的時間最長?看Transaction Res

20、ponse Time 圖,可以判斷每個事務完成用的時間,從而可以判斷出那個事務用的時間最長,那些事務用的時間超出預定的可接受時間。下圖可以看出,隨著用戶數(shù)的不斷增加,login 事務的響應時間增長的最快!Q2 網(wǎng)絡帶寬是否足夠?“Throughput”圖顯示在場景運行期間的每一秒鐘,從Web Server 上接受到的數(shù)據(jù)量的值。拿這個值和網(wǎng)絡帶寬比較,可以確定目前的網(wǎng)絡帶寬是否是瓶頸。如果該圖的曲線隨著用戶數(shù)的增加,沒有隨著增加,而是呈比較平的直線,說明目前的網(wǎng)絡速度不能夠滿足目前的系統(tǒng)流量。Q3 硬件和操作系統(tǒng)能否處理高負載?“Windows Resources”圖實時地顯示了Web Ser

21、ver 系統(tǒng)資源的使用情況。利用該圖提供的數(shù)據(jù),可以把瓶頸定位到特定機器的某個部件。7 利用Analysis 分析結果場景運行結束后,需要使用Analysis 組件分析結果。Analysis 組件可以在“開始程序”菜單中啟動,也可以在Controller 中啟動。7.1 分析事務的響應時間第一步,看“Transaction Performance Summary”圖,確認那個事務的響應時間比較大,超出了我們的標準??聪聢D,login 事務的平均響應時間最長。然后我們再看“Average Transaction Response Time”,觀察login 在整個場景運行中每一秒的情況。從圖中可

22、以看出,login 事務的響應時間并不是一直都比較高,只是隨著用戶數(shù)的增加,響應時間才明顯增加的。為了定位問題,明白為什么login事務的響應時間比較長,現(xiàn)在我們要分解login 事務,分析該頁面上每一個元素的性能。在上圖中,選擇要分解的事務曲線,然后點鼠標右鍵,選擇“Web Page Breakdown for login”7.2 分解頁面通過分解頁面可以得到:比較大的響應時間到底是頁面的哪個組件引起的?問題出在服務器上還是網(wǎng)絡傳輸上。這 里 為 了 解 說 各 個 時 間(比如:DNS 解析時間、連接時間、接受時間等)下面簡單說一下瀏覽器從發(fā)送一個請求到最后顯示的全過程。1. 瀏覽器向 W

23、eb Server 發(fā)送請求,一般情況下,該請求首先發(fā)送到DNS Server 把DNS名字解析成IP 地址。解析的過程的時間就是。這個度量時間可以確定DNS 服務器或者DNS 服務器的配置是否有問題。如果DNS Server 運行情況比較好,該值會比較小。2. 解析出 Web Server 的IP 地址后,請求被送到了Web Server,然后瀏覽器和WebServer之間需要建立一個初始化連接,建立該連接的過程就是。這個度量時間可以簡單的判斷網(wǎng)絡情況,也可以判斷Web Server 是否能夠響應這個請求。如果正常,該值會比較小。3. 建立連接后,從Web Server 發(fā)出第一個數(shù)據(jù)包,經(jīng)

24、過網(wǎng)絡傳輸?shù)娇蛻舳?,瀏覽器成功接受到第一字節(jié)的時間就是。這個度量時間不僅可以表示W(wǎng)ebServer 的延遲時間,還可以表示出網(wǎng)絡的反應時間。4. 從瀏覽器接受到第一個字節(jié)起,直到成功收到最后一個字節(jié),下載完成止,這段時間就是。這個度量時間可以判斷網(wǎng)絡的質量(可以用size/time 比來計算接受速率)其他的時間還有 SSL Handshaking(SSL 握手協(xié)議,用到該協(xié)議的頁面比較少)、ClientTime(請求在客戶端瀏覽器延遲的時間,可能是由于客戶端瀏覽器的think time 或者客戶端其他方面引起的延遲)、Error Time(從發(fā)送了一個HTTP 請求,到Web Server 發(fā)

25、送回一個HTTP 錯誤信息,需要的時間)。熟悉了以上各個時間的含義后,我們開始看分解頁面的圖形。各個組件的下載時間。從下圖可以看出,login 頁面有5 個組件組成,其中next.gif 下載用的時間最長,并且?guī)缀跛械臅r間都用在了First Buffer 上,而其大小為1.256KB,并不是很大。上圖提供的組件大小的信息比較簡單,更詳細的信息參考“Download Component SizeGraph”。利用該圖可以看出該頁面各種組件的大小所占的比例關系。同樣,要看各個組件下載時間的更詳細的信息,可以參考“Page Component Breakdown”。利用該圖可以看出該頁面各種組件下載時間的比例關系。選擇“Component Brea

溫馨提示

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

評論

0/150

提交評論