新项目之初性能测试工作如何前移?

最近刚接手一个新项目,在最开始的时候要求对这个项目做性能测试,产品经理也给不出性能需求,只因为这个项目是电商项目,可能会有高并发,秒杀的场景,所以产品经理要求我们对这个项目必须做性能测试,又因为这个项目是一个新项目,所以大家都没有重视起来。

过了一段时间,当领导问到这个项目的性能测试方案如何落地的时候,大家都懵了,都不知道该怎么办。然后测试组长就把目光投向了我——整个测试团队唯一的测试架构师。在这个时候,我就想起了还有研发架构师,于是我就找到了研发架构师,一起沟通这个项目的性能需求。

问题来了

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

我是如何解决问题的?

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

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

1、我们要对当前的系统做一个摸底,也就是系统性能兜底,看一下当前的系统能够容纳多少并发。
2、提出来具体的性能需求,比如我要实现3000人同时做什么什么事情,满足1000并发,系统响应不超过2秒……
3、就是当系统出现性能问题了,我们需要进行性能测试和问题排查。

好像发现了救命稻草

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

发现了新问题

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

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

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

重点难点来了

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

测试前移

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/28410.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux:进程间信号】

文章目录 1 生活角度的信号2 技术应用角度的信号3 信号的产生3.1 由系统调用向进程发信号3.1.1 signal3.1.2 kill3.1.3 raise 3.2 由软件条件产生信号3.3 硬件异常产生信号3.4 通过终端按键产生信号3.5 总结思考一下 4 信号的保存4.1信号其他相关常见概念4.2在内核中的表示4.3 …

命令行创建uniapp项目

命令行创建uniapp项目 除了使用HBuilderX工具可视化搭建项目外,DCloud官方还提供了一个脚手架用于命令行搭建项目。 环境安装 全局安装vue-cli npm i vue/cli4 -g建议使用vue-cli 4.x版本,vue-cli 5.x与webpack存在冲突,会导致运行报错 …

【软件测试】测试用例设计要点总结

文章目录 考试题型简答题(一) 等价类划分1.1 划分等价类1.2 设计测试用例 (二) 边界值分析2.1 列出边界值分析表2.2 设计测试用例 (三) 因果图分析3.1 确定原因和结果3.2 确定原因和结果之间的逻辑关系3.3 在因果图上使用标准的符号标明约束条件 (四) 判定表驱动4.1 将因果图转…

如何利用ChatGPT写毕业论文

如何利用ChatGPT写毕业论文 ChatGPT是什么?利用ChatGPT写毕业论文的步骤1.准备数据2.训练模型3.生成论文4.检查论文 总结地址 ChatGPT是什么? ChatGPT是一个基于GPT-2模型的开源聊天机器人,它可以回答用户的问题,进行闲聊和提供各…

【头歌-Python】9.2 能带曲线绘制(project) 第1~3关

第1关:能带曲线绘制一 任务描述 本关任务:使用matplotlib绘制图形。 相关知识 为了完成本关任务,你需要掌握: 使用 matplotlib 绘制图形python 读取文件 python 读取文件 python读取文件可以用以下函数实现: # …

Java学习笔记(视频:韩顺平老师)4.0

如果你喜欢这篇文章的话,请给作者点赞哟,你的支持是我不断前进的动力。 因为作者能力水平有限,欢迎各位大佬指导。 目录 如果你喜欢这篇文章的话,请给作者点赞哟,你的支持是我不断前进的动力。 控制结构 顺序 分…

用了【WRITE-BUG数字空间】,其他文档软件可以卸载、注销账号了

都3202年了文档都进化成在线协同编辑文档了 让我看看谁还在用本地软件写文档啊~滋滋滋 使用【WRITE-BUG数字空间】云文档全键盘写作不是梦!铁汁,听我句劝,把本地软件卸载了奥,你把握不住~ 程序员兄弟姐妹们的最爱编辑器&#x…

TCP协议流程详解,抓包分析

目录 TCP概念TCP工作层TCP协议头部解析TCP抓包解析TCP三次握手,数据收发,四次挥手抓包TCP状态迁移 TCP概念 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议&…

