1. 使用SilkPerformer工具測試的一般步驟
使用SilkPerformer進行負載測試的流程如下:
- 項目設置(對應SilkPerformer工作流向導上的“Outline Project”)
- 創建測試腳本(對應SilkPerformer工作流向導上的“Model Script”)
- 測試腳本的試運行(對應SilkPerformer工作流向導上的“Try Script”)
- 定制測試(對應SilkPerformer工作流向導上的“Customize Test”)
- 建立測試基線(對應SilkPerformer工作流向導上的“Find Baseline”)
- 確認測試基線(對應SilkPerformer工作流向導上的“Confirm Baseline”)
- 確定負載測試壓力模式(對應SilkPerformer工作流向導上的“Adjust Workload”)
- 執行負載測試(對應SilkPerformer工作流向導上的“Run Test”)
- 測試結果分析(對應SilkPerformer工作流向導上的“Explore Results”)
也可以簡化工作流程,省略掉第5步和第6步。下面就按照上述的步驟來簡單說明使用SilkPerformer的測試流程。
1.1 項目設置
SilkPerformer負載測試的第一步是創建一個項目,并設置項目的基本信息,包括項目名,項目的簡要描述,待測系統的應用類型等。
SilkPerformer會自動把完成負載測試所需的所有資源,包括負載壓力,一個或多個profiles和測試腳本,腳本訪問的所有數據文件,指定數量的代理計算機和服務器的監控信息全部保存在一個項目目錄下。這樣便于高效地找到相關條目,如腳本及測試結果。
1.2 創建測試腳本
SilkPerformer負載測試的第二步是創建測試腳本。腳本描述的是在測試期間運行的虛擬用戶的活動。腳本是用SilkPerformer的專有腳本語言Benchmark描述語言( BDL )寫的。
腳本可以通過兩種方式創建。最簡單的方式就是使用SilkPerformer錄制方式來創建腳本。另外,你可以手工創建測試腳本。
1.2.1 錄制腳本
創建測試腳本的標準且最容易的方法就是通過腳本記錄器來創建。使用腳本記錄器,用戶只需對客戶端應用程序執行操作就可以創建測試腳本。
點擊SilkPerformer工作流向導上的“Model Script”按鈕,選擇或配置application profile,對于Web應用,輸入要測試的Web 站點地址。
完成上述設置后,點擊“OK”后,SilkPerformer就會啟動腳本記錄器就開始錄制腳本。
SilkPerformer記錄器可以錄制HTTP、FTP、POP3、SMTP 、LDAP協議的Web、FTP、電郵系統及目錄服務器應用系統。還可以捕獲OCI、ODBC、TUXEDO、COM、WinSock、Oracle Forms、.NET、ADO、WAP的API函數調用。
在錄制過程中,可以插入事務(transactions)和計時器(timers)。
1.2.2 手工創建測試腳本
手工創建測試腳本需要熟悉SilkPerformer的BDL語言,它是類似于Pascal的一種高級語言。 手工創建測試腳本能夠建立用戶要求的原型,并且定義一個負載測試腳本所需的典型組成部分,包括模塊,函數,壓力定義,事務,Web表格等。
1.3 測試腳本的試運行
SilkPerformer負載測試的第三步是對創建好的測試腳本進行試運行。試運行的目的是調試測試腳本,保證其沒有錯誤,并能精確地回放客戶端應用和服務器之間的相互通信。
點擊SilkPerformer工作流向導上的“Try Script”按鈕,確定profile和腳本文件后,點擊“Run”按鈕,SilkPerformer會啟動“Truelog Explorer”工具對腳本進行回放。
TrueLog Explorer可以幫助進行測試分析、發現回放錯誤、定制用戶數據、添加檢查點。
1.4 定制測試
SilkPerformer負載測試的第四步是定制測試。點擊SilkPerformer工作流向導上的“Customize Test”按鈕,可以設置網絡速度、瀏覽器類型等客戶端模擬的運行環境,可以參數化數據、編輯測試腳本等腳本定制以及可以修改用戶組和設置系統配置。
1.5 建立測試基線
SilkPerformer負載測試的第五步是弄清楚基線性能,即被測應用的基本的、理想的性能,F在定制好的測試是運行在每種用戶類型都是一個用戶數的情況下,這種無壓力的性能結果可以幫助計算并發用戶數和設置頁面、事務響應時間的閥值。
確定測試基線的一個次要原因是作為通過前面步驟建立起來的定制測試的一種試運行。 目的是保證定制沒有在腳本引入新錯誤,腳本能精確、充分地反映客戶端應用和服務器之間的通信。
1.6 確認測試基線
SilkPerformer負載測試的第六步是確認建立的測試基線,真實反映測試下應用的性能?赏ㄟ^基線報告中的測試檢查結果來進行確認。如果結果令人滿意,基線就可以被接受,其將作為計算并發虛擬用戶數和設置響應時間閥值的基礎。 基線結果將在后面與負載測試結果比較時使用。
1.7 確定負載測試壓力模式
在負載測試之前,必須選擇負載測試的壓力模式?梢栽贗ncreasing,Steady,Dynamic,All Day,Queuing,Verification六個不同的壓力模式之間選擇。
不同的壓力測試偏重不同的測試目的,下面分別說明含義和適用條件:
1 Increasing壓力模式:
定義:在測試初期,只有一部分虛擬用戶參與測試,逐步增加到所有用戶參與測試。
適用條件:如果客戶希望發現在多少壓力下系統崩潰,或響應時間超出可接受值,或錯誤超出閥值。
2 Steady state壓力模式:
定義:固定數目的虛擬用戶參與到整個測試過程。每個虛擬用戶執行腳本中定義的事務,結束后繼續開始,事務間沒有延遲,直到simulation time已經到達。
適用條件:客戶希望知道被測系統在指定負載下的行為
3 Dynamic壓力模式:
可以在測試過程中手工改變虛擬用戶的數目。在預設的最大虛擬用戶下,用戶數可以隨時增減。沒有simulation time,手工結束測試。
適用條件:客戶希望實驗不同的負載水平,并且方便的控制。
4 All day壓力模式:
最靈活的方式?蛻艨梢栽跍y試的任何間隔時間指定不同的虛擬用戶數目,每個用戶類型有不同的負載分布。因此可以按周或天指定復雜的測試場景,可以在測試中調整尚未開始的測試間隔的負載水平。
適用條件:客戶希望對復雜的長時間運行的測試場景以最實際的方式建模。
5 Queuing壓力模式:
事務按照指定的到達率調度。從simulation time和腳本中事務數目計算得到的平均間隔為基礎,得到隨機的到達率。當所有的虛擬用戶完成了指定的任務時測試結束。
適用條件:客戶希望模擬具有隊列模型的并發請求,例如servlet引擎或事務服務器,從Web Server而非最終用戶得到請求,可以用這種模型測試;這種模擬一般不使用在End-to-End測試
6 Verification壓力模式:
在和SilkPerformer的擴展認證功能組合時特別有用。這種組合可以用來進行web應用的回歸測試。運行時是在一個指定代理機器的一個指定用戶類型運行一個單用戶。
適用條件:客戶希望自動認證web應用,和希望從命令行接口開始認證測試。
1.8 執行負載測試
SilkPerformer負載測試的第八步就是運行負載測試。通過多個虛擬用戶運行測試腳本來測試目標服務器。當負載測試運行時,包括代理計算機、虛擬用戶以及用戶交易的實時信息全面展示給測試人員。 此外,可以設置應用服務器、數據庫服務器的一些監控信息,目標服務器的實時監控可以以圖形形式展示。
1.9 測試結果分析
SilkPerformer負載測試的第九步,也就是最后一步,就是顯示、分析測試結果,評估被測服務器的性能?梢詮目蛻艚嵌炔榭春头治鲰憫獣r間、虛擬用戶日志,從服務器角度查看和分析吞吐量數據、服務器性能指標數據。
SilkPerformer可以提供六種測試結果報告:Performance Explore、TrueLog Explore、Baseline Report、Virtual User Report Files、Virtual User Output Files和Results Repository。
Performance Explore可以在多種表格中分析選定的計時器及吞吐量數據。用戶可以自定義這些表格及圖表,并根據需要定義要獲取的測試數據。
TrueLog Explore從虛擬用戶的角度對前端做了全面的可視化分析。TrueLog On Error提供的信息能夠讓用戶以可視化方式看到導致發生錯誤的點擊路徑。
文章來源于領測軟件測試網 http://www.kjueaiud.com/