1. 程式人生 > >soapui介面效能測試(三)---- 驗證效能

soapui介面效能測試(三)---- 驗證效能

背景:如何表現效能?

在SoapUI中,斷言效能和底層功能(通過步驟狀態斷言)的可能性很多。找到正確的組合並不容易,因為LoadTest結果非常依賴於外部因素(特別是在高負載時); 網路,磁碟活動,資料庫備份等。因此,我們建議您為LoadTest建立一個“safety net”的斷言,以檢測某些事情真的錯誤,而不是在所有情況下都期待相同的吞吐量。例如,如果您有一個步驟通常需要大約300ms,並且您想要自動執行LoadTest,則可以在大約900ms處建立一個“TestStep Average”斷言,這給出了大量的間隔空間。

現在我們來吧!

2.訪問斷言

從LoadTest視窗底部的“斷言”選項卡中訪問您的LoadTest的斷言:

在這裡,您可以使用工具欄按鈕新增和配置任意多個斷言,也可以通過在要宣告的步驟的統計資訊表中右鍵單擊並選擇所需的斷言來新增斷言:

雙擊斷言開啟相應的配置面板,允許您根據需要設定其配置。

3.可用斷言

從上圖可以看出,SoapUI提供了5個斷言來驗證您服務的持續效能。這些都具有以下配置設定:

  • 名稱 - LoadTest宣告的名稱。
  • Minumum請求 - 這是在應用斷言之前必須執行的目標testStep或testCase的最小數量。用法是在測量之前讓步驟或TestCase執行多次以“熱身”。
  • 最大錯誤(不適用於最大錯誤宣告) - 這是在LoadTest發生故障之前允許的最大故障數。用法是在確定LoadTest失敗之前允許一定數量的斷言失敗。將此值設定為“-1”將永遠不會失敗,允許您在LoadTest日誌中記錄錯誤以供以後分析。
  • TestStep - 目標TestStep,ANY代表應用於所有TestSteps。

然後可用的斷言具有如下特定的配置選項:

  1. Step Average - 斷言TestStep或整個TestCase的平均值不超過指定的限制。“最大平均”設定並不奇怪,允許目標專案的最大平均值。“Sample Interval”指定斷言的應用頻率; 這樣做的理由是,平均值通常是一個“緩慢移動的”統計量,其價值應該隨著時間的推移而不是一個接一個地被斷言。
  2. Step TPS
    宣告對應的TestStep或TestCase的TPS(每秒事務數)值。這裡“最小TPS”值指定了我們想要斷言的所需TPS,如果目標TestStep或TestCase未達到所需的吞吐量,則失敗。
  3. Step Maximum
     - 斷言相應TestStep或TestCase的最大值,超過指定的“最大時間”限制將失敗。
  4. Step Status
     - 檢查TestStep或TestCase的本身斷言執行狀態是否成功,否則斷言失敗。
  5. Max Errors
     - 檢查相應TestStep或TestCase的故障數量是否超出配置的“Max Absolute Errors”和/或“Max Relative Errors”值。計算的錯誤是由之前發生的LoadTest斷言失敗所產生的錯誤,例如,您可能為TestStep配置了Average,TPS和Maximum斷言,並希望它們總共不會失敗超過100次,即所有執行的1%。在這種情況下,將絕對值設定為100或相對值0.01。這通常與將其他斷言“Max Errors”值設定為-1組合,將LoadTest的實際失敗委託給此斷言而不是它們。

4.檢視斷言錯誤

在執行LoadTest時,LoadTest Log會顯示斷言失敗:

工具欄具有組合框,用於過濾要顯示的訊息(如果有豐富的錯誤),並且還包含用於將日誌匯出為逗號分隔檔案的按鈕。

雙擊一個條目將開啟底層TestStep的相應結果,例如雙擊上述日誌中的第一個錯誤。