性能测试知识体系

版权声明:本文为博主原创文章,未经博主允许不得转载。欢迎访问我的博客 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

(2)Spotlight

(3)Aplications Manager

1.3.3 Oracle

(1)OEM

(2)ASH、AWR、ADDM

(2)Spotlight、Toad

(3)Aplications Manager

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

(1)多线程处理机制

(2)性能指标分析

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及其他流行数据库

上一篇:开源APM监控Pinpoint的快速部署和使用


下一篇:Jmeter进行http接口测试(对原文补充)