性能测试之性能测试流程详解

性能测试流程

1.测试方案:功能测试,性能测试
2.需求分析
3.测试场景,用例编写
4.数据准备
5.部署测试服务器
6.安装监控工具
7.开始测试,执行监控脚本,开始测试任务
8.记录测试过程
9.生成测试结果
10.结果数据分析
11.生成报告

测试场景分析

场景:就是在既定的环境,既定的数据,既定的执行策略,既定的监控之下执行性能脚本,同时观察各层级的性能状态指标变化,并分析判断场景是否符合预期。
根据需求进行分析,什么场景需要做性能测试,根据场景设计确定测试策略,准备测试数据。
需要关注:
1.不同场景准备不同的数据
2.不同的场景系统配置相同(测试方式)
3.使用相同服务器进行测试
4.监控的指标项相同
5.统一监控工具

  • 测试策略:性能测试实施过程中,针对不同的业务场景,我们经过分析和场景建模后,会选择不同的测试策略
    常见的性能测试策略:
    1.并发测试:模拟客户端请求,在单位时间内(S)同时发起一定量的请求,验证系统是否具有并发性的问题。
    2.负载测试:不断增加请求压力,直到服务器某个资源项达到饱和(比如CPU使用率达到90%+)或某个指标达到安全临界值(比如运维的监控告警阈值or拐点);
    负载测试(也叫阶梯式压测)一般主要用来寻找性能的拐点,验证系统在既有测试环境不同的请求压力下能否正常运行
    3.容量测试:采用负载测试策略,验证在现有测试环境下被测系统的最大性能表现(可接受的最大性能表现,不一定是最优性能表现)。
    4.极限测试:在既有测试环境下,不考虑资源占用率的极限情况(CPU使用率达到95%以上或IO异常繁忙或Load值较高),在系统不宕机的情况下的最大处理能力。
    5.配置测试:不断调整系统各方面的配置(软硬件、参数配置等),验证在性能达到最优时(最优的性能一定是权衡各方面因素找到的平衡点)的最佳配置。
    6.稳定性测试:以恒定的并发数(根据负载测试的结果,CPU使用率在70%时对应的并发数),验证系统在混合场景下的性能表现。
    7.批处理测试:验证待测系统在既有环境下,系统的批处理(一般都是一个crontab或者触发式的job)业务能力能否满足生产的业务需求指标。
    8.高可用:在集群多节点或分布式的情况下,破坏其中一个或多个集群节点,验证系统能否及时恢复服务能力。
    9.容错恢复测试:验证系统能否在出现故障的情况下仍能保持正常提供服务的能力或出现故障后的自我恢复能力
    10.浪涌测试:验证系统在某段时间内并发突增或请求量波动较大的情况下,系统能否正常稳定的提供服务。
    PS:这种测试策略使用的也相对较少,主要针对不确定性的短期的峰值流量涌入场景(比如某微博的离婚、恋爱、分手话题)

  • 适用场景:
    在这里插入图片描述
    常规的测试策略选型:并发、负载、容量、配置、批处理、稳定性、高可用策略,可以覆盖绝大部分需求

数据准备

测试数据准备:

  • 数据量:数据准备充足,根据实际业务场景,准备不同的数据。
  • 数据的有效性:符合实际业务场景需求
  • 热点数据的覆盖率:尽可能多的覆盖常用业务场景
    准备测试脚本, 例:文件定时同步任务 https://blog.csdn.net/qq_58635232/article/details/131102504

测试数据记录:
记录测试过程中各指标采集数据,以便观察分析系统性能变化。

  • 测试前
  • 测试中
  • 测试结束

部署测试服务器 | 环境配置

1.准备测试用服务器:
数据库服务器、应用管理端服务器、监控工具所在服务器(安装虚拟机,部署安装监控工具)
主文件服务器、备文件服务器
2.部署系统
3.安装数据库
4.安装应用
5.系统参数配置

