软件测试工程师必备的技术能力

news2024/9/20 20:34:52

今年是我从事软件测试工作的第十年,从功能测试进阶到自动化测试,然后负责稳定性测试团队,进而兼任整个质量团队的技术专项治理,再到基础架构团队的测试专家角色,负责多个技术项目的产品/运营和质量保障工作。可以说绝大多数测试同学做过的工作我都做过,且积累了不少的经验。

有很多同学咨询过我,作为一名软件测试工程师,该如何提升自己的技术能力,构建自己的职场核心竞争力?特别是在当下这种裁员的大环境下,具备哪些技能才能在激烈的竞争中脱颖而出。

我个人认为,软件测试岗位作为一个技术岗位,其最核心的竞争力依然是他的技术能力,或者说依靠自己的技术解决工作中遇到的问题,支撑业务高效稳定的运行。

性能+中间件测试

以性能测试为例,只要掌握了正确的学习路径,性能测试入门进阶其实很简单。结合自己的经验,我个人认为,性能测试从入门实战到进阶,大概需要掌握这几方面的知识。参照下图:

图片

理论知识

任何一个技术领域,想要很好的在这个领域有所收获,一定要先掌握这个领域的理论知识,并且对相关的底层通用知识有所了解,否则在深入实践时会遇到很多认知上的偏差导致的结果南辕北辙。

基础理论知识不难学习,学习理论知识也不需要死记硬背,理论知识的作用在于让我们对性能测试有一个足够和全面的了解。而通用的底层知识,对性能测试同学来说,无非就是系统架构及常用的各种中间件。

业务知识

所有的测试活动开展,都是基于具体业务场景,因此在掌握基础理论知识后,开展性能测试的前提一定是要对业务场景有足够深的理解。

性能测试实施所涉及的业务知识,其实主要是三部分:业务场景模型+流量场景模型+数据场景模型。这三部分,构成了我们最终实施压测时候的压测模型。有了正确的压测模型,性能测试活动才能很好的开展。

工具组件

技术发展带来的优势就是出现了多种类型的工具,工具的作用是辅助人提高做事效率,性能测试过程中常见工具如下:

  • 压测工具:jmeter、gatling、locust、;

  • 监控工具:skywalking、jaeger、prometheus、grafana;

  • 分析工具:arthas、jconsole、visualvm、系统自带工具;

  • 服务组件:常见的如redis、kafka、ES、nacos、mybatis;

技术实践

性能测试是一个特别吃经验的活儿,需要大量的项目实践和踩坑,通过排查和定位分析优化,才能累积经验和案例。

在我看来,性能测试入门实践,最核心的需要掌握的技能主要有这几点:工具选型、工具或者插件开发、工具使用策略、性能监控分析以及瓶颈定位优化

体系建设

任何的技术实践,做到最后都是建立体系,体系是基于理论指导的适合自己的支撑业务目标达成的最佳技术实践。我个人认为对测试同学来说,体系建设主要包含这几点:

性能测试体系:从理论知识到技术实践,再到建立性能测试体系,这是性能测试人员入门到进阶所必须掌握的能力。

全链路压测体系:全链路压测是性能测试最核心也是更高阶的实践,建立全链路压测体系,可以更好的扩展性能测试同学的技术能力以及职场影响力,助力性能测试同学的职场成长和晋升。

全链路质量体系:无论性能测试还是全链路压测,都是质量保障的一部分。将性能测试的能力和体系,融入到质量保障体系中,最终达到全链路的质量保障,这样才能体现测试同学的岗位职责和价值。

自动化+测试开发技术

测试开发很重要的一点能力是通过已有的工具框架或者二次开发,快速解决测试过程遇到的各种block效率的问题,以及为技术团队提供一些更高效的研发测试工具,提高交付过程的效率,并保障测试过程的质量。

结合我在面试测试开发候选人时问的问题,以及我的工作经验,我将测试开发必须具备的能力进行了总结。我个人认为,具备如下几点能力,会是一个优秀的测试开发同学。

基础能力

基本的如需求分析、设计测试场景、编写测试case、发现和验证bug、沟通协调以及测试流程管理、质量把控等。

技术能力

测试开发需要借助已有的成熟工具或者框架,搭建内部的各种测试平台或者框架。常见的工具框架有:

  1. 单元测试框架如pytest;

  2. 单元测试覆盖率如jacoco;

  3. 自动化测试框架如airtest、selenium;

  4. 持续集成工具和框架,常见的如Git、Jenkins、Gitlab;

  5. 企业级性能测试技术和压测工具,常见的有Jmeter和beanshell;

沟通协调能力

沟通协调能力是一项软能力,但在今天的职场,却是一项非常重要的能力。

