選擇適當的負載測試工具
要實施此項測試策略,您需要能選擇合適的負載測試工具??捎秘撦d測試工具的完整評估已超出本文的討論范圍,但我們仍希望幫助您確定一些在選擇適當的工具時的選項和注意事項。
第一個選項是考慮諸如 Windows Application Stress Tool (WAST) 這樣的免費工具。另一方面,您還可以選用更為靈活的工具,例如 ACT 或 Empirix 的 e-TEST 套件。圖 5顯示的是 e-Load 的界面,它是 e-TEST 套件的負載生成部分。
這些工具之間有一些明顯的功能差別。WAST 對于不太復雜的較小站點是不錯的工具。您可以輕松地測試站點上的兩三個關鍵頁面,并很好地了解響應率是多少。但是,僅僅一個能測試多頁面站點的隔離測試工具還是不夠的。而且,WAST 中沒有提供對于測試復雜站點必需的幾個重要功能(以及本文中一些建議的實現)。要使用 WAST 獲得復雜結果,需要您自定義應用程序,以便對其進行負載測試,這顯然是您所不希望的。
要執行我們針對復雜站點所建議的測試,諸如 ACT 或 e-TEST 套件之類的更健壯的測試工具將更有效。如果您在 .NET 中進行開發,那么 ACT 將集成到整個開發周期中。但是,這需要 ACT 對象模型的編程技巧和知識,以生成強大的測試腳本。如果您決定使用諸如 e-TEST 之類的工具,則需要支付一筆許可費。
圖 6ACT 結果界面
質量工具必須不僅僅能有效地測試站點,還能以有用的方式報告測試結果。ACT 和 e-TEST 均提供詳細的報告環境,允許您在需要的時候將結果繪制成圖像。ACT 結果界面顯示在圖 6 中。圖 7提供了公共特性的摘要,以及必須提供的每種工具類型的描述。
如果您確定更健壯的工具的確有必要,請不要低估啟動和運行必需耗費的時間。有些工具會宣稱只需幾個小時就能編寫開始測試所必需的腳本。如果您先前就有使用該工具或類似的負載測試工具的經驗,可能的確如此。但請做好耗費幾天甚至幾周進行準備工作的思想準備,所需的時間取決于站點的復雜程度。我們的第一個測試用例耗費了大約三周時間才啟動和運行。您可能會發現,盡管學習了一遍樣本教程,但仍有一些訣竅只能從實踐中學到,而且要經常致電支持熱線。耗費幾個小時學習工具,其效果可能遠勝于正規的訓練或聘請有經驗的顧問。而且,如果在開發階段的晚期開始測試工作,您將承擔不起浪費時間的損失,在這種情況下強烈建議使用以上兩項資源中的一項或全部。
了解歷史情況
您在一天之內甚至一周之內的測試數可能會變化。如果在調整 Web 服務器,則您可能決定運行一系列每小時一次的測試。如果您的目標在于測試應用程序的穩定性,則可能會整晚運行測試。不管是哪種方式,除非您保存一份文檔歷史記錄,否則要跟蹤從一個測試到下一個測試的變量和進度將會很難。有一點至關重要,即您能輕松地確定已進行了哪些測試、找到了什么以及接下來應測試什么。
至少應記錄運行的開始和結束時間、測試中的虛擬用戶量以及一份描述測試目標和更改內容的開始說明。以一份描述測試結果的結束說明完成運行。
小結
要成功部署復雜的 Web 應用程序,您必須首先采用超出系統測試范圍的“無驚訝”測試方法。負載測試由可伸縮性測試、性能測試和穩定性測試組成,它是發現體系結構中主要內在問題的唯一方法。為了達到此目的,您需要一個單獨的生產環境,環境中有類似的生產硬件、健壯的負載測試工具以及組織中若干人員的協作。
適當的度量標準可提供確定系統是否滿足質量條的方法。當然,對于可伸縮性實驗室團隊而言,最有價值的是分布式日志記錄系統捕獲到的錯誤和性能數據,因為它能提供應用級的信息。
通過使用本文中討論的建議并確保記錄工作情況,可以很好地保證在計劃的日期內順利地進行部署。