01-性能测试
性能测试不仅仅包括测试,还包括分析和调优
- 基础篇,性能测试的基础概念
- 性能测试工具使用
- 监控工具使用和分析
- 分析实操
性能测试概念
- 针对系统的性能指标,
- 建立性能测试模型,
- 制定性能测试方案,
- 制定监控策略,
- 在场景条件之下执行性能场景,
- 分析判断性能瓶颈并调优,
- 最终得出性能结果来评估系统的性能指标是否满足既定值
性能测试需要有指标
时间指标,容量指标,资源利用率指标
性能测试需要有模型
模型是对真实场景的抽象
,可以告诉性能测试人员,业务模型是什么样子
企业可能存在多种业务,需要从生产环境的数据中统计分析,哪个业务并发多,哪个业务并发少,做压力就可以控制好比例
银行业务,测试环境需要用业务模型来模拟出生产的流量
性能测试要选择适合自己系统业务逻辑的方式,用最低的成本,最快的时间来做事情
性能测试要有方案
方案规定几个关键点:
- 测试环境
- 测试数据
- 测试模型
- 性能指标
- 压力策略
- 准入准出
- 进度风险(进度里程碑)
测试计划,推荐使用项目管理工具单独画测试计划,比如project和omniplan
性能测试要有监控
- 要有分层,分段的能力
- 要有全局监控,定向监控的能力
- 后面详谈
性能测试要有预定的条件
软硬件环境,测试数据,测试执行策略,压力补偿等,在场景执行之前,这些条件应该是确定的
性能测试中要有场景
性能测试场景定义
性能场景的定义,在
- 在既定的环境(包括动态扩展等策略)
- 既定的数据(包括场景执行中的数据变化)
- 既定的执行策略
- 既定的监控
之下,执行性能脚本,同时观察系统各层级的性能状态参数变化,并实时分析场景是否符合预期
性能场景分类
- 基准性能场景
要做的是单交易的容量,为混合容量做准备 - 容量性能场景
最核心的性能执行部分。根据业务复杂度的不同,这部分的场景会设计出很多个 - 稳定性性能场景
稳定性测试必然是性能场景的一个分类。只是现在在实际的项目中,稳定性测试基本没和生产一致过。在稳定性测试中,显然最核心的元素是时间(业务模型已经在容量场景中确定了),而时间的设置应该来自于运维周期,而不是来自于老板、产品和架构等这些人的心理安全感 - 异常性能场景
在压力流量之下,模拟异常
性能测试中要有分析调优
在性能测试工程师中,可以做瓶颈判断、性能分析、优化
人并不多,所以很多其他职位上的人对性能测试的定位也就是性能验证,并不包括调优的部分
性能项目分类
- 新系统性能测试类
要求测试出系统的最大容量 - 旧系统新版本性能测试类
一般都是和旧版本对比,只要性能不下降就可以根据历史数据推算容量,对调优要求一般都不大 - 新系统性能测试优化类
不仅要测试出最大容量,还要求调优到最好
性能测试中要有结果报告
测试报告是需要汇报或者归档的
有了监控,有了场景执行的过程,产生的数据就要整理到结果报告中了
在报告中写上调优前后的 TPS、响应时间以及资源对比图