完整的性能测试流程

前言

本篇文章带大家一起学习性能测试 1,使用jmeter工具进行接口的性能压测 2,熟练使用jmeter工具 3,针对项目接口进行压测(性能测试的流程和操作的过程介绍) 4,分析调优(拓展部分)

一,关于性能测试的理论介绍

为什么要进行性能测试?

业务方面需求: 1.如每年双十一活动/微信春晚抢红包/12306春运订票等 2.当前服务器配置是否支持10000人同时使用 功能:有 /无 性能:好/坏 性能关注点: 性能(效率) (1)时间特点:即服务器处理用户请求的响应时间,如卡/不卡的情况 (2)资源特点:软件运行时,对服务器资源的消耗情况,如CPU,内存,磁盘等

什么是性能测试?一般是指服务器的性能 使用自动化工具,模拟不同的场景,对软件各项性能指标进行测试和评估的过程 1.后台处理程序的性能(代码的性能) 2.中间件,数据库,架构设计等是否存在瓶颈

中间件:tomcat,apache,nginx等应用服务器

性能测试的目的是什么?

1,评估当前系统能力,如验收第三方提供的软件 2,找到性能瓶颈,优化性能 3,评估软件能否满足未来的需求,例如 淘宝双十一交易额逐年递增

性能测试和功能测试比较 1.区别:关注点不一样 功能测试:主要关注功能上(满足条件,和不满足条件的) 性能测试:主要关注业务场景上 (响应时间 消耗资源) 2.功能测试和性能测试相辅相成 测试顺序:一般先功能测试 ,后性能测试

性能测试的策略,即性能测试的分类有哪些?(面试高频知识点)

1,基准测试:获取单个用户测试的各项性能指标,为多用户并发测试提供参考依据 2,负载测试:是验证在不同的并发下系统的表现情况,测试30,50,80个用户的性能 案例:健身,举哑铃 10斤哑铃,举起10个需要15秒。 20斤哑铃,举起10个需要15秒 30斤哑铃,举起10个需要15秒---最优负载量 40斤哑铃,举起10个需要20秒---最优负载量 50斤哑铃,举起10个需要40秒 60斤哑铃,举起10个需要100秒---最大负载量 70斤哑铃,举不起来 3,稳定性测试:在服务器稳定运行的情况下,进行长时间测试,时长一般为1天 4,其他:并发测试,压力测试,容量测试

编辑

添加图片注释,不超过 140 字(可选)

横向坐标:系统当前的用户量,越往右用户量越大! 纵向坐标: 1 :资源的利用情况(Utilization,包括硬件资源和软件资源) 2:吞吐量(Throughput,这里是指每秒事务数)即处理能力 3:响应时间(Response Time),业务处理的响应时间

(1)在A点----B点区间内,随着用户数量的增加 【在最优负载内】 系统资源的使用情况 在逐步增加的 系统处理能力也在逐步增加 系统的响应时间变化不大

(2)在B点----C点区间内,随着用户数量的增加 【达到了最大负载量】 系统资源的使用情况 不变 系统处理能力不变 系统的响应时间在逐步增加

(3)在C点----D点区间内,随着用户数量的增加 【系统崩溃,超过了最大负载量】 系统资源的使用情况 系统处理能力会减小 系统的响应时间在逐步增加

系统处理的最大用户数量是(B) 系统长时间稳定运行时,推荐的用户数量是(B)

并发测试:是指在极短的时间内,发送多个请求 来验证服务器对并发的处理能力。例如 抢红包,抢购,秒杀活动等

压力测试:是在强负载下(大数据量,大量并发用户下)的测试,查看应用程序在峰值的使用情况,

(1)稳定性压力测试:在系统高负载的情况下(临近C点)长时间运行(24小时)查看系统处理能力。 (2)破坏性压力测试:在系统极限负载的情况下(C-D点)对系统进行压力测试,查看系统容错能力和错误恢复能力。

容量测试:关注软件的极限压力下的各个参数值 例如 最大TPS (每秒事务处理量(TransactionPerSecond)),最大并发数,最大连接数(数据库建立连接)

性能测试的常用指标有哪些?(面试高频知识点)

定义:在性能测试的过程中 记录的数据值,用这些数据值与需求中的性能要求做对比,达到标准则无问题,未达到则是性能BUG

1.响应时间:从客户端发起请求开始,到客户端从收到服务器端返回的结果的整个消耗时间 响应时间=网络时间+应用程序处理时间 2.并发数(正在发生请求的用户,,,) 同一时刻 不同的用户做同一个操作或对同一个服务器做不同的操作。 绝对并发:同一时刻不同的用户做同一个操作。 3.吞吐量:每秒服务器处理的请求个数或事务数。从技术角度衡量系统性能重要指标,TPS 每秒事务数 4.点击数(使用少):只有web项目才有此指标, 5.资源使用率:指系统资源使用的情况, 资源利用率=资源的使用量/总的资源可用量×100%

1)建议CPU不高于80% CPU:的能力高低直接影响了整个电脑的运行速度,绝大多数的程序,都要经过它的运算,当然也包括病毒,如果它的使用率太高,会导致整个电脑的速度下降

2)内存不高于80% 内存:程序运行时所消耗的空间 3)磁盘不高于90% 磁盘:存储数据文件 4)网络不高于80% 影响数据的传输速度

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

性能测试的流程有哪些?(面试高频知识点)

1.性能测试需求分析 2.性能测试计划与方案 3.性能测试用例 4.性能测试脚本编写/录制 5.建立性能测试环境 6.执行测试用例 7.性能测试监控 8.性能分析和调优 9.性能测试报告总结