无论是平台工具推广落地,还是和其他团队的技术同学沟通配合,都需要大量的沟通协调。职场上沟通协调能力甚至比技术更重要。

产品设计能力

前面提到了测试开发需要去做一些平台或者工具落地,这里并不是说只要把工具用起来就OK了。因为团队里的同学技术能力各有不同,需要通过平台或者工具来规范流程,提供便捷的操作方式来提高效率。

而且每个公司的流程、业务特点导致了对平台的诉求各不一样。因此需要针对性的进行平台交互逻辑设计,甚至一人搞定原型图PRD前端后端开发各种事情。

画饼和落地能力

互联网行业打工人,几乎都逃不了KPI/OKR。做产出,推落地,拿结果,讲价值,哪个不需要画饼落地能力。

因此学会给领导画饼,并且把饼做出来,是很考验个人的一个技术活儿。这不仅关心到绩效的好坏,也是一个自我价值诉求的主动传递过程。

项目管理交付能力

最后一个能力,实际上是测试同学很重要的一个能力。

工作除了版本迭代,偶尔还有独立的技术项目要参与其中。很多互联网企业都会强调员工的主动性,向前一步,主动承担责任。这些基本逃不开跟进项目进度、把控项目质量、评估风险、协调资源甚至保证按时交付。

如何具备卓越的技术能力

现代职场对于岗位的职责划分粒度越来越细,对员工的综合能力要求不断增高,而卓越的技术能力才是支撑测试工程师在职场不断晋升的核心能力。

给我留言咨询如何提升技术的同学,我给的建议是如果自驱能力不足,技术基础比较差的话,找一个靠谱的技术训练营去快速提升技术,增强技术实践,是一个比较好的选择。

上期我们开办的性能测试+中间件测试训练营,获得了大量同学的认可,因此我们决定继续开办技术训练营。本期训练营在上期的基础上做了大量的内容优化,并且新增了测试开发实践和借助大模型人工智能提升工作效率的内容。课程内容大纲如下:

图片

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

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

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

相关文章

GNU 汇编语法基础

目录 一、引言 二、GNU 汇编基本结构 1.指令格式 2.注释 3. 段 三、寄存器和寻址方式 1.寄存器命名 2.寻址方式 四、指令集 1.数据传送指令 2.算术运算指令 3.逻辑运算指令 4.控制流指令 五、宏和函数 1.宏定义 2. 函数定义 六、总结 一、引言 在嵌入式系统…

南京观海微电子----VCC、 VDD、VSS、VEE 电压符号解释

