摘要
在過去的20年中,很多公司已經轉向用軟件將工作數字化方式。在軟件應用的推動下,已經產生了巨大生產效率,同時,為全球經濟的協作和信息共享提供了新的方式。軟件應用實際上已經成為業務關鍵信息共享和各種事務處理兩領域的主要渠道。當前,軟件應用----從e-mail到CRM(客戶關系管理)到事務處理----就意味著業務本身。
軟件開發技術在這段時期內已經發生改變并且相當成熟,現代應用軟件的復雜性也正在爆發。應用可以使用數十和數百種組件完成曾經使用紙張或手工的工作。復雜性直接導致業務過程中出現更多的潛在故障點,從而使分析問題的根源更為困難。
此外,軟件應用的運行與汽車不同。它們沒有那些當磨損后可直接更換的耐久部件。不論目標是為了建立競爭優勢還是為了滿足業務的變化,軟件應用每周每月每年都在改進。這一連串的變化使公司不得不面對另外一系列風險。
難以置信的改變速度和爆炸性的軟件復雜性給軟件開發過程帶來了巨大風險。嚴格的測試,對于量化和降低業務風險,是最常用的策略。開發人員,測試團隊和管理層等會提出一個相似的問題:在投入運行前如何準確,全面地驗證系統性能,而不超出預算。
通過性能測試,公司可以在投入運行之前檢驗應用是否滿足業務需求,量化最終用戶體驗的變化的影響,并且快速分析和解決發生故障的組件,因而在部署時就較少出現意外。然而,自動化性能測試的美好前景需要面對一些新問題:
什么是性能測試?
為什么要使它自動化?
性能測試正確的過程?
-設計
-構建
-執行
-分析,診斷,和調整
好的性能測試涉及到哪些人?
誰需要看結果并且如何報告結果來量化ROI?
當比較自動化負載測試方案時,哪些特性是最重要的?
通過我們的負載測試經驗和大量的顧客輸入和回饋,我們已經在正確的方法中積累了大量的專門技術,使得性能測試的步驟自動化。這篇文章總體介紹了自動化性能測試和最佳覆蓋性能測試方法的益處。
什么是性能測試?
性能測試是在上線前對系統進行端到端性能測試的唯一方法。性能測試解決方案是:
使用最少的硬件模擬成百上千的用戶與系統進行交互。
測量最終用戶的響應時間
以一致的方式重復負載
在負載下監測系統組件
提供健壯的的分析和報告機制
自動化測試方案通常使用4個主要的組件來構建和運行測試。這些包括:
虛擬用戶發生器可以捕獲最終用戶業務過程,并轉化為自動化腳本。
控制器將組織、驅動、管理、和監測負載
執行期間負載發生器執行虛擬用戶
分析引擎觀測、分析和對比結果
為什么使性能測試自動化?
自動化測試是一種方法,發揮人力,過程,技術的作用,以降低應用,升級或補丁部署的風險。其核心,自動化性能測試是在預部署的系統上施加生產環境的負載,同時測量系統性能和最終用戶的體驗。構建良好的性能測試可以回答類似下面的問題:
應用響應時間對于計劃的用戶足夠快么?
應用是否能夠處理期望的用戶負載或更多?
應用是否能處理業務所需的事務數量?
應用在期望內或期望外的用戶負載下是否穩定?
你確定用戶會在上線時得到積極的體驗么?
通過回答這些問題,自動化性能測試采用業務術語量化改變所帶來的影響。這樣,就明確了部署的風險。一個有效的自動化性能測試過程可以幫助制定考慮周詳的發布決策并防止系統故障和可用性問題。
自動化性能測試過程
一些已經成功實行自動化性能測試的組織,已經將這個過程分解為獨立的階段。雖然具體的實施可能有所不同,但是,寬泛地說,性能測試可以分為四個階段—設計,構建,執行和診斷/調整。每個階段有具體的任務,涉及到不同的角色,這些任務在轉到下一階段前必須完成。在最高級別,四個階段可以被描述如下:
設計階段包括定義系統中所要測試的業務過程,在平均或峰值生產時間的綜合業務過程,和用戶和響應時間的全面目標。
原文轉自:http://www.uml.org.cn/Test/200801231.asp