8年测试经验总结,性能测试流程与性能测试学习路线,卷起来...

news2024/11/14 20:51:57

目录:导读

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


前言

性能测试流程

1、分析性能需求,确定测试目标
性能指标可由产品经理或项目经理制定,或通过日志监控分析确定性能测试场景以及指标。

例如:事务通过率为 100%,TOP99% 在 5000ms 以内,最大并发用户数为 1000 人,CPU 和内存的使用率在 70% 以下。

2、制定性能测试计划
制定性能测试策略,包括测试范围、测试环境、测试数据和负载配置等。

确定测试的时间(通常在功能稳定后,如第一轮测试后进行)和资源限制,制定测试计划的时间表和里程碑。

3、编写测试方案
选择适合的性能测试工具,如 JMeter、LoadRunner 等。选择适当的监控工具,用于监测系统资源使用情况和性能指标。

4、搭建 / 确认测试环境,准备测试数据
搭建符合测试需求的环境,包括硬件、软件、网络和数据库等。
配置测试服务器、负载发生器和监控工具,确保准备就绪。

5、编写性能测试脚本
根据测试场景和负载类型,编写测试脚本,定义用户操作和事务流程。
设置性能测试工具的参数,如并发用户数、请求频率等。

6、性能测试脚本调优(脚本增强)
设置检查点、参数化、关联、集合点、事务、调整思考时间,删除冗余脚本。

7、分析和优化
对测试结果进行分析,识别性能瓶颈和问题所在,根据分析结果,提出优化建议和解决方案。收集相关数据和日志信息提单给开发同学。

8、回归测试
进行性能调优和优化测试,验证改进措施的有效性。同时业务测试也要回归,避免优化性能后影响功能的正常使用。

9、编写测试报告
撰写性能测试报告,总结测试结果和分析,包括性能指标和问题列表。
提供优化建议和改进措施,供开发团队参考和实施。
将报告交付给相关团队和利益相关者,进行讨论和反馈。

10、进行持续性能监控
在系统上线后,进行定期的性能监测和测试,确保系统的稳定性和可靠性。
根据实际使用情况和变化的需求,及时调整和优化系统的性能。

性能测试学习路线(重要)

1、理解基本概念和原理
学习性能测试的基本概念,例如性能指标、负载、吞吐量、响应时间等。
了解性能测试的重要性,以及如何评估系统的性能和稳定性。

2、掌握性能测试工具
选择一款常用的性能测试工具,推荐 JMeter,学习性能测试工具的基本原理和使用方法。

例如:JMeter 常用的组件和元件、JMeter 实现参数化的三种方法、JMeter 响应结果断言和 cookie 管理器、同步计时器实现并发场景、接口关联性之正则表达式和 JSON 表达式提取器、JMeter 服务器资源监控和聚合报告分析等。

3、工具增强
由于图形化压测需要消费资源,所以可以使用命令行脱离图形进行压测。当单机 JMeter 提供压力不够时,可以学学分布式压测。

JMeter 还可以学习基于 Beanshell 等第三方插件方式做二次开发,还可以将编写和调试好的脚本丢到 Linux 非 GUI 环境中执行,解决 Jmeter 在 Windows 环境下套接字太多,负载过大的痛点。

4、分层监控学习
简单的使用命令(例如 Linux 命令 df、du、free、netstat 等)监控服务器资源,包括 CPU、内存、磁盘、网络等,会指标分析。

如果感觉不够直观,还可以学习如何搭建 Prometheus+Exporter+Grafana 进行图形化界面展示指标,也可以监控硬件和数据库。除此之外,还可以学习下 SkyWalking 做分布式链路监控,并结合钉钉做报警机制。

5、性能瓶颈分析
学会分析常见的性能问题,例如:CPU 飙升如何定位到代码级别、接口响应时间过长怎么分析、慢查询 SQL 问题等。

简单来说,性能测试不达标就要判断是代码问题还是服务器资源问题,例如:通过监控系统的物理资源,发现 CPU 占用 100%,或者内存占满,带宽打满等就大概率是服务器资源问题,就提单子给运维同学。

如果 CPU、内存、带宽等都达标,测试发现还有性能问题,那就是开发问题,就要指派给开发去处理。

