【性能测试】老鸟总结,性能测试到底该如何做,一篇打通...

news2024/11/19 23:18:33

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、前期准备

性能测试虽然是核心功能稳定后才开始压测,但是在需求阶段就应该参与,这样可以深入了解系统业务、重要功能的业务逻辑,为后续做准备。

2、性能需求分析(评审)

评审时,要明确性能测试范围、目标;

由于非专业性能测试人员不知道怎么定目标,如果你让他们定,可能定的目标会很离谱,比如,要求单机tps10万、支持1万的并发等等,显然是不合理的,你压测也达不到这个目标;

所以,这个时候,就要体现性能测试人员的专业性了,最好是引导产品、需求或者开发出压测目标(分别是单场景、混合场景、稳定性场景的),自己给建议,大家一起定一个当前合理的目标,达成一致后,让产品或者需求把最终评审的结果以邮件方式发送给领导及项目组成员;

这样,如果最后上线后出问题,还可以避免只有测试背锅,总之目标也不是你一个人定的,是大家一起定的,要背锅一起背锅;

定性能指标,又分为迭代项目和新项目,迭代项目就根据生产监控、日志分析来评估指标,这里需要做容量规划,新项目单独评估;

这里说下性能指标,一般是tps(每秒处理事务数,这里都是通过的事务)、art(平均响应时间)及并发数,加上服务器资料利用率的要求(cpu、内存、IO、网络等)、各个服务的资源情况。

3、熟悉系统架构,申请性能测试环境

做性能测试,必须要熟悉项目的架构,这样你才知道监控哪些服务器,以及准备监控方案(监控方式及监控的性能指标点);

包含具体用到的web服务器、应用服务器、缓存数据库服务器、数据库服务器、文件服务器等;

主流的技术栈:nginx、dubbo、mysql、redis、jvm等等。

4、制定性能测试方案

项目背景及架构分析;
需要的资源;
技术策略(比如压测、监控、分析工具选择等);
场景设计;
计划什么时候做什么事等等;

5、搭建测试环境,准备测试数据

搭建测试环境是测试必备的技能,当然,如有困难,你也可以找运维、开发一起配合;

测试数据分为基础环境数据和业务数据;
基础环境数据可以从功能测试的库导过来,改一些配置即可;

业务数据包含:存量数据+容量规划数据,比如一个查询接口,都是并发100用户,对应的表数据量是1万和100万,压测结果是不一样的;

数据量要参考生产环境,如果是新项目,除了空库压,最好也做一下存量数据压。

6、开发压测脚本

客户端并发工具,推荐用jmeter,主流、开源、轻量、免费、功能强大;

根据实际情况,对脚本调整,比如:参数化、关联、事务、检查点、思考时间、信息头管理器等;

这里再强调一下,jmeter只是客户端并发工具,jmeter≠性能测试。

7、预压测(基准测试)

少量并发(比如1个用户),压测10分钟

第一:可以看压测环境功能是否通;
第二:估算并发过程中需要多少参数化数据的数据量。

8、执行压测并监控

场景设计好后,就可以执行压测了,然后监控查看测试各项指标是否满足需求;

如果不满足,可以结合表象及根据自己的经验直接去看预估的瓶颈点;

否则,从请求开始,一步一步排查请求流经的节点,包括服务器资源(cpu、内存、磁盘io、网络)是否存在性能瓶颈、是否存在队列、线程池、连接池、线程死锁、数据库死锁、慢sql、长事务等性能问题;

经常有测试朋友问我用什么工具监控,我大部分都是用的命令,为了方便,也会写shell脚本来监控;

linux服务器,常用的命令是top、vmstat、free、df、sar、iostat、netstat等,一般是多个命令配合着用;

java应用:jvisualvm、jconsole、jmap、jstat、jstack等,以及自己写的一些shell脚本;

redis、mysql、jvm等等。

9、分析定位

基于上一步的监控数据,对瓶颈进行分析、定位,模块隔离分析、日志分析、内存分析、线程栈分析、代码跟踪等等;

这个真需要实战积累,没有捷径,遇到好几个去参加过性能培训的朋友,他们反馈说还是不会性能,操作起来同样一脸懵逼、无从下手。

10、性能优化

