【软件测试】大厂测试开发你真的了解吗?测试开发养成记......

news2024/11/14 20:36:22

目录:导读

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


前言

在一些大公司里,会设立测试开发岗位,薪资比常规的测试要高,甚至有一些会跟开发岗位拿到的差不多。

那么这个测试开发岗位究竟是干什么的呢?

实际上也是软件开发工程师,但是专门针对测试领域,通过编写代码去帮助开发工程师测试他们的业务代码。

所以测试开发一般是不参与公司产品代码开发的,而是去测试产品代码,发现 bug,保障质量。

但这么说比较简单,实际上每个公司对这个岗位的定位不完全一样。

有些公司,测试开发偏重于开发工作,他们开发测试工具、测试平台、测试框架等,提供业务测试人员去使用,帮助整个测试团队提高测试效率和完成人工无法覆盖到的测试面。但他们较少参与到测试中来,不怎么去写测试用例,所以如果具备开发能力就能胜任。

有些公司,测试开发偏重于测试工作,他们要参与到业务中,针对接口,API 编写用例代码去测试。这要求他们具备测试能力,知道如何设计用例,并熟悉业务产品系统的特点。

在我看来,如果某个测试开发的工作内容特别偏向其中一块对其发展都不太好。

如果多数时间的工作内容属于第一种,也就是偏重工具,平台开发这一块,那么纯开发也是能做的,这样对比开发就没有什么优势。因为测试产品都是对内使用,很多功能优先考虑实现出来,能够快速投入交付,而不会像产品功能那样,要考虑 UI、性能、稳定性、安全性等等更加复杂的环境,这样对开发能力提高有限,天花板就会很低。

如果多数时间的工作内容属于第二种,偏重测试业务的话,过多测试方面的工作,会让其开发能力得不到很好的发展。因为接口,API 分析及用例设计也是很消耗精力的事,更多的情况则是借助现成的框架去开发用例代码,执行代码,提交 bug 和维护它们。缺乏更深入的开发能力就会在面对更复杂,更底层的系统时没有很好的应对策略。

不过两种情况相比的话,第二种发展会更好一些,因为培养了测试能力,同时具备代码水平,可以往自动化测试方向平移。

因此作为测试开发,需要把自己的天花板设的更高,成为资深级的测试开发,就需要很好地兼备测试以及开发两种能力。

一保障测试体系下的开发能力。
理解移动端和 Web 端的热门自动化测试平台,测试框架技术,原理,要非常清楚它们的架构是如何设计的,用到了哪些开发技术。

熟悉移动端和 Web 端的热门框架,原理和用法。能够搭建开发一套 Web 服务(这对开发质量监控等平台是最基本的)。

其他的开发基础知识,编码等常规能力,在上面两类能达成的基础上就不会存在太大问题。

二保障测试体系下的测试能力。
测试讲究质量、效率、覆盖率等,所以对持续集成、持续交付、分层测试、mock 测试要理解和熟练。

一些专项领域,移动端的比如耗电量、流量检测、CPU 内存监测、流畅度、界面切换时间、内存泄漏检测等的测试方法要非常清晰;Web 端的并发,吞吐量监测,可用性监测等方法也要十分清楚。

对业务系统比如分布式,负载均衡等的测试方法也要掌握。

所以说,一个测试开发干得好,干到极致的时候,真的是比一个开发还要强。

在国外,大的软件公司的软件测试工程师通常都需要是非常资深的软件开发工程师才能够胜任的。因为挖掘漏洞这种活,需要工程师对系统有非常深入的认识。

国内的情况,由于竞争太过于激烈,小公司在测试上只能停留在界面 UI 的黑盒,也只有大公司对测试开发才有更大的需求,因而薪资待遇也更高。

测试开发这个岗位我其实非常看好,未来需要的人才是综合性人才,一个具备多种能力的软件工程师一定是更能适应软件行业发展的。但综合性意味着很难精通,所以对测试开发来说,向上突得更高意味着要付出更加巨大的精力。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