性能测试需求分析 1,熟悉被测试的系统 (1)熟悉被测试的系统的业务功能 (2)熟悉测试系统的技术架构 2.明确性能测试内容 业务方面:确定关键业务,即用户使用频率高的业务功能 技术方面:逻辑复杂高的业务 即CPU密集运行的地方 3.明确测试范围 负载测试:最优,最大负载量 稳定性测试:能否长时间稳定地运行 并发测试:用户一起使用时是否会出问题 4.确定测试指标 没有明确指标时:可以参考类似系统对比,查相关资料, 有明确指标时 例如:(1)下单业务并发20个用户 (2)平均响应时间要小于等于3S (3)事务成功率100% (4)CPU使用率小于等于85%

性能测试计划与方案

1.项目背景 2.测试目的 3.测试范围 4.测试策略 5.风险控制 6.交付清单 7.进度与分工

性能测试用例 要素:用例标题,用例编号,用例前置条件,用例步骤,用例预期结果,用例实际结果(需要监控的各项性能指标) 模板如下,和功能测试用例差不多一样

编辑

添加图片注释,不超过 140 字(可选)

执行测试步骤 1.测试脚本编写/录制:用例编写完成后,结合用例的需要 进行测试脚本的编写

2.搭建测试环境:一般包括硬件和软件环境及网络环境(运维和开发协助完成) 注意:尽可能和用户使用的环境一样

3.执行测试脚本:先保证脚本调试通过之后,才能进入正式的压测阶段,在执行测试脚本同时,要先进行性能运行场景的设置,再运行脚本

4.性能测试监控:监控服务器的各项指标 例如:监控CPU,内存,网络,tps,磁盘等

5.性能分析和调优:对结果进行分析以后,提测系统存在性能的瓶颈。调优 即让开发改代码 (性能的BUG数量少,但开发 修改可能一个月的时间才能修复)

性能测试报告 1.性能测试需求覆盖情况,测试过程回顾,测试中发现的问题, 2.各类风险如果控制的 ,目前是否存在签证的风险 3.经过本次性能测试后,总结测试经验和教训

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 性能测试和RPT简介..................................... 6 2 6个步骤帮您快速实施性能测试................................... 8 2.1 测试前准备 ....................................... 8 2.1.1 确定性能测试的目标.......................... 8 2.1.2 确定测试策略............................... 8 2.1.3 确定硬件配置............................. 9 2.1.4 确定被测试系统的测试场景............... 11 2.1.5 安装软件 ............................ 11 2.2 录制脚本 .............................. 12 2.3 创建真实的负载 ...................................... 12 2.4 监控系统资源 ....................................... 13 2.5 定位性能问题 ....................................... 14 2.6 生成性能测试报告 .................................... 14 3 协议支持 ................................... 15 4 常见问题分析 .................................. 16 4.1.1 RPT报告得出的页面性能数据和我真实操作的不一致,区别还很大............ 16 4.1.2 在性能测试过程中,发现被测试系统不忙碌,而压力发起机器忙碌............ 16 4.1.3 被测试系统不忙碌,压力发起机器也不忙碌................................ 17 4.1.4 如何让RPT发挥最大效率?.......................... 17 4.1.5 如何进行手工关联..................................... 18 4.1.6 对于设计流程测试,应该注意些什么?.................................. 19 4.1.7 如何在Unix/Linux系统中打开Rstatd............................. 19 4.1.8 Windows中获取不到远程的Perfmon数据.................... 19 4.1.9 如何分步骤,分组添加虚拟用户....................... 20 4.1.10 如何设置IP Alias(IP别名)........................... 22 4.1.11 如何模拟不同的线速? .................................... 24 5 其他功能特点...................................... 26 6 整体性能测试流程..................................... 27 7 安装和卸载..................................... 29 7.1 安装Rational Performance Tester ................................... 29 7.2 卸载Rational Performance Tester ....................................38 7.2.1 正常卸载........................................ 38 7.2.2 异常卸载........................................ 38 8 录制脚本 ................................ 40 8.1 录制脚本 .............................. 40 8.2 完善脚本.........................................47
JMeter是一个开源的性能测试工具,它可以用于模拟多种负载情况下的应用程序性能测试。下面是一般的JMeter性能测试流程: 1. 确定测试目标:明确要测试的应用程序或系统的性能目标和需求。 2. 创建测试计划:在JMeter中创建一个新的测试计划,该计划包含了所有的测试步骤和配置。 3. 添加线程组:在测试计划中添加线程组,线程组定义了并发用户数和请求的分布情况。 4. 配置线程组:配置线程组的参数,如并发用户数、循环次数、启动延迟等。 5. 添加Sampler:在线程组下添加Sampler,Sampler定义了要发送给服务器的请求。 6. 配置Sampler:配置Sampler的参数,如服务器地址、端口、路径、请求方法等。 7. 添加断言:在Sampler下添加断言,断言用于验证服务器的响应结果是否符合预期。 8. 添加监听器:在Sampler下添加监听器,监听器用于收集和分析测试结果,如查看响应时间、错误率、吞吐量等。 9. 配置监听器:配置监听器的参数,如保存结果的文件名、格式、报告生成等。 10. 运行测试:保存并运行测试计划,JMeter将模拟并发用户发送请求,并收集相应的结果数据。 11. 分析结果:使用监听器收集的数据,分析测试结果,如查看响应时间分布、错误率、吞吐量等。 12. 优化调整:根据测试结果进行性能优化和调整,如调整并发用户数、优化请求等。 13. 重复测试:根据需求重复执行测试,直到达到预期的性能指标。 以上是一个基本的JMeter性能测试流程,可以根据具体需求进行适当的调整和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值