軟件性能測試能力提升解決方案_圖文_第1頁
軟件性能測試能力提升解決方案_圖文_第2頁
軟件性能測試能力提升解決方案_圖文_第3頁
軟件性能測試能力提升解決方案_圖文_第4頁
軟件性能測試能力提升解決方案_圖文_第5頁
已閱讀5頁,還剩20頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件性能測試能力提升解決方案課程試用測試經理 TM測試主測 TC測試架構師 TAE測試設計 TE項目質量 QA項目經理 PM開發經理 DM及相關 PMO/IPMT成員問題測試需要技術么?我們需要什么技術?你懂的!TOP10能力提升1性能測試模型能力提升2性能測試方法能力提升3軟件架構分析技術能力提升4模塊性能瓶頸點分析技術能力提升5測試場景萃取技術能力提升6測試場景構建技術能力提升7性能常用監控工具能力提升8性能指標解析能力提升9數據建模技術能力提升10性能數據分析技術什么OO分析模型 + 設計模式 = OO學習本課程的意義:1、掌握性能測試分析模型;2、掌握性能測試場景、用例設計模式; 如何

2、評價一個系統的性能用戶視角論:應用者視角(Customer )運營商視角(Manager )開發商視角(Developer )應用者視角(Customer )對于產品的最終使用者,他們則更加關注產品的可用性,我們是否按照實際的業務需求進行合理的產品設計;系統可否按照預先設計承受G 量級的并發訪問;系統是否能支撐長時間的穩定運行;是否為我們所涉及的工作節省了不必要的開支。參考指標:1. 響應時間(Response Time)2.游戲可玩性(Game Quality運營商視角(M anage anagerr )對于產品的經營者,他們則更加關注于產品的賣點即一個產品的商業特點;關注于同類產品的優劣性

3、價;是否提供良好的兼容性與可擴展性;是否存在較好的可移植和操作性;是否存在可靠的容錯性設計;參考指標:1. 響應時間(Response Time2. 并發用戶數(The Number Of Concurrent Users3. 吞吐量(Throughput )近似等于每秒交易次數4. 系統資源利用率(Hardware/Software Resource Utilization5. 可靠性和穩定性(Reliability or Stability6. 可伸縮性(Scalability 7.可恢復性(Recoverability開發商視角(Developer )對于產品開發商,他們則更加關注于產品

4、的需求;用戶關心的響應時間;管理員關心的系統可擴展性等;架構設計是否合理;數據庫設計是否合理;代碼是否存在性能方面的問題;系統中是否有不合理的內存使用方式。性能指標:1. 內存消耗(Memory Expend)2. 算法消耗(Arithmetic Expend)3.數據路徑(Data Route) 能力提升1性能測試模型測試的活動應該與軟件開發同步進行。測試對象不僅僅是程序,還包括需求和設計。及早發現軟件的缺陷可降低軟件的開發成本。 PGMT 通用性能測試模型 PGMT 通用性能測試模型的優勢為什么要引入PTGM 模型?考慮到性能測試工作中自動化的引入和使用,在PTGM 模型中我們明確了“測試

5、工具的引入” 階段,用以處理和測試工具引入的相關過程;由于性能測試的需求獲取和分析、測試團隊組建等工作與功能測試存在不同的側重點,因此在過程模型中增加了一個獨立“測試前期準備”階段;另外,與功能測試相比,性能測試的測試設計和開發明顯會有區別,因此將“測試設計與開發”階段作為一個過程中的重要階段。(有關詳細PGMT 模型應用,可參考春秋Q 傳性能測試規劃Let's have a rest (10 minute能力提升2性能測試方法性能測試負載測試壓力測試可靠性測試并發測試配置測試失效恢復性測試性能測試(Performance Testing )Performance Testing 這是

6、一個容易混淆的概念,通常泛指所有的性能測試。本文特指在特定條件下驗證性能是否達到預期指標的測試為性能測試。負載測試( Load Testing )Load Testing 是指模擬真實的用戶行為,通過不斷加壓直到性能出現瓶頸或資源達到飽和。負載測試是我們最經常進行的性能測試,用于測量系統的容量,發現系統瓶頸并配合性能調優。有時候也稱為可量性測試 Scalability Testing.測試策略:主要驗證服務器在持續加壓過程中,各加壓點服務器健康狀況。目的是找出最佳并發點、最大并發點以及系統所能承受的最大性能瓶頸點,為之后展開全面的壓力測試提供數據依據。壓力測試( Stress Testing

7、)Stress Testing 是指測試系統在一定的飽和狀態下系統的處理能力。負載測試的不斷加壓到一定階段即是壓力測試,兩者沒有明確的界限。壓力測試通常設定到CPU 使用率達到75%以上,內存使用率達到 70%以上,用于測試系統在壓力環境下的穩定性。此處是指過載情況下的穩定性,略微不同于7*24長時間運行的穩定性。測試策略:在負載測試數據基礎上,針對系統在特定數據量下負荷壓力進行設計。主要驗證處于性能轉折點時,系統服務器的性能狀況??煽啃詼y試( Reliability Testing )Reliability Testing 是指加載一定的業務壓力,同時讓此壓力持續運行一段時間,測試系統是否可

8、以穩定運行. 可以理解為壓力測試關注的是過載壓力,可靠性測試關注的是持續時間。測試策略:主要驗證系統在一定壓力環境下,服務器所能承受的最大響應時間是否滿足實際項目需要。并發測試( Concurrency Testing )Concurrency Testing 是模擬用戶并發訪問同一應用的測試,用于發現并發問題諸如內存泄漏,線程鎖,資源爭用,數據庫死鎖。測試策略:基于負載測試的基礎上,針對測試曲線中較為平滑的部分設計測試案例。如:400800用戶區間內,被測試服務器性能相對穩定。設計測試案例,使用第三方軟件確定性能問題。 配置測試(Configuration Testing )Configur

9、ation Testing 驗證各種配置對系統性能的影響,用于性能調優和規劃能力.測試策略:驗證系統在不同環境、不同數據量下的服務器性能狀況,一般用于系統發生重大需求變更或對底層文件進行大量修改后進行。失效恢復性測試(Failover Testing )Failover Testing 針對有冗余備份和負載均衡的系統,檢驗系統局部故障時用戶所受到的影響。測試策略:主要驗證系統是否存在故障處理機制,已開發的功能是否滿足客戶實際需求。性能測試分析方法SEI (Load Testing Planning Process RBI (Rapid Bottleneck IdentifyLoad Runne

10、r 性能測試過程Segue 性能測試過程性能下降曲線分析法SEI Load Testing Planning Process SEI Load Testing Planning Process: 是一個關注于負載測試計劃的方法,目標是產生 “清晰,易理解,可驗證的負載測試計劃”. 區別生產環境和測試環境的不同,分析用戶的行為以產生用戶和用戶場景.SEI 方法的特點:1. 測試重點更傾向于實際的商業應用2. 是一個關注于負載測試的性能模型3. 更適用于企業級系統使用該模型(有關SEI 詳細資料,請查閱我的Blog )RBI (Rapid Bottleneck IdentifyRBI (Rapid

11、 Bottleneck Identify : 是 Empirix 公司提出的快速識別系統性能瓶頸的方法。RBI 方法的特點:1. 80的性能問題決定于系統單位時間處理文件的效率(即系統的吞吐量)2. 通過并發用戶數與吞吐量的關系,確定問題范圍3. 從網絡,數據庫,應用服務器和代碼本身4個環節確定系統性能的瓶頸。(有關RBI 詳細資料,請查閱我的Blog )Load Runner 性能測試過程Load Runner 性能測試過程:計劃測試->測試設計->創建VU 腳本->創建測試場景->運行測試場景->分析結果LoadRunner 性能測試的特點:1. 存在較的為完

12、善測試流程2. 可以較好的對測試數據進行分析3. 基于場景的測試案例設計思想4. 測試過程可以由設計人員自行控制(有關LoadRunner 詳細資料,請查閱我的Blog )Segue 性能測試過程Segue 性能測試過程: 基于Web 企業級應用狀況監控,提供使用者管理Web 應用的性能和可靠性。支持網Web, 無線wireless, 中間件middleware, 數據庫database 的應用。Segue 性能測試特點:1. 引入了性能基線的概念2. 通過取值基線,設定可接受的性能目標3. 使用不同的并發用戶數進行 Try-Check的重復測試. (有關LoadRunner 詳細資料,請查閱

13、我的Blog )Let's have a rest(10 minute AntiSpam 架構分析技術架構分析:框架技術: MVC (Struts架構 、 Hibernate 技術、 Ajax 技術Web 技術:靜態頁面技術、XHTML 技術、 HTML 5 技術、Javascript 技術;組件技術:ACE 、OCCI 、OTL 、JDK Web 容器:Tomcat 、Apache ;操作系統: linux Suse 64位數 據 庫:Oracle 11G、RAC ;中間件技術:WebServices 分層架構分析應用層;表示層;會話層;傳輸層;網絡層;數據鏈路層;物理設備層;為什么

14、要做架構分析知己知彼百戰不殆!充分了解你的對象,它你能得到什么?學歷、背景、知識、技能、習慣、素養?OCCI 是什么版本?有什么Bug ?如何使用?我們是怎么做的?WebService 在架構中的作用是什么?如何傳遞數據?Hibernate 技術的優勢是什么?劣勢是什么?哪里是瓶頸點?Oracle 的版本?存儲技術?磁盤劃分方式?Let's have a rest(10 minute能力提升4模塊性能瓶頸點分析技術 模塊交互挖掘測試點 內部設計挖掘測試點挖掘性能測試點 識別哪些是可能存在的瓶頸點?識別線程調度關系?并行 or 串行?哪些業務?為什么隊列會滿?隊列大小是多少?接入算法?邏

15、輯算法?輸出算法?Let's have a rest(10 minute能力提升5測試場景萃取技術 性能設計中的關鍵章節,本章節描述的內容為測試場景萃取技術。這也是業內爭議較大的部分,關于場景萃取技術,我們也能理解為測試目標。定義清晰的測試目標,業內有四種認識:第一種:根據軟件需求規格說明,提取測試場景。第二種:根據商業客戶使用模式,提取測試場景。第三種:根據軟件實際設計能力,提取測試場景。第四種:根據局點交付實際能力,提取測試場景。應該說這幾種方式都有一定的說服力。所以從實際使用的角度來說,能否定義清晰的是決定性能測試是否成功的關鍵因數。球形模型切面技術根據右圖讓我們了解一下什么是球

16、形模型。以及如何應用球形模型劃定測試目標。球形 模型是一種對象分解技術。將事物比作球體,如何了解事物的核心需要一種從外到內的剝離技術,這種技術被稱為球型分解。如何將球形模型應用于測試場景萃取技術呢?讓我們先了解,被測試對象分解的步驟:第一步:需求規格(巖石圈)第二步:用戶場景(地函)第三步:設計能力(地核)第四步:交付能力(內核)一個有效的性能目標,需要通過多個維度進行切片。不同層切入代表我們從不同的角度審視產品。第一步:根據軟件需求規格說明,提取測試場景根據球形模型分層式剝離技術,這是最基礎的也是最重要的一個步驟。識別需求規格說明書中的場景,首先需要了解常用的性能測試方法:1、負載性測試;2

17、、可靠性測試;3、壓力性測試;負載性測試:是指模擬真實的用戶行為,通過不斷加壓直到性能出現瓶頸或資源達到飽和。負載測試是我們最經常進行的性能測試,用于測量系統的容量,發現系統瓶頸并配合性能調優。有時候也稱為可量性測試 Scalability Testing.可靠性測試:是指加載一定的業務壓力,同時讓此壓力持續運行一段時間,測試系統是否可以穩定運行. 可以理解為壓力測試關注的是過載壓力,可靠性測試關注的是持續時間。壓力性測試:是指測試系統在一定的飽和狀態下系統的處理能力。負載測試的不斷加壓到一定階段即是壓力測試,兩者沒有明確的界限。壓力測試通常設定到CPU 使用率達到75%以上,內存使用率達到

18、70%以上,用于測試系統在壓力環境下的穩定性。此處是指過載情況下的穩定性,略微不同于7*24長時間運行的穩定性。需求規格識別到的性能目標 第二步如何識別用戶場景提取測試場景用戶場景是基于產品交付客戶的一種行為識別技術。該技術用于在性能測試規劃中,提取有效的測 試模型,對被測目標整體能力進行評估。用戶場景提取原則第一,影響終端用戶體驗;第二,影響產品可維護性;第三,關注80%的系統用戶核心使用習慣;第三步:產品設計能力提取測試場景什么是產品的設計能力?產品設計能力是指一個產品的原始設計能力。如高鐵的設計時速為300公里,而實際運營考慮到各方因數實際運營能力可能只是設計的能力的70%。因為設計能力是按照最大峰值和最大時速考慮,實際運營時一般很難達到設計能力?設計能力的意義在于了解產品的基線,而這個基線并非是產品

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論