8年经验之谈 —— 如何去做好一个项目的压力测试?

1063 篇文章 25 订阅
720 篇文章 2 订阅

简单开个头

时刻提醒自己,不忘初心。于是乎认真分享一篇压测项目的落地实施。

以项目管理的思维,系统展开压测流程落地实施,希望能够给小伙伴工作上带来一些帮助,有一点启发。

项目管理管什么呢?管目标,管计划,管进度,管成果

压测的项目落地实施也是围绕着这几个大方向逐步展开的。

01、压测启动阶段

良好的开端是成功的一半,应用到压测项目,项目启动阶段是非常重要的。

压测项目管理启动阶段需要做什么?

关键词:目标,方案,资源

1,测试需求调研

举个栗子,常常会有同学遇到这样的情况:

业务说:我们要搞活动了,你们来做活动压测,保证系统稳定,不能出问题!!!

开发说:测试同学帮我压个接口!!!

运维说:安全策略做了个调整,帮做个压测我看看!!!

测试说:你们要压测哪些接口?产品是不是要写好要求呢?迷茫的疑问N多

这时候测试同学该怎么做呢?

需求来源是哪里?为什么要做?压测目的是什么?期望业务指标是什么?

围绕着以业务目标去沟通,去引导,去确定达成一致的目标。达成你能理解的,团队能理解的,业务都能理解的数字。Double理解 Doublecheck的过程。

2,分析业务指标数据转化为专业术语的性能指标数据

分析业务指标的数据,收集生产环境的监控数据,去转换成专业的性能测试数据

3,确定清晰有效的压测目标

目标管理,确定清晰有效的项目目标

4,组织测试资源

5,制定测试方案,评审测试方案

我的实践心得

买一送一活动业务指标的确定Action

1,收集业务埋点数据,确定每个页面的流量,最终到提交订单的转化率。

建设一个相对准确的业务模型,为测试场景脚本做准备

2,历史数据参考

我们的业务监控数据没有到秒级订单的统计,所以我们通过数据库查询历年历次活动时间的订单峰期数据量,收集到分级,秒级最高的订单数据

3,业务增长趋势

通过和业务市场团队沟通,确定业务增长趋势,以历次业务最好的数据表现乘以业务增长的系数,估算预期

4,覆盖度

监控数据,统计的分钟,秒级的业务请求数据接口的TPS以及峰期监控数据中接口top20(根据自己的业务特点去决定)。

5,最终确定目标

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

02、# 压测准备阶段

测试方案确定后,开工前就要准备好工具,资源,脚本,数据,测试场景都是项目规划范围内的。

1,测试工具

抓包工具,脚本工具,监控平台,全链路压测平台

2,环境资源

压力机,服务器,网络环境,数据库各资源配置,资源是否都在监控范围内

3,测试脚本

根据业务模型梳理业务脚本

4,测试数据

5,测试场景

容量测试,稳定性测试,异常场景

我的实践和心得

细节的Doublecheck:压力机和被压服务的网络关系,压测基础数据量大小,压测脚本中是否都有断言,压测的业务漏斗比例是否和业务埋点监控对应的流量模型/转化率相当,梳理链路覆盖的应用、中间件、数据库资源是否都在监控范围内。这些都是我们要考虑的细节问题。

03、# 压测执行阶段

在整个项目过程中,启动和准备阶段做优秀的话,执行阶段是相对比较简单的,专注某个时间去压就好了,当然有很多公司做生产压测都是深夜啦,身体辛苦,当然也是团队作战,团队协作高效完工也不容易。

1,容量测试

比如按照100,200,300,400,500并发或者阶梯策略的方式执行压测场景

2,稳定性测试

3,异常测试

比如在压测过程中切换主备中间件

4,记录测试过程

5,收集和记录测试结果

收集记录什么呢?接口TPS,模块事务QPS,响应时间,失败率,压力机资源,服务端资源,数据库资源,连接数,网络资源,中间件资源等。

04、# 压测调优分析阶段

压测执行过程和分析过程也是并行的过程,是在压测过程中先通过现象去反应问题,定位问题。

1,分析测试结果和监控数据

2,整理测试结果

3,分析和定位异常问题

性能分析调优思路,这也是我读书看到总结的,觉得很好用的方法。

1,分层分析

(1)熟悉系统模型,系统架构,调用链分层进行监控分析和问题排查

(2)方法:对每一层建立checklist检查清单,然后按照每层的checklist逐一进行分析(可以自上而下,也可以自下而上)

2,科学论证

(1)发现问题-现象类

(2)链路分析,问题假设预测

(3)实验论证

(4)分析

我的实践心得

性能优化也是不断的过程,不管是看到某个接口响应时间长,还是pod资源分布不均,还是数据库监控有慢查询等等等,要有思路去排查,去定位,一步步自下而上/自上而下。

测试很多时候发现问题就结束了,把问题丢给了开发,其实开发也不是一下子就知道问题在哪里,他们也要逐步定位逐步查,所以我们测试同学可以培养自己这方面的耐心和思维能力,我们有能力一起协助定位。

当然和开发保持良好的工作关系也是很重要的,要知道团队需要协作共赢,可能你当时不懂,和他一起做一次,沟通一下,你真的就懂了。慢慢地测试也修炼了一种架构思维。

06、# 项目报告复盘阶段

1,回顾结果对应的目标。

2,沉淀。

从性能测试的现象,原因,解决方案,思路,操作步骤,问题跟踪去沉淀问题解决方案,总结经验。我们总是要学会沉淀,都是财富,即使有问题也不用怕,多动脑思考,慢慢去驱动改善。That's All.

认真结尾

很多时候会听到测试业务能力不如产品,技术能力不如开发,那我们能什么呢?

每个岗位都有他的价值,我们是平等的,我们首先自己就要尊重测试/质量管理这份职业,热爱这份职业这份工作,不断前行。

测试技术是要沉淀,有目的性的去学习,去解决测试过程中遇到的问题,带着问题去解决,然后应用到项目上。

还有业务功能测试也是很伟大的,我一直觉得业务功能测试是最难的,系统全面了解业务,探索的精神。

我们可以有态度,质量从我手里出去的,我可以自信的说YES,可能不能100%完美覆盖,但是我们的态度尽力去为之了,一定不会差的。

我们要有自我驱动的能力,团队驱动的能力,驱动质量和文化建设的能力,为质量和效率好的事情,我们驱动去做,一点点去做,不断完善,一定会变好。

下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

资料获取方式 :

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值