13年老鸟整理,性能测试技术知识体系总结,从零开始打通...

目录:导读

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


前言

从个人的实践经验来说,我认为性能测试技术体系的构建,大致要分为四个阶段,分别是:日常化、自动化、工具化和平台化。

1、日常化

很多做性能测试的同学,在工作中面临的最大问题是性能测试无法成为日常测试工作的一部分,即性能测试作为质量保障的一种手段,却无法融入正常的需求版本迭代流程中。

最常见的例子就是一句话需求,比如:这几个接口压测一下,出一份报告;或者线上出了性能问题,才火急火燎的找测试同学,对系统进行压测,再排查定位问题。

要构建性能测试的技术体系,最基础也是最核心的部分,就是将性能测试融入软件研发交付流程中,即但凡涉及到系统迭代或者变更,都需要经过评估甚至性能测试,才能发布上线。

否则性能测试只会成为不重要的救火队员角色,疲于奔命却没时间去沉淀,更不要说构建测试体系了。

2、自动化

在传统的性能测试方法中,每次性能测试(需求迭代或项目维度)都需要重新评估需求,然后准备对应的测试数据和压测脚本,在我看来除了增加多余的工作量,实际的作用和价值并不明显。

正常情况下,大部分公司的业务和系统不会有高频次大范围的变更,即比较核心的业务链路和场景相对是稳定的。

在这种情况下,对核心业务场景(比如P0+P1场景)进行性能测试全量覆盖,是一种比较可行的方式。

通过自动化的执行方式,不仅能提高验证效率,还可以大大缩短信息反馈耗时,即快速得到迭代后系统性能变化的结果,做到快速评估和反馈,这样也有助于帮助研发同学快速修复,提高线上交付效率。

3、工具化

性能测试体系的构建,除了压测工具之外,还需要丰富和完善其他方面的工具。

比如:
造数工具:性能测试最耗时的部分应该是准备阶段,其中最麻烦的应该是准备测试数据并验证其可用性,因此提升造数据的效率是工具化很重要的一部分。

常见的造数方法有线上数据导出脱敏、调用API生成、录制回放以及通过生成器模式进行封装。

故障案例库:其实导致出现性能问题的根因总结下来就那么几种,只不过实际表现为多种方式,比较好的方式是对日常工作中发现的性能问题和故障进行汇总分析,通过FMECA的方式搭建故障案例库,进而形成研发和测试规范。

监控分析工具:影响性能的因素是多种多样的,除了常见的基础资源监控,还应该考虑丰富链路追踪、堆栈分析、内存分析、线程分析以及缓存和数据库监控等各个方面的工具建设。

4、平台化

当性能测试融入到日常的软件研发迭代流程中,并且通过自动化的方式覆盖了大部分场景后,接下来就需要考虑将流程+执行+工具+案例融合为平台,将性能测试过程管控起来,通过平台对外提供标准完善的功能。

这个时候性能测试就可以视作是一种服务,为整个技术团队提供服务稳定性保障和技术效率的服务。

当然,落地平台化有几点需要考虑,比如团队规模大小、需求迭代频次、业务和系统复杂性以及技术团队本身的基础技术设施的建设程度。

如果团队规模较小,且技术团队的基础设施建设一般,平台化就不用考虑了。

构建性能测试技术体系的最大制约,就是无法直观体现自己的价值,且建设过程耗时较久,对技术的深度和广度要求也比较高。

个人认为,如果要从零开始构建性能测试技术体系,单纯的技术能力是一方面,团队的执行力和想办法让测试结果获得认同,也是很关键的因素。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

在风雨中成长,在挑战中磨砺,只有不断追求进步,才能绽放内心的力量,创造属于自己的辉煌人生。

困难不是放弃的理由,挫折不是退缩的借口,只要心怀坚持与勇气,奋斗的道路上,必将收获属于你的辉煌与成功。

勇往直前,脚踏实地,梦想是奋斗的起点,努力是成功的阶梯,不停追求,才能书写属于自己的壮丽篇章。

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

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

相关文章

多线程案例及常用模式

一.单例模式——经典的设计模式 什么是单例模式:就是规定一个类只能创建一个对象,也就是保证某个类在程序中只存在唯一一个实例,而不会创建出多个实例 根据对象创建的时机不同,可以分为饿汉模式和懒汉模式 1.饿汉模式 在类加载…

Cloudflare Tunnel:无惧DDOS_随时随地安全访问局域网Web应用