一般在数据手册或者是说原理图中你会看到VCC、 VDD、VEE、VSS等不同的符号,那它们有什么区别,并且该怎么记住它们呢。 解释一: VCC:电源电压(双极器件);电源电压(74系列数字电路&a…

机会约束转化为确定性约束-- 样本均值法

当涉及到新能源消纳的机会约束规划时,我们需要深入理解其背后的原理和采用的方法。以下是对上文内容的更详细且更贴切的展开解释: 机会约束转化为确定性约束-- 样本均值法代码获取戳此处代码获取戳此处代码获取戳此处 新能源消纳的机会约束 新能源&…

计量校准中溯源方法会有哪些不足之处?

随着新型计量器具的不断涌现,现有的计量检定规程或计量校准规范已不能满足计量溯源的需要。特别是一体化大型设备所配备的传感器,如产业生产线之上的压力传感器、流量计、在线电导率仪、在线酸度计为代表的对传感器的检测目前多依据国家检定规程或计量校…

自制深度学习推理框架之表达式层的设计与实现

文章目录 一、表达式Expression二、词法解析2.1 词法定义2.2 词法解析 三、语法解析3.1 语法树的定义3.2 语法树构建3.3 语法树的转换(逆波兰式) 四、表达式层4.1 ExpressionLayer和ExpressionParser类4.2 表达式层的注册4.3 表达式层的输入处理4.4 表达式层的计算过程 五、计算…

分布式计算架构详解以及任务调度方式

信息技术领域重要分支—分布式计算。分布式计算通过将任务分配到多个物理的计算资源上进行处理,以来提高计算效率和资源利用率。今天主讲分布式计算架构的关键组成以及在云服务器背景下任务调度的不同方式,然后再综合来看这些调度策略是怎样适应云环境的…

使用 nuxi build-module 命令构建 Nuxt 模块

title: 使用 nuxi build-module 命令构建 Nuxt 模块 date: 2024/8/31 updated: 2024/8/31 author: cmdragon excerpt: nuxi build-module 命令是构建 Nuxt 模块的核心工具,它将你的模块打包成适合生产环境的格式。通过使用 --stub 选项,你可以在开发过程中加快模块构建速度…

Linux学习——ubuntu安装qt

安装VM的教程就不过多叙述了,这个简单,大家直接下载VM然后创建虚拟机就可以了,那我们今天来讲讲怎么在ubuntu中安装qtcreator. 如果我们的虚拟机是连接网络的,我们可以直接在Ubuntu上的浏览器中直接下载Qt,我们搜索Qt.io就可以&a…

【论文阅读】:Mamba YOLO SSMs-Based YOLO For Object Detection

摘要 Mamba架构已被证明可以有效地捕获长距离的地面依赖关系。 在深度学习技术的快速发展的推动下,YOLO系列为实时目标探测器设定了一个新的基准。在YOLO的基础上,不断探索再参数化、高效层聚合网络和无锚定技术的创新应用。为了进一步提高检测性能&am…

JSP详解使用

一、JSP概述 1.1 、JSP基础 1.1.1 、JSP简介 JSP全称是Java Server Page,它和Servlet一样,也是sun公司推出的一套开发动态web资源的技术,称为JSP/Servlet规范。JSP的本质其实就是一个Servlet。 1.1.2 、JSP和HTML以及Servlet的适用场景 …

阿尔茨海默病症识别+图像识别Python+人工智能+深度学习+TensorFlow+机器学习+卷积神经网络算法

一、介绍 阿尔茨海默病症识别。使用Python作为主要编程语言进行开发,基于深度学习等技术使用TensorFlow搭建ResNet50卷积神经网络算法,通过对病症图片4种数据集进行训练[‘轻度痴呆’, ‘中度痴呆’, ‘非痴呆’, ‘非常轻微的痴呆’],最终得…

SimpleTranslationAIAgent借助SiliconCloud API 构建自己的专属翻译助手

SimpleTranslationAIAgent介绍 SimpleTranslationAIAgent是一款基于C#与LLM通过简单对话即可实现文件到文件的翻译任务的简单应用,基于WPF与Semantic Kernel构建。 该软件是MIT协议完全开源免费的,但是调用LLM的API可能需要费用,但是没关系…

暴雪前总裁:主机永远不会死 索尼独占策略很成功

近年来,我们不断听到“主机即将消亡”的消息。然而,前暴雪娱乐总裁Mike Ybarra却认为,主机不会消亡,并暗讽微软正在推动一种有利于自己的叙事。 Ybarra在社交媒体X上表示,索尼的独占游戏策略是正确的,如果想…

AI写作神器!这四款免费工具让你文思泉涌

近年来,AI写作工具的火爆,让我们看到了AI技术在写作领域的巨大潜力。在这里,我给大家推荐四款好用的的AI写作工具,希望可以在大家的工作和学习等等场景中给到一定的帮助哦~ 一、笔灵ai写作 直通车(粘贴到浏览器打开&…

五、实现随机地图

一、创建场景 拖拽层级面板,删除摄像机 二、使用Addressable 给场景设置碰撞器 三、场景切换 场景中增加一个数据集合选择场景 四、字典 1、作用 根据列表中的RoomType查找数据 创建一个RoomDataSO的列表;创建一个字典,匹配房间类型和数据…

QT实现MP4播放器

1、实现功能 播放本地MP4文件。 1、可以将文件添加到列表中,双击列表中的歌曲进行播放。 2、实现视频的播放与暂停。 3、上一首和下一首的按钮选择功能。 4、视频名称的滚动显示。 5、当前的播放时长和总时长。 6、播放模式的选择:单曲循环、随机播…

2025年事业编考试证件照有什么要求和条件?

在事业编考试中,证件照作为考生身份识别的重要材料,其要求十分严格。一般而言,合格的事业编考试证件照需满足以下要求: 图片组合包活动地址:点击进入 一、事业编考试证件照要求 格式与大小:照片应为JPG或…

c++ STL 容器相关

容器库&#xff1a;容器库 - cppreference.com 一、std::priority_queue #include <queue> template<class T,class Container std::vector<T>,class Compare std::less<typename Container::value_type> > class priority_queue; 优先级队列是一…

学习资料销售平台小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;资料类型管理&#xff0c;学习资料管理&#xff0c;订单管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;学习资料&#xff0c;购物车&#xff0c;…

C/C++二维码生成库qrencode编译与使用

1 qrencode介绍 qrencode 是一个用于生成 QR 码&#xff08;Quick Response Code&#xff09;的工具和库。QR 码是一种矩阵条形码或二维条形码&#xff0c;能够在水平和垂直方向上存储信息。qrencode 支持多种编码方式&#xff0c;并能够生成不同复杂度和错误校正级别的 QR 码…