还可以通过工具如 Arthas 定位代码链路问题,总之到这个段位水就比较深了,常常需要跟开发同学配合一起发现解决问题。

6、性能测试平台开发
到这一阶段基本属于性能测试中的大佬了,一方面需要懂性能测试的原理,另一方面需要会前后端开发技术栈,例如:前端 Vue,后端 SpringBoot、MyBatis 等。专门做全链路压测平台的一般都是互联网大公司…

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有经历挫折与磨难,才能揭开成功之门;只有坚持不懈的努力,才能创造辉煌的未来;让每一天都成为你追逐梦想的理由,奋斗吧,胜利就在前方!

只有奋斗拼搏,才能让生活的每一天都充满希望与可能。不要在困难面前退缩,勇往直前,相信自己的力量,坚持不懈地追求梦想,终将收获属于自己的辉煌与成功。

只有不断超越自我,才能让梦想在现实中绽放;只有努力奋斗,才能书写人生的辉煌篇章;只有坚持不懈,才能走向成功的彼岸。相信自己,用汗水铸就未来!

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

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

相关文章

运输层概述、端口号、复用与分用

1.运输层概述、端口号、复用与分用 笔记来源: 湖科大教书匠:运输层概述 湖科大教书匠:运输层端口号、复用与分用的概念 声明:该学习笔记来自湖科大教书匠,笔记仅做学习参考 1.1 运输层概述 计算机网络体系结构中的物…

交流220v转12v给单片机供电芯片

