性能测试技术笔记(一):如何快速上手压测工作

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 如果是专职做性能测试,或者刚介入一个全新的系统进行压测,想要短时间内了解业务细节是几乎不可能的。

新年第一个工作日,继续整理之前的技术笔记。


前面通过三篇的内容,将自动化测试相关的技术笔记做了整理汇总。


这篇内容,主要是我刚开始做性能测试时的一些记录,对新手或者刚进入一个新项目的同学,应该有所帮助。


一般我们在刚介入一个项目时,我认为可以从如下几个方面来快速的上手压测工作。


熟悉业务特性


无论是做什么类型的测试工作,都脱离不了业务。


我们的被测对象,也是基于系统架构的用代码实现的高度具象的业务系统。


如果是专职做性能测试,或者刚介入一个全新的系统进行压测,想要短时间内了解业务细节是几乎不可能的。


但为了更好的快速开展工作,我个人的经验是快速熟悉业务特性,结合自己的经验对系统有个大致的了解。


什么是业务特性呢?可以参照下面几个例子:


  1. 电商下单业务:典型的先读后写类型,要考虑库存、事务的一致性,还有响应时间的范围;
  2. 大数据&报表业务:典型的读场景,可能会涉及到缓存或者消息队列,甚至是批处理;
  3. 金融风控信审业务:这种业务对响应时间没有太高的要求,但业务链路较长,不同系统间的交互要考虑;
  4. 语音识别搜索业务:涉及到语音文字的识别转换、准确率和命中率,计算密集型业务要更关注内存资源;


上述几个例子只是参考,其实最核心的思路在于:了解业务有什么特点,对响应时间、事务一致性的要求,可能的技术实现方式是什么,用到了什么技术组件,压测时要关注哪些指标


了解系统架构


聊完业务特性后,被测系统的系统架构是一定要了解的。


因为我们的工作对象是具体的系统,而且压测要关注技术指标,关注请求处理的过程以及耗时等情况。


一般来说要了解被测系统的系统架构,可以通过如下几种方式:


  1. 系统架构图&网络拓扑图;
  2. 模拟几个请求,借助链路追踪工具来绘制请求链路;
  3. 如果都没有,通过监控观察请求的变化,挨个摸底;
  4. 看业务需求的prd,了解业务之间的关系,然后映射到具体的服务和接口;


上述几种方式是我常用的几种方式,在具体工作中要灵活变通,而且这种对系统架构摸底和请求链路的了解过程,也是个人快速学习和成长的过程。


下面是一个请求被处理的过程,也是一个较为完整的常见微服务架构,供参考。


640.png


团队工作方式


团队工作方式,不仅限于性能测试团队或者测试团队,而是从需求到发布整个软件研发过程各个团队是如何协同配合的


刚进入一个新的团队或者介入一个新项目时,可以从下面几个方面去熟悉,主要包括:


  1. 流程:包含需求评审、提测、UAT、灰度和生产发布等主要流程以及时间节点;
  2. 环境:开发环境、测试环境、UAT环境以及生产环境,主要涉及域名、权限、负责人等;
  3. 基础工具:配置中心、注册中心、需求&缺陷管理平台、CICD流水线工具、监控分析工具等;
  4. 测试工具:包含压测工具、抓包工具、造数工具、mock工具、文档管理工具、协作办公沟通工具等;
  5. 测试方法:之前怎么做压测?对指标有没有标准或定义?测试方案测试报告的撰写要求等;
  6. 协作人员:不同业务域或者业务系统的研发/运维/DBA是谁,跨团队的沟通协作方式等;


以上几点是我个人看来比较重要的一些点,快速了解这些之后,也会有助于工作更好的开展。以上内容来源于我之前做性能测试工作时的笔记内容,稍加提炼和修改。


下一篇我会聊聊做性能测试前期的一些准备工作如何开展。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
13天前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
30 4
|
1月前
|
前端开发 JavaScript 测试技术
前端测试技术中,如何提高集成测试的效率?
前端测试技术中,如何提高集成测试的效率?
|
11天前
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
56 13
|
17天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
46 1
|
24天前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
31 4
|
23天前
|
监控 JavaScript 前端开发
如何在实际应用中测试和比较React和Vue的性能?
总之,通过多种方法的综合运用,可以相对客观地比较 React 和 Vue 在实际应用中的性能表现,为项目的选择和优化提供有力的依据。
31 1
|
1月前
|
数据采集 前端开发 安全
前端测试技术
前端测试是确保前端应用程序质量和性能的重要环节,涵盖了多种技术和方法
|
1月前
|
缓存 监控 测试技术
全网最全压测指南!教你如何测试和优化系统极限性能
大家好,我是小米。本文将介绍如何在实际项目中进行性能压测和优化,包括单台服务器和集群压测、使用JMeter、监控CPU和内存使用率、优化Tomcat和数据库配置等方面的内容,帮助你在高并发场景下提升系统性能。希望这些实战经验能助你一臂之力!
69 3
|
1月前
|
前端开发 JavaScript 测试技术
前端小白逆袭之路:如何快速掌握前端测试技术,确保代码质量无忧!
【10月更文挑战第30天】前端开发技术迭代迅速,新手如何快速掌握前端测试以确保代码质量?本文将介绍前端测试的基础知识,包括单元测试、集成测试和端到端测试,以及常用的测试工具如Jest、Mocha、Cypress等。通过实践和学习,你也能成为前端测试高手。
50 4
|
1月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现