什么时候开展性能检测?性能检测的目的是什么?
日期:2022-03-25 15:14:58浏览量:836标签:性能检测
性能检测的基本原则是:越早发现问题,越容易定位问题,也越容易修复问题。因此,性能检测可以贯穿软件研发生命周期的各个阶段,比如:单元测试可以测试多线程并发下的功能准确性,每个 API 也都需要进行性能检测和评估,集成测试时需要顾及所用模块的数据大小及缓存使用情况,系统测试中也需要从用户负载的角度衡量相关的全局性能指标等等。那么,什么时候开展性能检测?性能检测的目的是什么?
1、性能检测什么时候进行?
性能检测是基于系统的功能已经完成或者趋于完成的事实,如果功能不够完整就没有多大意义。因为后期的功能改进会影响系统的性能,过早进入性能检测会导致测试结果不准确,浪费测试资源。因此,性能检测首先是基于功能测试的,性能检测只有在知道其功能需求后才能进行。
2、如何进行性能检测?
一个正在测试的系统,我们需要分三个部分进行分析:
入口:如何发送请求,施压方应该施加多大压力,如何施加压力;
被测系统:系统如何响应单个请求,系统业务流程如何,系统网元节点,数据流等。整体绩效要求是否存在,哪些指标需要检查,如何监控;
导出:接收到什么数据,如何获取和比较;
感觉和功能测试没太大区别吗?是的,就是分析单个用户的功能流程和系统的数据流结构图(包括后台的数据流),然后考虑大量的用户操作。
系统的一般性能检测步骤如下:
1.确认测试目标;
2.分析测试系统的业务需求;
3.分析被测系统的系统结构;
4.分析被测系统的性能检测点;
5.设计测试方案、测试方案和测试用例;
6.选择测试工具;
7.测试和开发;
8.测试执行;
9.测试结果分析;
10.测试调优、测试验证和测试分析;
11.输出测试报告;
性能测试在不同情况下是有着不同的目的,清楚每次性能测试的目标,能够让我们在开展性能测试的时候更有针对性。
性能测试的目的
1、获取正常请求流量下,系统的各个性能指标:
这是最常见的性能测试目的,常规性能测试通常都有这个需求。在正常压力(无压力)流量下对系统进行性能测试,建立一个可度量的参考标准,为其他测试场景或者调优过程提供对比参考。
常用的性能测试指标包括:
服务响应相关的:平均响应时间,响应时间分布情况,失败率等
资源使用相关:CPU使用,内存,磁盘IO,网络IO等
2、获取系统能够承载的极限容量,以及获得系统的性能瓶颈:
系统容量评估因为比较难自动化,所以通常这类需求频率会低一些,可能会周期性评估。通过“拐点法”进行性能测试,逐步增大系统的压力,直到性能指标不可接受或者出现了明显的拐点,从而找到系统的瓶颈点。需要注意的是,压测时的极限并发或者极限每秒处理请求数,一定是以在安全运维的性能标准下为前提。
3、测试系统稳定性:
系统稳定性压测是要知道在各种情况下系统能否稳定运行。
造成系统不稳定的情况有:
极限的每秒请求数
极限的并发数或连接数
突发流量高峰
长时间的压力流量
热点数据请求
差网络环境
下游模块慢返回、超时或故障假死等
4、性能测试辅助系统参数调整:
需要配合研发,测试在不同系统参数或者部署方案下,系统性能情况的对比。
5、系统性能回归:
在版本升级时,通常需要对比新老版本的性能情况。
经过反复大量的性能检测后,才能保证在任何环境下,都能让用户有较好的产品体验。保证产品符合性能通能,让用户有较好的体验,这是性能的最终目的。