漫漫长路,是什么让他们走向成功?悄然岁月,是什么让他们创造了奇迹?是坚持,坚持,再坚持!如果不是坚持,历史长河就掀不起他们的波澜,成功就泯灭于最初的放弃。

功利之心,是人心疲惫的重要原因,老不断计较自己的得失,人生也就根本无平静而言。

当别人大声说你时,问问自己你是否害怕。不要害怕,不要退后,不要犹豫,只是在悲伤的时候去看看世界。问更多自己,您是否为自己的梦想尽了最大努力?

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

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

相关文章

2D图像处理:2D ShapingMatching_缩放_旋转_ICP_显示ROI

文章目录 调试结果参考调试说明问题0:并行运行问题问题1:模板+Mask大小问题问题2:组合缩放和旋转问题3:可以直接将计算边缘的代码删除问题4:如何在原始图像上显示匹配到的ROI问题5:计算的原始旋转角度不需要判断,直接可以在ICP中使用问题6:绘制坐标轴问题7:绘制ROI调试…

Nginx - 深入理解nginx的处理请求、进程关系和配置文件重载

概述 Nginx的系统学习整理的第三篇博客,主要介绍nginx的应用场景和架构基础,以便更好的理解,再生产环境中进行性能调优。 Nginx的三个主要应用场景 1.静态资源服务,通过本地文件系统提供服务 2.反向代理服务,强大的性…

AOSP Android11系统源码和内核源码

推荐阅读 商务合作 安全产品 安全服务 2023年招聘 安全培训服务 软件定制服务 Android系统定制服务 安全/软件开发的课程列表 1.下载repo工具 (1).创建bin,并加入到PATH中 mkdir ~/binPATH~/bin:$PATH (2).安装依赖库 sudo apt-get install bison g-mult…

leetcode练习一:数组(二分查找、双指针、滑动窗口)

文章目录一、 数组理论基础二、 二分查找2.1 解题思路2.2 练习题2.2.1 二分查找(题704)2.2.2 搜索插入位置(题35)2.2.3 查找排序数组元素起止位置(题34)2.2.4 有效的完全平方数(题367)2.2.5 x 的平方根&…

MySQL——单表、多表查询