定位到问题了,大部分情况下,优化方案也就有了,测试可以把自己建议的优化方案告诉开发,开发会结合自己的方案,一起做优化方案评估;

如果测试没有优化方案,那就把问题反馈给开发吧,但是也好好学学开发的优化思路,这就是成长的过程。

11、性能回归

优化后,复测。

12、编写性能报告

测试结果是多少?测试是否通过?
发现了什么性能问题?原因是什么?
如何优化解决的?系统性能提升了多少倍?

优化方案务必写详细,以便上线同事知道,把优化同步到其它各个环境。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

奋斗是成就的起点,拼搏是成功的密码。不管前路多么艰难,只要坚持不懈,你必将闯过风雨,迎来属于自己的辉煌时刻。相信自己,勇往直前!

坚持追求,不畏艰难。每一次努力都是一次进步,每一次挑战都是一次成长。相信自己的力量,勇往直前,你将创造出属于自己的辉煌人生!

在逆境中磨砺意志,在困难中寻找机遇。不停止努力,不放弃追求,你将超越自我,创造出自己的壮丽传奇,成就令人瞩目的辉煌!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年第2季社区Task挑战赛贡献者榜单

基于FISCO BCOS及Weldentity,实现SSO单点登录服务;提供食品溯源、电商运费险7天退保、电子病历等智能合约库业务场景案例;基于FISCO BCOS更新游戏体验;体验并分析解读最新发布的分布式数据协作管理解决方案DDCMS,提供相…

Eviews 11安装包下载及安装教程

Eviews 11下载链接:https://docs.qq.com/doc/DUmRGdXVUeVBSU1lK 1.选中下载好的安装包,右键解压到“Eviews 11”文件夹 2.选中"Setup.exe"鼠标右键选择以管理员身份运行 3.点击“Next” 4.勾选“I Accept...”,点击“Next” 5.选择…

提升效率必备:用关键词替换法重命名文件夹技巧

在日常生活和工作中,经常要处理大量的文件夹,进行归类、整理和重命名。但是手动一个个重命名文件夹既费时又费力。为了提高效率,可以采用关键词替换法来批量重命名文件夹。现在讲解云炫文件管理器如何用关键词替换命名文件夹的具体步骤。 首先…

电视机顶盒哪个牌子好?2024电视机顶盒排行榜全新出炉

电视机顶盒可以解决电视机无法下载软件,配置落后卡顿等问题,用电视机顶盒资源丰富,功能多样,但超多朋友不知道电视机顶盒哪个牌子好,小编本期要分享的就是2024业内最新发布的电视机顶盒排行榜,入围的是以下…

构建Python随机密码生成器:保障账户安全的简易工具

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 密码安全是当前数字时代的一个重要议题。在保护…

实时记录和查看Apache 日志

Apache 是一个开源的、广泛使用的、跨平台的 Web 服务器,保护 Apache Web 服务器平台在很大程度上取决于监控其上发生的活动和事件,监视 Apache Web 服务器的最佳方法之一是收集和分析其访问日志文件。 Apache 访问日志提供了有关用户如何与您的网站交互…

uniapp点击跳转传对象

