一、概述
使用自动化测试工具,模拟用户实际使用的不同场景,对系统的性能指标进行测试 和 评估
1.1、测什么
- 后台代码
- 中间件(tomcat、apache、nginx)
- 数据库、架构设计是否存在瓶颈
- 资源(cpu、内存、磁盘、网络)利用率
- 评估当前系统能力
- 找出系统性能(硬件、软件)瓶颈,优化性能
- 评估软件是否能满足未来 2~3年 性能需求
- 【性能测试理论】焦点
- 接口功能:验证软件的功能是否符合产品需求。功能的正向和反向
- 接口性能:验证软件是否满足 业务场景 需求。侧重点在 时间 和 资源
- 关系
- 二者相辅相成,缺一不可!
- 先测功能,再测性能
说明: 基准测试、负载测试、稳定性测试。不是测试的 3种 分类。
基准测试 是 负载、稳定性测试的前提!
一般按照 先基准,再负载,最后稳定性的顺序展开性能测试
2.1、基准测试
单用户跑业务场景,展开性能测试,关注的指标数据。给后续多用户测试,提供参考数据
2.2、负载测试
向服务器逐步加压发送请求,查看系统在满足指标的情况下,最多支持多少请求
2.3、稳定性测试
系统维持在 一定的负载(如:cpu占用率 60% ~ 80% )下,长时间运行,
测试系统工作的稳定性。一般测 `1*243*247*24
2.4、并发测试
同一时刻(极短时间内)向服务器发送同一请求。如:秒杀、抢注、抢红包!
2.5、压力测试
采用逐步加压的方式,向服务器发送请求,测试出系统性能的极限临界值
三、性能测试指标
说明:--性能指标:衡量 一次性能测试 具体某项结果的统称
性能测试 主要参考的 6 大指标:
1. 响应时间
2. 并发数
3. 吞吐量
4. 点击数
5. 错误率
6. 系统资源利用率
3.1、响应时间
指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的结果,
整个过程所耗费的时间
响应时间公示:
响应时间 = 网络时间 + 应用程序处理时间 (应用服务器解析时间、数据库服务器解析时间)
文章图片
3.2、并发数
指同一时刻,同时访问系统发送请求的用户数据量
3.3、吞吐量
单位时间内,处理客户端请求的 数量。 可以直接体现系统的负载能力
- TPS (Transactions Per Second): 每秒事务数
一个事务对应一个业务场景,可以包含多个 请求
- QPS (Query Per Second): 每秒查询数
指服务器处理的 请求数
注意:如果没有加特殊说明( 默认 一个业务中,就只有一个请求 ),通常 TPS 与 QPS 相同
只有 web 服务器,才有点击数 性能指标
点击数,不是点击网站的次数。是向系统发送请求后,收到的响应数量
3.4、错误率
- 指系统在指定负载下,失败业务的概率。
- 不同系统的错误率不同。一般由产品经理指定。
- 没有指定时,一般情况下,系统的错误率为 千分之五(0.5%)
说明:指系统各种资源的占用情况
以下数据作为参考,具体根据自己公司的数据
- CPU
- 75 ~ 85% (超出此范围,有性能瓶颈)
- 内存
- 不超过 80% (超出有性能瓶颈)
- 磁盘
- 不超过 90%
- 网络
- 不超过 80% (超出有性能瓶颈)
- 性能测试 需求分析
- 性能测试的计划及方案
- 性能测试用例
- 搭建测试工具环境
- 编写/录制 测试脚本
- 执行测试脚本
- 测试数据监控
- 分析和调优
- 编写测试报告总结
推荐阅读
- 软件测试_Loadrunner_APP测试_性能测试_脚本优化_脚本回放
- Android移动客户端性能测试浅谈——电量
- 开发必读(什么是性能测试(如何使用?))
- app性能测试指标
- 手机APP性能测试_内存CPU耗电量流量等测试
- app性能测试2
- App性能测试之启动时间(安卓)
- 每日踩坑 2018-06-19 AutoMapper简单性能测试
- APP性能测试指标和测试方法