利用此方法,您可以在局域网(尤其是NAS)上搭建的Web应用支持公网访问,成本低而且操作简单! 如果这是博客的话,它还可以有效防止DDOS攻击! 准备工作: 需要一个域名(推荐N…

【微服务学习笔记(二)】Docker、RabbitMQ、SpringAMQP、Elasticseach

【微服务学习笔记(二)】Docker、RabbitMQ、SpringAMQP、Elasticseach Docker镜像和容器安装基础命令Dockerfile自定义镜像 MQ(服务异步通讯)RabbitMQ安装使用消息模型 SpringAMQP消息发送消息接收Work Queue 工作队列发布订阅Fano…

Python中的运算符介绍

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Python爬虫、Web开发、 计算机视觉、机器学习、神经网络以及人工智能…

VR全景在智慧园区中的应用

VR全景如今以及广泛的应用于生产制造业、零售、展厅、房产等领域,如今720云VR全景更是在智慧园区的建设中,以其独特的优势,发挥着越来越重要的作用。VR全景作为打造智慧园区的重要角色和呈现方式已经受到了越来越多智慧园区企业的选择和应用。…

vue3 实现一个tab切换组件

一. 效果图 二. 代码 文件 WqTab.vue: <template><div ref"wqTabs" class"wq-tab"><template v-for"tab in tabs" :key"tab"><div class"tab-item" :class"{ ac: tabActive tab.key }" c…

网络地址转换协议NAT

网络地址转换协议NAT NAT的定义 NAT&#xff08;Network Address Translation&#xff0c;网络地址转换&#xff09;是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址&#xff08;即仅在本专用网内使用的专用地址&#xff09;&#xff0c;但现在又想和因…

浏览器缓存 四种缓存分类 两种缓存类型

浏览器缓存 本文主要包含以下内容&#xff1a; 什么是浏览器缓存按照缓存位置分类 Service WorkerMemory CacheDisk CachePush Cache 按照缓存类型分类 强制缓存协商缓存 缓存读取规则浏览器行为 什么是浏览器缓存 在正式开始讲解浏览器缓存之前&#xff0c;我们先来回顾一…

Python 的练手项目有哪些值得推荐?

Python 是一种强大的编程语言&#xff0c;有许多值得推荐的练手项目。以下是一些例子&#xff1a; 数据分析&#xff1a;利用 Python 的数据分析库&#xff08;如 pandas 和 NumPy&#xff09;处理和分析数据。你可以尝试对数据进行清洗、可视化&#xff0c;或者构建简单的预测…

韶音运动耳机好用吗?南卡、墨觉、韶音骨传导耳机三款全面评测

音乐是我生活中不可或缺的调味品&#xff0c;它伴随着我度过了无数个清晨的慢跑以及夜晚的悠闲散步。但是传统入耳式耳机总是让我感到不适&#xff0c;虽然它有着不错的降噪能力&#xff0c;但是很容易忽视周围环境的安全&#xff0c;而且运动的时候老容易掉。然后我遇到了骨传…

个人博客网站前端页面的实现

博客网站前端页面的实现 博客登录页 相关代码 login.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><…

基于SpringBoot和PotsGIS的各省地震震发可视化分析

目录 前言 一、后台接口研发 1、控制层实现 2、Mapper访问层 3、空间查询分析 二、前端可视化展示 1、主体地图定义 2、行政区划列表定义 3、行政区划定位 三、数据分析 1、北京市 2、广东省 3、青海省 4、湖南省 总结 前言 在之前的博文中&#xff0c;我们…

如何在Linux使用Docker部署Firefox并实现无公网IP访问本地浏览器

文章目录 1. 部署Firefox2. 本地访问Firefox3. Linux安装Cpolar4. 配置Firefox公网地址5. 远程访问Firefox6. 固定Firefox公网地址7. 固定地址访问Firefox Firefox是一款免费开源的网页浏览器&#xff0c;由Mozilla基金会开发和维护。它是第一个成功挑战微软Internet Explorer浏…

【Golang】golang使用三方SDK操作容器指南

【Golang】golang使用三方SDK操作容器指南 大家好 我是寸铁&#x1f44a; 总结了一篇 golang使用三方SDK操作容器✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 这应该是目前全网最全golang使用三方SDK操作容器的指南了✌️ CreateConfig 主要是创建容器的配置信息&#xff0c;常…

【VS Code插件开发】自定义指令实现 git 命令 (九)

&#x1f431; 个人主页&#xff1a;不叫猫先生&#xff0c;公众号&#xff1a;前端舵手 &#x1f64b;‍♂️ 作者简介&#xff1a;前端领域优质作者、阿里云专家博主&#xff0c;共同学习共同进步&#xff0c;一起加油呀&#xff01; ✨优质专栏&#xff1a;VS Code插件开发极…

什么是VR虚拟现实体验店|VR主题馆加盟|元宇宙文化旅游

VR虚拟现实体验店是一种提供虚拟现实技术体验的场所。在这样的店铺里&#xff0c;顾客可以通过专业的设备和技术&#xff0c;体验虚拟现实技术带来的沉浸式感觉。 通常&#xff0c;这些商店提供一系列VR体验&#xff0c;包括互动游戏、沉浸式模拟、虚拟旅游和其他VR内容。客户可…

【linux】02 :Linux基础命令

1.掌握linux系统的目录结构 linux只有一个顶级目录&#xff0c;称之为&#xff1a;根目录。 windows系统有多个顶级目录&#xff0c;即各个盘符。 2.linux路径的描述方式 /在Linux中的表示&#xff1a;出现在开头表示根目录&#xff0c;出现在后面表示层级关系。 3.什么是命…

Early if-conversion - 优化阅读笔记

Early if-conversion 用于对于没有很多可预测指令的乱序CPU。目标是消除可能误预测的条件分支。 来自分支两侧的指令都会被推测性地执行&#xff0c;并使用 cmov 指令选择结果。 // SSAIfConv 类在确定可能的情况下&#xff0c;对SSA形式的机器码执行if-conversion。该类不包…

揭秘建筑类中级职称申报:是否能越过初级直接评审?

揭秘建筑类中级职称申报&#xff1a;是否能越过初级直接评审&#xff1f; 很多人想知道越过初级直接评审建筑类中级职称可以不&#xff1f; 关于越过初级职称/助理工程师直接申报建筑类中级职称&#xff0c;原则上是不行的&#xff0c;实际上分情况而定。如果你有二级建造师也…

前端页面兼容pc和手机端设置,等比例缩小

html页面 <meta name"viewport" content"widthdevice-width, initial-scale0, user-scalableyes,shrink-to-fitno">vue 在public里面的index.html里面设置 <meta name"viewport" content"widthdevice-width,initial-scale1.0,use…