首页 > 其他分享 >测试架构师如何落地性能测试方案(一)

测试架构师如何落地性能测试方案(一)

时间:2022-10-27 10:14:18浏览次数:47  
标签:方案 落地 1000TPS 性能 性能需求 测试 架构师

测试架构师如何落地性能测试方案(一)

背景描述:

最近刚接手一个新项目,在最开始的时候要求对这个项目做性能测试,产品经理也给不出性能需求,只因为这个项目是电商项目,可能会有高并发,秒杀的场景,所以产品经理要求我们对这个项目必须做性能测试,又因为这个项目是一个新项目,所以大家都没有重视起来。过了一段时间,当领导问到这个项目的性能测试方案如何落地的时候,大家都懵了,都不知道该怎么办。然后测试组长就把目光投向了我-----整个测试团队唯一的测试架构师,在这个时候,我就想起了还有研发架构师,于是我就找到了研发架构师,一起沟通这个项目的性能需求!!!

问题来了.......

因为最开始的时候,产品经理也给不出性能需求。要想在项目最开始的时候给出性能测试方案,就必须要有对应的性能需求。但是现在这个项目只是刚开始,还没有一些产品文档,所以产品经理也给不出来性能需求。只能知道大概的产品方向,以及大概的功能模块有哪些,所以在这个时候,只能靠架构师和产品经理在一起进行沟通。

我是如何解决问题的.......

由于做的类似于一个电商APP,是前后端分离的项目,所以市场上有很多竞品可以拿来分析,于是就我就主持召开了一个会议,会议主题:“如何落低性能测试”,参会人员:产品经理,项目经理,研发架构师、还有研发组长。但是在这个会议的进行过程中,发现大家并不是很愿意讨论性能测试,而是比较热衷于产品需求和对应的性能需求,因为没有产品需求和性能需求的话,就谈不到性能测试这一步。

这里再补充一点:其实我们平时在项目里面做性能测试的话,也就有三种情况会做性能测试:

1,就是我们要对当前的系统做一个摸底,也就是系统性能兜底,看一下当前的系统能够容纳多少并发。

2,就是提出来具体的性能需求,比如我要实现3000人同时做什么什么事情,满足1000并发,系统响应不超过2秒......

3,就是当系统出现性能问题了,我们需要进行性能排查和性能测试。

好像发现了救命稻草.........

因为这是一个新项目,所以暂时就不会出现性能问题,主要还是要有性能需求才能够的性能测试,但是这个性能需求没有人能够给出,产品经理给不出来,项目经理也给不出来,研发更给不出来。所以在这个时候,我们的重点是讨论性能需求,在会议讨论过程中发现,我们目前评估竞争产品,也就是竞品分析,发现竞品类APP需要至少满足1000TPS,系统响应不超过2秒.......

发现了新问题.......

综合对比了几款竞品APP,发现:某一款竞品APP在第一个版本要满足 1000TPS的并发能力,但是现在这个1000TPS的并发能力应该如何设计,在这个时候就是另一个问题了,而且这个性能需求也是大家通过竞品分析得来的,并不能算真正的性能需求,只能算暂时的一个伪需求。目前大家的会议讨论的重点就是如何设计一个能够满足1000TPS的性能架构,等以后产品真正上线使用过程中再逐步调整优化需求!!!

在满足1000TPS的性能架构的基础之上完成的第一个测试版本,性能测试人员才能够对系统进行测试,查看系统到底能否达到1000的TPS,整个会议的目的都已经达到了,所以说,剩下的重点就是如何设计一套架构能够满足当前的1000TPS的业务。当然这个工作并不是一个测试人员来做的,也不是简单的研发人员来做的,而是由系统架构师来做。

于是到最后,这个任务就交给了系统架构师,也就是Java架构师,当然测试架构师也要参与其中,但是目前的系统架构师一时间也给不出来具体的架构方案,因为,如果给出来1000TPS的架构方案,就必须在敲代码之前能够设计出来一套具体的架构方案。

重点难点来了.........

在敲代码之前,能够评估能够给出一套具体的架构方案,并且评估出该方案的吞吐量,TPS不小于1000,这个工作量只能由系统架构师来做,经过一段时间和系统架构师的沟通发现。这个事情只能凭架构师个人的经验来设计了,各种框架、中间件设计、数据库缓存、微服务架构,表结构,负载均衡策略以及每个中间件能满足多少并发。

测试前移........

这些都是要凭架构师的个人经验了,毕竟还没有敲代码,等整个架构设计好了之后才开始敲代码!在研发敲代码的时候,测试人员就可以设计开展性能测试相关的工作了!等整个性能测试环境搞定之后,我们就可以真正执行具体的性能测试了!那如果说,当性能环境都搞定了之后,代码也都完成的差不多了,数据也都造的差不多了,这个时候才开始评估性能方案都已经晚了,所以说一定要在敲代码之前就要评估出系统的吞吐量TPS。

当然这个对架构师的技术经验要求都很高,一般人是做不好的,只有系统架构师才能做好,而且是经验非常丰富的系统架构师也不一定能够保证敲代码之前设计的这套方案就能够满足当时的性能评估,所以还是要等性能测试的时候看真正的结果。

 

目前已经在设计性能测试方案了

后续会陆续分享相关问题和经验

希望大家点赞评论并给出不同的建议

 

标签:方案,落地,1000TPS,性能,性能需求,测试,架构师
From: https://www.cnblogs.com/111testing/p/16831107.html

相关文章

  • swoole测试连接
    测试TCP服务器链接1.进入程序目录运行tcp.php 2.使用telnet连接tcp服务器telnet127.0.0.19501  3.服务端已显示连接 ......
  • locust 嵌入测试平台 只用一个task实现请求多个接口的思路
    fromlocustimportTaskSet,taskfromlocustimportHttpUserasHttpLocustclassUserBehavior(TaskSet):defon_start(self):#当模拟用户开始执行Task......
  • 【开发者测试-2】Mockito、Spring-Test
    MockitoPOM依赖<dependency><groupId>org.mockito</groupId><artifactId>mockito-all</artifactId><version>1.10.19</version><scope>test</scope......
  • 什么是测试架构师(经验总结)
    什么是测试架构师(经验总结)最近一直在招测试架构师最近一直在招测试架构师,在这段时间,对测试架构师这个工作职责以及技术要求,都有一些新的认识,同时也回顾总结了自己对测试......
  • 软件测试基本概述
    软件质量概述1)软件质量:软件产品基本满足需求及隐式需求的程度。2)软件产品满足基本需求指其能满足软件开发时所规定需求的特性,其次是软件产品满足隐式需求的程度。3)......
  • activiti 常用方法封装及测试
    Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN2.0标准,包括支持对象管理组(OMG),提供技术实现。对于开发者来说,Activiti......
  • websocket接口自动化集成pytest测试框架
    websocket协议1、介绍WebSocket是一种在单个TCP通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC6455,并由RFC7936补充规范。WebSocketAPI也被W3C定为标准。We......
  • 《渗透测试》学习随笔 day1
    概念名词1.域名(1)什么是域名? 域名:是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)(2)二级域......
  • 传统 API 管理与测试过程正面临严峻的挑战
    随着测试左移思想的引入,API(应用程序编程接口)经济的飞速增长,导致对API管理平台的需求相应增加。越来越多的企业注重并关注接口测试。单纯的做接口测试或者做好接口测试的......
  • 【测试全栈,先从前端开始--HTML之无序列表/有序列表】(十三)
    很久之前讲了HTML合并单元格,接下来我们说下列表,包含无序列表和有序列表。  <ul>标签表示HTML页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用<li>标签定义。......