人們常常將等同于負載測試效能測試。負載測試被視為方式的回答"如何不會在系統反應速度快嗎?"此視圖然後往往意味著負載測試被視為專案活動的結束。發展年底才會有最後執行的效能測試,所以我們可以證實只有到那時它足夠快地執行在現實世界和順利過渡到現場服務。
錯誤的做法 !這是非常危險,錯過上啟動負載測試早期並將它應用在整個專案的許多好處。使用這種方法不會在系統揚帆通過負載測試和過渡順利投入服務嗎?偶爾是。但更經常在系統啟動失敗,因為載入開始應用,甚至與小數量的增加...第一次有併發需求在系統上,並需仲裁資源。通過代碼永遠不會被處決的路徑被觸發,出現的情況沒有人真的認為。事務失敗。系統崩潰。這些問題固定的更多的負載測試中應用後,我們再遇到像資源耗盡的問題,緩衝區溢位、 超時和不一致的行為。所需功能的預生產系統變成一個強健的解決方案,真正的工作才剛剛開始。
例子不勝枚舉的時失敗的產品負載測試開始,和大量的精力、 應力和開支後, 被擱置。糟糕的是那些錯過了負載完全測試,在實際運作時明顯失敗。互聯網入口網站開發人員最近停止發展的一項新的服務,一個已完成功能的開發,當負載測試顯示基本的結構問題和低效率的編碼,導致佳或系統不穩定。
所以你應該做什麼來避免這些風險?我們都知道它是更好地及早發現故障,它們的成本遠遠低於修復卻直到晚盡可能負載測試還留下。需要經常發現的故障的類型的體系結構更改以及哪些由然後是非常昂貴的執行的主要重寫。答案是你應該早點開始。不同形式的負載測試應反復應用,整個專案儘早找出問題並檢查系統不會走上正軌。
這是領導的測試開發實踐的自然擴展。測試領導的發展,在第一次編寫自動化的測試和代碼必須通過這些測試隨著它的發展,提供了主要的好處。但是,在其目前的形式,這重點測試是在功能上。隨著它的發展總是知道該軟體的功能狀態因此易於管理、 功能性故障扼殺在萌芽避免成本高昂的修補程式、 功能的風險會大大降低。不那麼其他風險。如果一個專案執行早期並連續負載測試獲取更廣泛和全面的風險減少。這使有效:
1.研究系統和執行風險分析,以説明命令對該系統的威脅,這將説明您優先負載測試活動。
2.收集資料,以便比較不同版本的效率。這就允許監測的長期趨勢,"系統使用更多和相同工作更多的處理器時間,對嗎?"此資料可以用於預測需求不同級別的資源要求,所以支援可擴充性的預測。
3.執行的目的是評估系統的行為,在負載下的觸發器故障的測試。使用類比預期的需求來觀察系統的聚合行為模式的工作負荷。使用特別針對性的極端工作負荷來探測系統的漏洞。
4.包括全方位的負載測試的測試套件。這意味著效能測試與典型和繁忙期間工作負荷 ;應力測試,以檢查非典型需求峰值和資源枯竭的影響 ;耐力測試,使用業務期間和累積操作測試 ;可靠性測試的運行大量的交易,然後檢查是否偶爾交易失敗 ;併發性測試的兩個使用者在同一時間同一帳戶上工作。
5.設計測量活動科學家將設計實驗設計它們提供可進行分析的資料。根據不同的穩態工作負載提供多個資料集,以支援插值系統的示例。選擇的工作負載,允許每個事務類型的資源成本的估算。
6.目標,中介軟體首次與泛型活動和開發功能,隨著該套件。早點開始,然後測試系統,每個增量版,首先,以前套件然後再與已修改的套件,位址的新功能。
7.投資的時間和資源工作代表的規模。也許測試床不能充分的規模,但不是應小於預期系統兩個數量級。將智慧和創新來有效地使用資源,以提供適當規模試驗床。如果不這樣做會招致的費用將遠遠超過提供測試床的費用。
8.不要拖延 ;儘快測試一個增量。不要跳過一個或你終究會跳過所有。比較測量和行為與上一個,是更好或更糟的是嗎?
9.提供後臺載入功能測試。當系統在其他事情要考慮工作卸載功能可能會失敗。
10.考慮偶爾的事件,如伺服器故障和重新配置的系統。這些需要根據負載測試嗎?
最後,您需要將負載測試整個開發過程。離開負載測試直到在現場服務的最終運行是災難性的。如果這成了常見的做法然後更多應用程式和工作的系統將提供對時間和預算。
No comments:
Post a Comment