【2023年计划大纲】2023年技术笔记大纲

2023年技术笔记写作计划 按照技术类型,计划写以下三个领域的笔记: (1)AUTOSAR标准体系的专业知识,T-BOX,BMS,VCU这几个产品的设计和核心开发。包括UDS协议,XCP协议,OS操作系统。 每一个产品和…

Spring Cloud Kubernetes配置使用详情

目录 一、 为什么你需要 Spring Cloud Kubernetes? 二、 Starter 三、 用于 Kubernetes 的 DiscoveryClient 四、Kubernetes 原生服务发现(service discovery) 五、Kubernetes PropertySource 的实现 1、使用 ConfigMap PropertySource …

【HTML】form标签

<form> 标签用于创建 HTML 表单&#xff0c;它是用于收集用户输入的重要元素。表单可以包含各种输入字段、按钮和其他交互元素&#xff0c;用于向服务器发送用户输入数据。 下面是一个简单的 <form> 标签的示例&#xff1a; <form action"/submit-form&q…

释放 OpenAI 和 ESP-BOX 的力量:ChatGPT 与乐鑫 SoC 融合指南

当前&#xff0c;我们正见证着一场技术革命&#xff0c;而 OpenAI 正处于这场变革的最前沿。其中最激动人心的创新之一就是ChatGPT&#xff0c;它运用自然语言处理的力量&#xff0c;打造出更加引人入胜、直观的用户体验。而将 OpenAI 的 API 与物联网设备相结合&#xff0c;更…

Redis集群部署

Redis集群部署 1.单机安装Redis2.Redis主从集群2.1.集群结构2.2.准备实例和配置2.3.启动2.4.开启主从关系2.5.测试 3.搭建哨兵集群3.1.集群结构3.2.准备实例和配置3.3.启动3.4.测试 4.搭建分片集群4.1.集群结构4.2.准备实例和配置4.3.启动4.4.创建集群4.5.测试4.5.测试 本章是基…

java SSM 摄影作品网站myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 摄影作品网站系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代 码和数据库&#xff0c;系统主要采…

计算机网络-网络体系结构

目录 计算机网络的基本概念计算机网络的定义组成与功能计算机网络的分类按照网络的作用范围进行分类按照网络的使用者进行分类 计算机网络主要性能指标 计算机网络体系结构计算机网络协议、接口、服务等概念ISO/OSI 参考模型和 TCP/IP 模型OSI七层模型TCP/IP 模型封装与分用 计…

攻防渗透第四章(谷歌语法)

一、常用谷歌黑客语法 制定网站的URL site: 包含特定字符的URL inurl: 网页标题中包含特定字符 intitle: 正文中指定字符 intext: 指定类型文件 filetype 开发语言判断 site:163.com filetype:php site:163.com filetype:jsp site:163.com filetype:asp site:163.com filetype…

【裸机开发】内核时钟 PLL1 配置实验(一)—— 寄存器分析篇

本章主要会回答以下问题 &#xff1f; imx6u 的时钟源来自于哪 &#xff1f;为什么一个起始时钟源&#xff0c;最终分成了多路&#xff1f;不同的时钟源是如何与外设对应起来的&#xff1f;&#xff08;时钟树&#xff09;要配置内核时钟频率 有哪些步骤 &#xff1f;涉及到哪…

基于Java购物商城系统设计与实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a; ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精…

今天面了个35k字节跳动出来,真是砂纸擦屁股,给我露了一手...

​2023年春招已经结束&#xff0c;很多小伙伴收获不错&#xff0c;拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文&#xff0c;为此咱这里也统一做一次大整理和大归类&#xff0c;这也算是划重点了。 俗话说得好&#xff0c;他山之石…

深入篇【C++】string类的常用接口介绍:标准库中的string类 【万字总结】

深入篇【C】string类的常用接口介绍&#xff1a;标准库中的string类 Ⅰ.string类介绍Ⅱ.string类的常用接口①.string类对象的常用构造1.string()2.string(const char*ch)3.string(const string& str)4.string(size_t n,char c)5.string(const string& str,size_t pos,…