概念之一【壓力測試】來自VisualStudio.NET設計分布式應用程式可靠性測試:是指類比巨大的工作負載以查看應用程式在峰值使用方式下如何執行操作。對每個單獨的組件進行壓力測試後,應對帶有其所有組件和支援服務的整個應用程式進行壓力測試。集中測試從最基礎的功能測試開始。您需要知道編碼路徑和使用者方案、瞭解使用者試圖做什麼以及確定使用者運用您的應用程式的所有方式。測試指令碼應根據預期的用法運行應用程式。例如,如果您的應用程式顯示Web頁,而且99%的客戶只是搜尋該網站,只有1%的客戶將真正購買,這使得提供對搜尋和其他瀏覽功能進行壓力測試的測試指令碼才有意義。當然,也應對購物車進行測試,但是預期的使用暗示搜尋測試應在測試中占很大比重。
概念之二【壓力測試】來自.NET應用程式效能測試:壓力測試用來評估在超越最大負載的情況下系統將如何運行。壓力測試的目標就是發現在高負載的條件下應用程式的缺陷(BUG)。包括:synchronizationissues,raceconditions,andmemoryleaks(記憶體流失)。壓力測試能讓您識別程式的弱點和在極限負載下程式將如何運行。
概念之三【壓力測試】壓力測試主要是為了發現在一(任意)定條件下軟體系統的效能的變化情況。通過改變應用程式的輸入以對應用程式施加越來越大的負載(並發,迴圈操作,多使用者)並測量在這些不同的輸入時效能的改變,也就是通常說的概念:壓力測試考察當前軟硬體環境下系統所能承受的最大負荷並協助找出系統瓶頸所在。其實這種測試也可以稱為負載測試,但是負載測試通常描述一種特定類型的壓力測試——增加使用者數量以對應用程式進行壓力測試。
網上可能還有多於以上三種所描述的對壓力測試這個名詞的定義。
我比較贊同第一種概念,壓力測試應該是指類比巨大的工作負載以查看應用程式在峰值使用方式下如何執行操作。擴充開來說,其一壓力測試應該是較短時間的,其次是類比巨大的工作負載的,再次壓力測試是要使應用程式的使用達到峰值。對這三點繼續補充,對第一點長時間的壓力測試就轉變成了負載測試;對第二點,對應用程式施加的壓力是超負荷的,所以要不斷地加壓;第三點,使應用程式的使用達到峰值,如果超過這個界限則應用程式會崩潰或錯誤率激增,這個峰值是針對某一時刻來說的,也是針對某個臨界的壓力來說的,轉變為情境設定中的說法就是能夠支援的最大並發使用者數。
在最近的一次測試中定義了測試的目的是:需要瞭解AUT(被測應用程式)一般能夠承受的壓力,同時能夠承受的使用者訪問量(容量),最多支援有多少使用者同時訪問某個功能。在AUT中選擇了使用者最常用的五個功能作為本次測試的內容,包括登入。大概的需求就是這樣。
接下來我AUT的登入說一說怎麼用LoadRunner和Jmeter來實現情境的設定達到測試的目的。(註:對伺服器的檢測不是本次測試的重點,本次測試主要收集並發訪問使用者數和發生錯誤使用者數)