一、单表查询 素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等 CREATE TABLE worker ( 部门号 int(11) NOT NULL, 职工号 int(11) NOT NULL, 工作时间 date NOT NULL, 工资 float(8,2) NOT NULL, 政治面貌 varcha…

Mask-RCNN(2) : 代码使用

Mask- RCNN原理及网络详解,参见:Mask- RCNN网络详解 1. Mask-RCNN代码使用 该项目参考自pytorch官方torchvision模块中的源码(使用pycocotools处略有不同) 环境配置 Python3.6/3.7/3.8Pytorch1.10或以上pycocotools(Linux:pip install pycocotools; …

直面原理:5 张图彻底了解 Android TextToSpeech 机制

ChatGPT 如此火爆,但它的强悍在于 NLU(自然语言理解)、DM(对话管理)和 NLG (自然语言生成)这三块,而 Recognition 识别和 TTS 播报这两块是缺失的。假使你的 App 接入了 ChatGPT&…

rar压缩文件暴力破解

1. 简介 rar 压缩文件资源又不少是被加密的,密码通常也比较简单,我们可以通过暴力破解的方式来获取,通常耗时也比较小 程序地址:rar压缩密码暴力破解程序 2. 使用说明 2.1 基本语法 rar-bruteforce-crack.py [--start START] …

【visio使用技巧】图片导出pdf时去掉多余空白

问题 在visio导出pdf格式的图片时,往往会存在多余的白边,如下图所示: 解决方法 依次点击:菜单栏→文件→选项→自定义功能区→勾选“开发工具”→确定。 依次点击菜单栏→开发工具→显示ShapeSheet→页→Print Properties→将…

Ros中如何给UR5配置自定义工具 | 在Rviz中给UR5机器人装载定义工具 | UR5配置自定义末端执行器

前言 在学习和项目研究的过程中,我需要在Ur5e上装上工具,以对现实场景进行仿真。网上会有一些装载/配置现成的夹爪,例如Robotiq等。但和我们装载自定义工具的场景还有些差异,因此写一篇博客记录,可能有偏差。如果有问…

宝塔面板轻量云服务器部署spring boot java后端、vite vue3前端、nginx。

环境 初始时宝塔面板推荐应用安装选择 根据开发或者测试。选择安装配置,等待两个安装任务完成。 niginxmysql 安装jdk 显示jdk列表 yum -y list java* 安装指定版本 yum install -y java-1.8.0-openjdk.x86_64 默认安装到 usr/lib/jvm/ ,无需再配置…

干货 | 简单了解运算放大器...

运算放大器发明至今已有数十年的历史,从最早的真空管演变为如今的集成电路,它在不同的电子产品中一直发挥着举足轻重的作用。而现如今信息家电、手机、PDA、网络等新兴应用的兴起更是将运算放大器推向了一个新的高度。01 运算放大器简述运算放大器&#…

Linux环境变量讲解

目录 环境变量 alias命令 type命令 变量分类 Linux最主要的全局环境变量 环境变量 变量是计算机系统用于保存可变数值的数据类型 在Linux中,一般变量都是大写,命令是小写 在Linux中,变量直接使用,不需要定义(更快…

Spring框架自定义实现IOC基础功能/IDEA如何手动实现IOC功能

继续整理记录这段时间来的收获,详细代码可在我的Gitee仓库Java设计模式克隆下载学习使用! 7.4 自定义Spring IOC 创建新模块,结构如图![[Pasted image 20230210173222.png]] 7.4.1 定义bean相关POJO类 7.4.1.1 定义propertyValue类 /** …

Linux--POSIX信号量--基于环形队列的生产消费模型-0208

1. 什么是信号量 共享资源由于原子性的原则,任何时刻都只有一个执行流在进行访问。表现为互斥,也就代表共享资源起始是被当做整体来访问的。 那如果有一个共享资源,不当成一个整体,让不同的执行流访问不同的资源区域代码&#x…

67 自注意力【动手学深度学习v2】

67 自注意力【动手学深度学习v2】 深度学习学习笔记 学习视频:https://www.bilibili.com/video/BV19o4y1m7mo/?spm_id_fromautoNext&vd_source75dce036dc8244310435eaf03de4e330 给定长为n 的序列,每个xi为长为d的向量,自注意力将xi 既当…

Java中的异常处理

1.概述 在 Java 中,所有的异常都有一个共同的祖先java.lang包中的 Throwable类。 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 比如说,你的代码少了一个分号,那么运行出来结果…

二叉树和堆的讲解和实现(图解+代码/C语言)

今天和大家分享的是二叉树的实现,关于遍历二叉树部分均采用递归的方式实现,最后附上部分OJ题供大家练习。 文章目录一、树的概念及结构1.1 树的概念1.2 树的相关概念1.3 树的表示二、二叉树的概念及结构2.1 概念2.2 二叉树的性质2.3 二叉树的存储结构2.…

proxy代理与reflect反射

proxy代理与reflect 在这之前插入一个知识点arguments,每个函数里面都有一个arguments,执行时候不传默认是所有参数,如果传了就是按顺序匹配,箭头函数没有 代理函数 代理对象也就是生成一个替身,然后这个替身处理一切的…

【深度学习】认识神经网络

上一章——过拟合与正则化 从本章开始我们将学习深度学习的内容:包括神经网络和决策树等高级算法 文章目录神经网络的生物学原理神经网络的算法结构案例——图像感知神经网络的前向传播神经网络的生物学原理 在最开始,人们想要构建一个能够模拟生物大脑…