性能测试
性能测试
1. 概念
对被测系统进行测试
- 对比实际性能结果跟于其性能指标
- 关注收集性能数据(响应时间,资源利用率等)
- 分析性能瓶颈,进行性能优化分析
- 进行回归验证
- 最后进行项目总结,项目梳理
2. 类别
服务端
- 协议级
- 代码级
客户端(APP测试)
系统资源消耗
3. 技术原理
基于协议 --- 用到 HTTP 协议(PUT、DELETE、POST、GET)
基于多线程、多进程、协程 Jemeter、LoadRunner
模拟用户真实使用场景
- 页面资源:用户访问某一功能所需要加载的所有资源请求(CSS等资源),在做性能测试的时候需要全部模拟
- 请求数量:将用户的完整的业务流程通过协议接口去实现:访问首页 ---> 会员管理 ---> 账号信息 ---> 新增会员
- 请求大小:就是充分的考虑请求参数大小的问题,尽量的模拟不同用户的请求数量进行测试
- 思考时间:就是将用户请求之前的思考时间
- 参数化:考虑不同用户考虑不同用户数据的差异,一般在脚本中使用参数化来实现
- 带宽:模拟真实的用户带宽
- 缓存:模拟真实用户的本地缓存
- 并发用户数:在做性能测试的时候要通过不同的并发用户向服务器发送请求,评估服务器的性能测试指标
- 数据库容量:向服务器中预埋一些测试数据(尽量的模拟真实环境下面用户的数据)
- 测试环境:在做性能测试的时候要尽量的模拟真实生产环境下的服务器
4. 性能测试分类
基准测试(类似系统测试的冒烟测试)
在一定的测试环境下面,选用少量的并发用户数(1个,10个去向服务器发送请求,用以检测服务器在少量的并发用户的情况下的一个基本的性能情况
- 用于对后续的正式的性能测试提供一个基准的性能参考
负载测试
在一定的软硬件测试环境下面,通过逐渐递增负载的方式去向服务器构建不同并发用户的请求,用以检测服务器在不同的额负载的情况下的一个性能情况
- 找出服务器的性能瓶颈
- 负载模型图
压力测试
在一定的软硬件测试环境下面,通过模拟大量的并发用户数(最大用户数)去向服务器发送请求,用以检测服务器在大量的并发用户访问的情况下的稳定性,可靠性
- 作用:测试服务器的运行稳定性
- 满足条件:
- 足够的并发用户
- 足够长的测试时间
并发测试
在一定的软硬件环境下面,通过模拟大量的并发用户数(最大用户数)同时去访问系统中的某一个功能或接口或单一系统,用以检测服务器会不会出现性能缺陷等问题,
- 作用:检测服务器是否会出现性能缺陷,资源占用或内存池漏等异常情况
容量测试
在一定的软硬件环境下面,通过向服务器的硬盘或数据库去构建不同容量的数据,再向服务器发送一定并发用户的请求,用以检灵服务器在不同容量情况下的性能指标
- 目的:找出系统的极限值