举例:文件同步配置–龙蜥系统+mysql部署+局域网测试
1.系统配置:部署龙蜥系统,配置局域网
2.安装数据库:找一台服务器安装外接mysql的数据库,选择二进制式安装部署
3.部署产品:部署Filesync文件同步系统+统一身份+通知中心
注意:使用局域网安装、部署所有系统
4.配置IP:使用局域网IP
5.修改系统参数:根据测试场景,配置系统参数,使资源使用率达到最大化
6.修改配置文件:agent-conf-Filesync.json配置文件,配置外接数据库为局域网IP
7.通过向日葵连接到局域网段的交换机上,登录文件同步系统操作-文件同步
注意:所有同步测试及配置/部署使用局域网进行!!!

工具安装:采集工具、监控工具

安装监控工具一:nmon
nmon简介:
nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,记录的信息比较全面,并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果

# 参数说明
-f 监控结果以文件形式输出,默认机器名+日期.nmon格式 (YYYYMMDD_HHMM.nmon)
-F 指定输出的文件名,比如test.nmon
-s 指的是采样的频率,单位为秒
-c 指的是采样的次数,即以上面的采样频率采集多少次
-m 指定生成的文件目录
实例:./nmon -ft -s 10 -c 3600 -m /nmon/analyser

安装监控工具二:Prometheus+Grafana+Node_exporter
环境搭建:https://blog.csdn.net/qq_37987165/article/details/130871009
Grafana监控页面介绍:https://blog.csdn.net/qq_58635232/article/details/131452834

测试指标分析:

各指标详解地址:https://editor.csdn.net/md/?articleId=129919877

测试报告

1 概述
1.1性能测试概念
性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试确定在各种工作负载下系统的性能,目标是当负载逐渐增加时,测试系统的各项性能指标的变化情况。压力测试是通过一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。

1.2性能测试目的
性能测试的目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,以优化软件,最后起到优化系统的目的。

1.3性能测试目标
从安全,可靠,稳定的角度出发,找出性能缺陷,并且找出系统最佳承受并发用户数,以及并发用户数下长时间运行的负载情况,如并发100用户,如何对系统进行调优
性能测试主要包括一下几个方面:
(1)评估系统的能力:测试中得到的负荷和响应时长数据可以被用于验证所计划的模型的能力,并帮助做出决策。
(2)识别体系中的弱点:受控的负荷可以被增加到一个极端的水平并突破它,从而修复体系的瓶颈或薄弱的地方。
(3)系统调优:重复运行测试,验证调整系统的活动是否得到了预期的结果,从而改进性能。
(4)检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄漏引起的失败,揭示程序中隐含的问题或冲突。
(5)验证稳定性、可靠性:在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。

1.4性能测试的常见分类
(1)负载测试:负载测试是指通过测试系统在资源超负荷情况下的表现,来发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作条件下的性能行为,以及持续正常运行的能力。负载测试的目的是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,如响应时长、事务处理速率和其他与时间相关的性能指标。
(2)压力测试:在软件工程中,压力测试是对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个web站点在大量的负荷下,何时系统的响应会退化或失败。
(3)容量测试:容量测试确定系统可处理同时在线的最大用户数。

2.测试环境
(1)硬件环境
(2)软件环境

3.测试指标

测试时间:2018年10月10日~10月11日
测试范围:客户端请求信息时,服务器各项性能指标的性能测试
硬件指标:
(1)%Processor time:CPU使用率(平均低于75%,低于50%更佳)
(2)System:Processor Queue Length:CPU队列中的线程数(每个处理器平均低于2)
(3)Mermory:Page/sec:内存错误页数(平均低于20,低于15更佳)
(4)Physical Disk-%Disk time:磁盘使用率(平均低于50%)

4.测试工具和测试场景
测试工具:Prometheus+Grafana+Node_exporter
测试策略: 根据公司内部实际情况,以及业务需要设置文件同步数据量
测试数据: 来源于实际场景业务数据
数据说明:选取数据均为代表性数据(不同的文件数据类型,文件大小不同)
测试场景:测试场景设计及结果

5.测试结果数据以及截图
6.测试结果性能分析
7.测试结论
8.优化建议

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值