客户的应用需求:AD220V转DC12V 体积要非常小,单片机使用,单片机设备12V 电流很小不会超过100mA? 【AD220V转DC12V体积小的问题】 问题:我需要将交流电(220V)转换为直流电(12V&…

fastadmin后台 点击开关 弹出 你没有权限访问 角色组里面添加了,除了超级管理员其他的只要用状态开关就,没权限 解决办法

首发地址:https://ask.fastadmin.net/question/22863.html 然后再对应的后台控制器里面 加入 protected $multiFields 你设计数据库的开关字段; //注意是字段,不是填写: multi 示例: protected $multiFields show_switch; 也可以多个 p…

QWebEngine应用(一)

前言 很早以前就听说过Qt也能显示网页,一直没有机会真正研究应用起来,刚好最近项目中使用到了QWebEngine内嵌浏览器打开第三方的网站,使用的Qt版本为5.15,踩了不少的坑,这里做个总结。 QWebEngine架构 Qt WebEngine…

亚马逊云科技连续12年被评为“领导者”,用实力赋能企业出海

从人类发展历史上看,无论是刳木为舟,剡木为楫,还是郑和下西洋,亦或是欧洲大航海时代,人类对于出海探索这件事就从未停止。而在如今的时代,相似的故事依旧在上演。过去的十年,是中国互联网最为繁…

多路码流RTSP传输并对每路视频图像叠加OSD信息

一、先保证多路视频码流保存到本地,并且分辨率正确 注意点: 1.VPSS分两路通道 2.VENC分两路通道 if(s32ChnNum>1) {s32Ret SAMPLE_COMM_SYS_GetPicSize(gs_enNorm, enSize[0], &stSize);if (HI_SUCCESS ! s32Ret){SAMPLE_PRT("SAMPLE_COM…

下载网页视频的软件 下载网页视频的方法

视频已然成为一种非常有力的展示方式,我们想要下载视频内容,需要用到下载网页视频的软件,如今这类软件有很多。下载网页视频的方法,也因为使用的软件不同,方法各异。下面我们就来看详细介绍吧! 一、下载网…

【DC-DC】AP9196 DC-DC升压恒流电源管理芯片 升降压3-12V输出9V LED驱动方案

1,方案;升降压3-12V输出9V LED驱动方案BOM表 ​ 2,方案;升降压3-12V输出9V LED驱动方案线路图 3,产品说明 AP9196 是一系列外围电路简洁的宽调光比升压调光恒流驱动器,适用于 3-40V 输入电压范围的 LED照明领域。AP9196 采用我…

Leveldb代码阅读笔记

整体架构 如上图,leveldb的数据存储在内存以及磁盘上,其中: memtable:存储在内存中的数据,使用skiplist实现。immutable memtable:与memtable一样,只不过这个memtable不能再进行修改&#xff0…

使用模拟电路制造CPU——从硬件到软件的设计

计算机中蕴藏的哲理 最基本的思想是:通过基本电路的接线,确立输入-输出规则,类似函数的入参和返回值,便构成一个功能电路单元。单元套单元组成新单元,如此往复。“一生二,二生三,三生万物”。这…

盒马上市,即时零售最大“变量”

若盒马年内成功上市,等待完成下一轮融资的朴朴超市的处境恐将更加尴尬,另区域性中小商超或将迎来新一轮倒闭潮。 疫情过后,国内消费市场一直处于走弱态势。据商务大数据监测,今年端午假期,部分地区零售和餐饮数据远不及…

数据结构记录和leetcode刷题记录

背景 时间复杂度 算法的执行时间与输入值之间的关系。 参考:算法中七种常见的时间复杂度 - 掘金 参考视频:1. 算法的时间复杂度_哔哩哔哩_bilibili 空间复杂度 算法的存储空间与输入值之间的关系。 参考:2. 算法的空间复杂度_哔哩哔哩_bili…

【花雕】全国青少年机器人技术一级考试备考实操搭建手册1

目录 1、秋千 2、跷跷板 3、搅拌器 4、奇怪的钟 5、起重机 6、烤肉架 7、手摇风扇 8、履带车 9、直升机 10、后轮驱动车 秋千 (闽南语、广东话称千秋)是一种座椅,常见于儿童游乐场、杂技演员马戏团或门廊上放松的地方。 秋千的座位通常悬挂在…

蘑菇街被裁后,成功入职字节跳动的那一天,我哭了...

前言 先说一下个人情况,18 届应届生,通过校招进入到了蘑菇街,然后一待就待了差不多 2 年多的时间,可惜的是今年 4 月份受疫情影响遇到了大裁员,而他也是其中一员。好在早有预感,提前做了准备,之…

C++primer(第五版)第九章(顺序容器)

简单来说存入顺序和取出顺序一致的容器被称为顺序容器. 9.1顺序容器概述 vector和string将元素保存在连续的内存空间中,所以每次添加或删除元素都会非常耗时,但是通过下标计算内存地址来读取元素是非常快的. list和forward_list为链表,添加或删除元素的操作很快,但是不支持元…

QT——使用QListWidget、QListWidgetItem、QWidget实现自定义管理列表

作者:小 琛 欢迎转载,请标明出处 文章目录 需求场景思路描述Qt模块QListWidgetQListWidgetItem自定义QWidget配合QListWidget 例子:实现一个json文件管理窗口 需求场景 因工作需要,开发一个文件管理窗口,要让使用者可…

蓝牙通过串口获取电量!!!

问题:样机短时间出现电池没电情况(异常放电),经过检查,蓝牙在休眠是会有2.1V左右的电压,导致电池电量消耗过快。机器由于有语音功能,播放语音时需要很大电流,给机器装的是两节南孚电…

UE4/5数字人Metahuman与iClone的使用【数字人与动画】

iClone软件下载 iClone 8 是一款由Reallusion开发的3D动画软件,接下来就不多说了,首先进入官网,我们可以看到两个下载的东西,左边是下面这个软件,直接下载即可,右边的我们在后面下载: iClone插…

将DES解密用Python实现

将此段代码用python实现 var CryptoJS require("crypto-js"); var ciphertext "1MpdxK203ZrnyxuJRrYatKSBxHUIi1TSdQF2BQKXOG54plwfaB2GA"; var key CryptoJS.enc.Utf8.parse("11"); var parsedCiphertext CryptoJS.enc.Base64.parse(ciphe…

6月VR大数据:Quest 2下跌2个百分点,SteamVR统计加入大朋E4

Hello大家好,每月一期的VR内容/硬件大数据统计又和大家见面了。 想了解VR软硬件行情么?关注这里就对了。我们会统计Steam平台的用户及内容等数据,每月初准时为你推送,不要错过喔! 本数据报告包含:Steam VR硬…