天天看點

性能測試知識體系

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。歡迎通路我的部落格 https://blog.csdn.net/smooth00/article/details/62426929

     根據我們公司的實際情況,總結和規劃了性能測試工程師需要掌握的知識體系。

1 性能工具專題

1.1 測試工具

1.1.1LoadRunner

1.1.2 Jmeter

1.1.3 SoapUI

1.1.4 其他工具或自定義開發

1.2 DataGenerator

1.2.1 DataFactory

1.2.2 PL/SQL Developer的Data Generator

1.2.3 Toad for MySQL / Oracle

1.2.4 自寫腳本(sql腳本、BAT腳本或Shell操作資料庫連接配接、Jmeter和Loadrunner對Oracle或MySql的連接配接操作)

1.3 監控分析工具

1.3.1 Oracle

(1)NMON

(2)Spotlight

(3)sysstat、vmstat、iostat

1.3.2 Windows

(1)Perfmon

(3)Aplications Manager

1.3.3 Oracle

(1)OEM

(2)ASH、AWR、ADDM

(2)Spotlight、Toad

1.3.4 MySql

(1)innotop

(2)mysqlreport

(3)Spotlight

(4)Aplications Manager

(5)Zabbix

(6)MySQL企業版監控器

1.3.5 Network

(1)NetMeter

(2)Iptraf

(3)NetPerf

1.3.6 API級監控

(1)ANTS Performance Profiler

(2)JProfiler

(3)JVisualVM

(4)JConsole

(5)Java Mission Control

(6)APM應用性能管理(包括Aplications Manager、OneAPM、聽雲等,适合雲監控)

1.3.7 Web前端

(1)YSlow

(2)PageSpeed

(3)DynaTrace Ajax

(4)Fiddler / HttpWatch / chrome Developer tools

2 性能測試專題

目的:獨立開展性能測試、打造企業級性能品質保障體系、打造系統性能改進長期保持體系。

2.1 性能測試啟動準備

2.1.1 性能測試需求調研報告

2.1.2 性能測試需求分析

2.1.3 性能測試環境搭建

2.2 性能測試核心理論

2.2.1 協定

2.2.2 多線程

2.2.3 真實場景

2.3 性能測試核心技術與工具

2.3.1LoadRunner方面

2.3.2 Jmeter方面

2.4 性能測試腳本與場景

2.4.1 參數化

2.4.2 關聯

2.4.3 檢查點

2.4.4 場景、事務、集合點、思考時間

2.4.5 LoadGenerators與虛拟IP

2.4.6 調試和日志

2.5 性能測試流程及模組化

2.5.1 業務模型

(1)響應時間業務模型

(2)吞吐量業務模型

2.5.2 資料模型

(1)基礎資料模型

(2)測試資料模型

2.5.3 測試模型

劃分測試階段、确定測試内容和順序、設計測試場景、設計測試腳本

(1)分析測試階段:基準測試、配置測試

(2)模拟測試階段:基準測試、負載測試、壓力測試、容量測試、穩定性測試

2.5.4 風險模型

(1)過程風險

(2)人員風險

(3)技術風險

(4)環境風險

2.5.5 監控模型

(1)硬體資源監控

(2)應用服務監控

(3)資料庫監控

(4)網絡監控

2.5.6 執行模型

(1)應用環境部署方案

(2)負載環境部署方案(源于業務模型)

(3)監控環境部署方案(源于監控模型)

2.6 性能測試監控

2.6.1 硬體資源監控

2.6.2 應用或服務監控

2.6.3 資料庫監控

2.6.4 算法/SQL監控

2.6.5 網絡監控

2.7 性能測試結果分析

2.7.1 前端分析

2.7.2 後端分析

2.7.3 測試報告

2.8 性能調優分析

2.8.1 應用程式調優

2.8.2 資料庫調優

2.8.3 作業系統調優

2.8.4 硬體/網絡調優

3 性能儲備知識專題

3.1 性能測試分析相關

3.1.1 Linux及測試環境搭建

3.1.2 作業系統性能監控及深入分析

3.1.3 死鎖及記憶體洩露深入解析及定位

3.1.4 Java/.Net多線程深入解析

3.1.5 Java/.Net性能監控及環境搭建

3.1.6 JVM/IIS深入解析及優化配置

3.1.7記憶體洩露及常見問題定位及分析

3.1.8資料庫性能監控及分析(Oracle、MySQL)

3.2 性能測試開發相關

3.2.1 語言學習

(1)Java、JVM

(2)C#、.Net

(3)C語言

3.1.2 測試腳本開發

(1)協定分析

(2)Http協定

(3)C++ DLL開發及調用

(4)Java虛拟使用者開發

(5)C#/.Net虛拟使用者開發

(6)WebService協定

(7)資料庫協定(ODBC、Oracle(2-tier)、JDBC)

(8)Socket協定、WebSocket

3.3 作業系統相關

3.3.1 Linux/Unix基本應用

(1)性能測試環境搭建

(2)分布式系統部署

(3)負載均衡部署配置

(4)性能監控Shell腳本編寫

3.1.2 Linux/Unix性能名額分析

(1)CPU、Memory、I/O、Network

(2)綜合分析

3.1.3 Windows

(1)多線程處理機制

(2)性能名額分析

3.1.4 Java/.Net性能監控及環境搭建

3.4 網絡相關

3.4.1 真實網絡評估

3.4.2 網絡效率評估

3.4.3 網絡瓶頸分析

3.4.4 網絡吞吐量監控及分析

3.5 項目類型分析

3.5.1 B/S項目

(1)算法優化分析

(2)記憶體洩露分析

(3)J2EE性能監控及調憂

(4).Net性能監控及調優

(5)慢查詢SQL跟蹤定位及優化

3.5.2 C/S項目

3.5.3 移動APP

3.5.4雲系統

3.6 中間件相關

3.6.1 Tomcat監控及名額分析

3.6.2 Apache/Nginx監控及名額分析

3.6.3 Nginx/IIS/Tomcat負載均衡

3.6.4 Websphere核心參數優化及配置

3.7 資料庫相關

3.7.1 Oracle

(1)SQL基本應用

(2)SQL執行計劃分析

(3)SQL核心優化政策

(4)事務/鎖/資源競争/索引等

(5)Oracle架構及核心知識掌握

(6)Oracle性能監控及工具應用

(7)Oracle性能優化實戰

(8)Oracle持續學習視訊分享

3.7.2 MySQL

(1)MySQL架構及應用

(2)MySQL性能影響因素分析

(3)MySQL Query優化

(4)MySQL Schema設計優化

(5)MySQL常用存儲引擎優化

(6)MySQL性能監控工具及應用

3.7.3 NoSQL及其他流行資料庫