性能测试概述、目的、方面、类型、指标及测试流程

什么是性能?

性能:就是软件质量属性中的效率特性。

主要关注:时间特性(系统处理用户请求的响应时间)、资源特性(系统运行过程中,系统资源的消耗情况。资源包括:CPU、内存、磁盘等)

 

什么是性能测试?

性能测试概念:使用自动化工具,模拟不同的场景,对软件各项性能指标进行测试和评估的过程

 

性能测试的目的是什么?

1、评估当前系统能力

2、寻找性能瓶颈,优化性能

3、评估软件是否能够满足未来的需要

 

性能测试的策略

1、基准测试:单用户测试。测试环境确定后,对业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标。

2、负载测试:通过逐步增加系统负载,确定在满足系统的性能指标情况下,找出系统所能承受的最大负载量的测试。

3、稳定性测试:在服务器稳定运行(用户正常的业务负载下)的情况下进行长时间测试(1天-1周等),并最终保证服务器能满足线上业务需求。

4、其他:并发测试、压力测试

 

压力测试:在强负载下的测试,查看系统在峰值情况下是否功能隐患、系统是否具有良好的容错能力可恢复能力

压力测试两个方便展开:

①极限负载情况下导致系统崩溃的破坏性压力测试

②高负载下的长时间的稳定性压力测试

 

并发测试:是指极短的时间内,发送多个请求,来验证服务器对并发的处理能力

 

 

性能测试的指标

响应时间:指用户从客户端发起一个请求开始,到客户端接收到从服务端返回的结果,整个过程所耗费的时间。

 

并发数:某一时刻同时向服务器发送请求的用户数。

 

吞吐量(Throughput):指的时是单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力(TPS:每秒事务数;QPS:每秒查询数)

QPS(Query Per Second)每秒查询数:即控制服务器每秒处理的指定请求的数量

TPS(Transactions Per Secnd)每秒事务数:即控制服务器每秒处理的事务请求的数量

QPS(TPS) = 并发数/平均响应时间 

 

点击数:指客户端向服务端发送请求时,所有的页面资源元素的请求总数量。

 

错误率:指系统在负载情况下,失败业务的概率。错误率=(失败业务/业务总数)*100%

 

资源使用率:指系统各种资源的使用情况,一般用“资源的使用量/总的资源可用量*100%”形成资源利用率的数据

资源指标通常要求(参考):

①CPU不高于75~85%;可使用top命令查看

②内存不高于80%;可使用free -m查看使用率

③磁盘IO不高于90%;使用df -h

④网络不高于80%

 

性能测试的流程

1)性能测试需求分析

①明确被测系统

②明确测试内容

③明确测试策略

④明确测试指标

2)性能测试计划及方案

①测什么

  -项目背景

  -测试目的

  -测试范围

②谁来测

  -进度与分工

  -交付清单

③怎么测

  -测试策略

3)性能测试用例设计

 

4)性能测试执行

①建立测试环境

  -搭建性能测试环境,包括硬件环境、软件环境、网络环境

  -提示:一般情况下可以要求运维和开发工程师协助完成

②编写测试脚本

  -按照性能测试用例的需要,使用性能测试工具进行编写测试脚本

  -提示:脚本可以自己编写,也可以使用工具来录制

③性能测试监控

  -在脚本执行前,配置各项性能的监控指标

  -如:响应时间、TPS、错误率、资源使用率(CPU、内存、磁盘等)

④执行测试脚本

5)性能分析和调优

说明:性能测试分析人员经过对结果的分析以后,如果不符合性能需求,则会提出性能BUG,然后由开发人员进行后续的调优

  -开发调优

  -测试二轮、三轮验证

6)性能测试报告总结

  -测试工作的经过回顾

  -缺陷分析和调优

  -风险评估

  -性能测试结果

  -测试工作总结与改进

 

posted @ 2024-03-25 09:50  鱼小贱  阅读(145)  评论(0编辑  收藏  举报