2009-08-13 51 views
3

我們的測試系統非常簡陋;啓動瀏覽器,看看它是否有效。最近,我們遇到了我們的客戶發現的問題,即我們的應用程序中用戶數量在應用程序中創建的速度變慢。該應用程序基本上是一個巨大的Word文檔,人們同時編輯他們自己的版本。部分問題來自不知道如何同時測試多個實例。我的夥伴和我想過如何測試這個;一個想法是租用一個網吧,並僱用學生一個小時來轟炸應用程序。您使用什麼方法來測試Web應用程序的可伸縮性?

人們試圖模仿併發測試其基於Web的應用程序的其他方式是什麼?這裏的大部分建議是針對具體的方法;我在問,你如何測試它以確保它能正常工作?

回答

3

如果你從未檢出Selenium,那麼你需要。它將允許您通過瀏覽器進行自動化Web測試。好的,首先解決問題。

現在理想情況下,您可以使用相同的腳本並將其加載到一堆盒子上,並立即運行它們以獲得某種負載測試權限?幸運的是,有人已經知道了這一點,儘管它是一種付費服務:Browser Mob。但是,看起來你願意花一點錢去做這件事,而且可能會爲你提供更好,更可重複的結果。

2

我們通常回答「可以在Web應用程序做一次超過一件事」使用JMeter產生在Web服務器上模擬HTTP負載。

我發現它有助於考慮區分幾種不同類型的測試;併發性(當系統中兩個事件發生碰撞時會發生什麼),容量(當有很多重疊請求時會發生什麼),數據量(數據在系統中累積時會發生什麼)...

巨大的一般速度下降SLA以外的響應時間通常與容量問題(以爭用爲常見原因)或容量(許多用戶,大量數據以及系統隨時間變慢)相關。前者通常需要某種多線程的請求流;後者通常可以通過預加載音量來管理,然後測量單個用戶所經歷的響應時間。

我通常發現將負載發生器與實際測量/儀器分開是一個好主意。這可以很簡單,就像在那裏有一個黑盒子來產生一個典型的負載,並坐在這裏用一個秒錶來測量典型用例的響應度。

+0

是否有一個資源,您可以指向我討論這些事情(我喜歡讀書,但URL會做)?我來自桌面計算編​​程環境,其中併發性指的是您自己的應用程序的多線程;我有興趣瞭解更多關於Web開發人員通常面臨的挑戰(以及這些挑戰的解決方案)。 – Avery 2009-08-14 08:53:46

相關問題