1. 性能测试
- 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试
- 负载和压力测试都属于性能测试
- 负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况
- 压力测试,通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试
2. 性能测试目的
验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的作用。
- 评估系统能力
- 识别体系中的弱点
- 系统调优
- 验证稳定性与可靠性
3. 性能测试类型
性能测试类型包括负载测试、压力测试、并发测试、稳定性测试、异常测试
- 负载测试:使用加压的方法,达到既定性能目标值;阈值的设定应该是小于等于某个值,如CPU使用率小于等于80%。
- 压力测试:同样适用加压的方式,使系统达到饱和或者失效的状态,验证系统在什么条件下会导致崩溃
- 并发测试:在同一时间内使用多个用户同时访问同一模块的同一功能。
- 稳定性测试:在高压的情况下,长时间的运行系统是否稳定;比如当下cpu使用率在80%,持续多天,是否系统能保持稳定。
- 异常测试:在负载均衡的情况下,测试down机或节点挂掉的情况下系统的反映情况
4.性能测试流程
- 需求分析
- 性能指标制定
- 脚本开发
- 场景设计
- 监控部署
- 测试执行
- 性能分析
- 性能调优
- 生成性能报告
5. 性能测试指标
- 事务:
客户端发起的一个或多个请求(这些请求组成一个完整的操作),到客户端接收到从服务器返回的响应; - TPS:
每秒钟系统能处理的事务数 - 请求响应时间:
从客户端发起的一个请求开始,到客户端接收到从服务器返回的响应。整个过程所消耗的时间。 - 事务响应时间:
事务可能是由一个或多个请求组成的,事务响应时间主要是针对于用户的角度而言 - 并发用户数:
同一单位时间内对系统发起请求的用户数量 - 吞吐量:
一次性能测试过程中网络上传输的数据量总和 - 吞吐率:
单位时间内网络上传输的数据量;吞吐率 = 吞吐量 / 传输时 - 资源使用率:
对不同的系统资源的使用情况,如CPU、内存、IO等
6. 性能测试需求分析
- 明确测试指标
- 明确测试场景
- 业务预期