目录 传对象传对象传送组件接受组件 最后 传对象 传对象 传送组件 点击传给组件 <view class"dki-tit-edit" click"gotificatedit(item)">编辑 </view>gotificatedit(item){console.log(item,item);let options JSON.stringify(item);uni.…

web3 : blockscout剖析

Blockscout 是第一个功能齐全的开源区块链浏览器,可供任何以太坊虚拟机 (EVM) 链使用。项目方可以下载并使用Blockscout作为其链的浏览器,用户可以轻松验证交易、余额、区块确认、智能合约和其他记录。 目录 Blockscout可以做什么主要特征blockscoutDocker容器组件Postgres 1…

宝宝的听力发育进程

小宝宝听力发育进程&#xff1a; 在母亲怀孕中晚期&#xff0c;小宝宝就有了听觉&#xff1a;6个月胎儿的听力已经和成年人相当了。 ◆ 出生0-7天的小宝宝会随声音变化产生不同反应&#xff0c;当在宝宝耳边拍巴掌或摇摇铃&#xff0c;宝宝可能会有惊跳反应&#xff0c;或吓哭…

如何快速定位php程序运行慢的地方

1 slow log日志 查看slowlog日志位置 编辑php-fpm.conf文件&#xff0c;更改或增加两行内容 slowlog /data/logs/php-slow.log request_slowlog_timeout 2 说明&#xff1a;slowlog定义日志路径和名字&#xff0c;request_slowlog_timeout定义超时时间&#xff0c;单位…

UI测试平台RunnerGo一键安装教程

现在安装RunnerGo仅需要一条命令&#xff01;目前支持系统&#xff1a;Centos、Debian、Ubuntu三种。下面给大家介绍一下RunnerGo安装使用流程&#xff1a; Step1&#xff1a;复制以下命令 wget https://img.cdn.apipost.cn/running_go/img/wiki/runnergo.tar && ta…

知虾电商(Shopee):东南亚领先电商平台的十大关键特点**

知虾电商&#xff08;Shopee&#xff09;作为东南亚地区领先的电子商务平台&#xff0c;由Sea Group&#xff08;前称Garena&#xff09;在2015年创立。知虾电商以移动优先的策略迅速崛起&#xff0c;为用户提供了一个便捷、安全的在线购物环境。以下是知虾电商的一些关键特点&…

Node.js 文件写入详解:最佳实践与示例

文件写入是 Node.js 中的一项重要任务&#xff0c;它允许你将数据保存到本地文件系统中&#xff0c;供后续使用。这个功能在许多应用中都有广泛的应用&#xff0c;包括数据备份、日志记录、配置文件更新等。在本文&#xff0c;我们将介绍如何在 Node.js 中执行文件写入操作&…

Linux驱动(三)platform总线驱动

1、前言 Platform总线是Linux内核中用于管理嵌入式系统中的设备的一种总线类型。它允许设备驱动程序通过一组标准的接口与嵌入式系统中的硬件设备进行通信。 Platform总线维护了一个驱动链表和一个设备链表&#xff0c;当有新的设备添加后会通过自身的match函数遍历驱动链表查…

【深度学习:(Contrastive Learning) 对比学习】深入浅出讲解对比学习

对比学习允许模型从未标记的数据中提取有意义的表示。通过利用相似性和不相似性&#xff0c;对比学习使模型能够在潜在空间中将相似的实例紧密地映射在一起&#xff0c;同时将那些不同的实例分开。这种方法已被证明在计算机视觉、自然语言处理 &#xff08;NLP&#xff09; 和强…

NPDP产品经理含金量高吗?难考吗?

NPDP的中文翻译为产品经理国际资格认证。NPDP考试起源于美国&#xff0c;由美国产品开发与管理协会&#xff08;PDMA&#xff09;发起。NPDP认证是集理论、方法与实践为一体的全方位知识体系&#xff0c;为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。&#xff0…

ChatGPT绘制全球植被类型分布图、生物量图、土壤概念图、处理遥感数据并绘图、病毒、植物、动物细胞结构图

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮&#xff0c;可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

【笔记------STM32】定时器触发adc采样注意事项(无中断DMA方式)

配置adc转换通过dma传输&#xff0c;不使用相关定时器中断、DMA中断和ADC中断 网上各种配置五花八门&#xff0c;这里提供我的配置方法 仅记录关键位置配置&#xff0c;根据自己的情况配置&#xff0c;并非只能如此。。 ADC不使用连续转换&#xff0c;否则定时器触发可能失效&a…

LoRa解决方案助推农业创新钡铼技术LoRa网关S281

随着物联网技术的迅猛发展&#xff0c;农业行业也开始探索如何利用物联网技术来提高农业生产效率、降低成本&#xff0c;并实现可持续发展。在这一背景下&#xff0c;钡铼技术有限公司推出的LoRa解决方案以及其中的重要组成部分LoRa网关S281&#xff0c;为农业创新和智能化提供…

RFID技术在3C家电中的全方位应用

RFID技术在3C家电中的全方位应用 一、RFID技术简述 射频识别&#xff08;RFID&#xff09;技术是一种无线通信技术&#xff0c;已经在各行各业得到广泛应用。在3C家电领域&#xff0c;RFID技术的应用正在逐渐增加&#xff0c;为产品追溯、库存管理、防伪验证等方面提供了许多…