做测试还是测试开发,选职业要慎重!

【软件测试面试突击班】2024吃透软件测试面试最全八股文攻略教程,一周学完让你面试通过率提高90%!(自动化测试)

突然发现好像挺多人想投测开和测试的,很多人面试的时候也会被问到这几个职位的区别,然后有测试经历或者说有系统学习过测试的人蛮少的,楼主去年投这个岗位的时候也很迷茫,中间在网上请教过好几位大佬and前辈,这里做一个小小的总结。

主要内容来自于和大佬们的谈话以及《How Google Test Software》这本书,(如果有不准确的地方大家可以评论谈论),也希望和我当时一样迷茫的朋友们能有所收获。

首先明确一下简称吧,毕竟这几个名字太像了,中文容易搞混。软件开发工程师(SWE)、测试开发工程师(SWT)、测试工程师(TE)。

区别

SWE也需要做测试的工作,SWE需要编写测试驱动的设计、单元测试、参与构建各种大小规模的测试等(简单说开发其实需要对自己的代码负责,并不是很多人理解的代码写出来扔给SWT和TE去测)。

SWT也是一个开发者角色,只是工作重心在可测试性和通用测试基础框架上。(SWT也要会写代码,代码要求并不比开发低,他们写代码的聚焦点是测试,PS:以字节为例,大部分的测开是技术序列,代码要求和开发一致,薪资也一致(当时宣讲会听的))。

SWE和SWT不是敌人(不是一个生产BUG,一个挑刺的),更多是合作伙伴,SET写代码的目的是可以让SWE测试自己的功能。

TE把用户放在第一位来思考,组织整体质量的实践,分析解释测试运行结果,驱动测试执行,构建端到端的自动化测试。(SWT和TE工作有很多交织,SWT更多是要构建测试框架,编写测试工具。TE更多是脚本,测试用例,以及点点点…

以字节为例,TE对代码的要求会相对较低,但是也需要写代码(宣讲会听的))。

国内很多大厂的测开其实做的是测试的活,也要很多测开干的就是开发的活,这些都取决于你的组,不是一概而论的。

SWT和TE对于知识广度的要求会更高,SWE你也许只需要在一个角度仔细钻研就可以了,SWT和TE则需要你是“万能博士”,正如推荐的那本书的作者所说,招一个好的SWT和TE往往比SWE还难。

SWT的天花板也许相对SWE会低(毕竟国内的事实是SWT和TE做主程的很少),但是SWT越来越受重视是不争的事实,同时SWT的平均待遇不低。

特征

最后选择SWT还是TE引用推荐的那本书里的几个标准(节选)(这也是交流的几个大佬也反复的提到是否真的喜欢测试类的工作)。

你可能是一个SET,如果你有以下的特征:

1、你编程时,会内疚的想到还有很多单元测试用例没有完成。随后,你又会考虑各种生成测试代码和验证的方法,而不是手工 编写每个单元测试用例。

2、看到编译器警告时会焦虑不安。

3、当被要求测试一个产品时,你会打开源码,开始思考需要模拟的东西。

4、你心目中领导力是:建立一个伟大的底层单元测试框架,供所有人来使用,或者在测试服务器上每天数百万次的运行。

5、当被问到产品是否可以上线时,你可能会说:所有的测试都通过了。

你可能是一个TE,如果你有以下的特征:

1、你能在已有的代码段中快速找到错误,迅速理解软件失效的模式,但是并不关心从头编写代码或者做修改。

2、你更愿意到一些开源网站上去阅读别人的源码。

3、在现实世界里你很愿意和其他人交流。

4、你心中的领导力是:扶助其他工程师的创意,用更高数量级规模的应用场景来挑战他们的创意。

6、当被问到产品是否可以上线时,你可能会说:我觉得可以了。

总结

综上(大概率是这样的,大家别钻牛角尖,没有优劣之说):

  • 代码能力要求:SWE=SWT>TE

  • 知识广度要求:SWT/TE>SWE

  • 沟通能力要求:TE>SWT>SWE

  • 知识深度要求:SWE>SWT>TE

  • 薪资待遇:SWE=SWT>TE(纯粹意义的开发、测开和测试,当然国内很多公司自己都搞不清这几个Title区别)

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们 如果需要可以自行免费领取 【保证100%免费】
在这里插 入图片描述

软件测试面试文档

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

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

每日五道java面试题之mysql数据库篇(三)

目录: 第一题. 百万级别或以上的数据如何删除?第二题. 前缀索引第三题. 什么是最左前缀原则?什么是最左匹配原则?第四题. B树和B树的区别第五题. 使用B树和B树好处 第一题. 百万级别或以上的数据如何删除? 关于索引:…

【设计】设计一个web版的数据库管理平台后端精要

需求 springboot设计开发一个系统,在这个系统的数据库表中存放着2000个数据库实例,有MySQL、Oracle、sql server3种数据库类型,用户可以在页面上选择不同的实例,连接这些实例上的数据库,来执行业务sql 实现 Service…

光伏储能MPPT控制系统如何进行浪涌静电保护?

MPPT(Maximum Power Point Tracking)是太阳能电池板光伏发电系统中重要的一种控制技术。MPPT控制器能够实时侦测太阳能板的发电电压,并追踪最高电压电流值(VI),使系统以最大功率输出对蓄电池充电&#xff0…

06 - ip route和route -n的区别

1 ip route和route -n的区别 ip route 和 route -n 都是用于查看和管理Linux系统路由表的命令。但下面是它们的区别: ip route:是Linux系统中的现代工具,它属于iproute2套件;它提供了更多的选项,可以更精确地控制路由表…

使用git的小笔记

平时工作中使用git存储项目代码, 常用的命令 拉取仓库代码 git clone http://100.100.100.100:9080/my_test/test.git 拉取到以后, 先切换到自己的分支 git checkout my_name 一顿魔改代码 然后 add 新增的文件或者修改的文件 git add * 然后提交 并写…

【go从入门到精通】什么是go?为什么要选择go?

go的出生: go语言(或Golang)是Google开发的开源编程语言,诞生于2006年1月2日下午15点4分5秒,于2009年11月开源,2012年发布go稳定版。Go语言在多核并发上拥有原生的设计优势,Go语言从底层原生支持…

拦截大语言模型API调用 无需深究文档源码

背景众多库致力于通过自动重构或创建提示符来优化大语言模型的输出。这些建库宣称能够使大语言模型的输出更加: 安全(例如:安全护栏) 可预测(例如:智能指导) 结构化(例如:指令生成器) 鲁棒(例如:语言链) … 或者针…

如何在 Windows 上安装 ONLYOFFICE 文档 8.0

使用社区版,您可以在本地服务器上安装 ONLYOFFICE 文档,并将在线编辑器与 ONLYOFFICE 协作平台或其他热门系统集成在一起。 ONLYOFFICE 文档是什么 ONLYOFFICE 文档是一个功能强大的文档编辑器,支持处理文本文档、电子表格、演示文稿、可填写…

FPGA时序约束与分析--数据到达路径和数据需求路径

文章目录 前言一、定义二、时序模型三、公式推导前言 时序约束的定义–设计者根据实际的系统功能,通过时序约束的方式提出时序要求; FPGA 编译工具根据设计者的时序要求,进行布局布线;编译完成后, FPGA 编译工具还需要针对布局布线的结果,套用特定的时序模型( FPGA 器件…

Andorid 13 修改默认音量区间、默认音量值

Andorid 13 默认音量区间是 [0,15] ,默认音量 5。 需求是:音量区间为 [0,100] ,默认音量 30 。 找到对应产品的 device.mk ,添加如下 #default volume PRODUCT_PROPERTY_OVERRIDES \ro.config.media_vol_steps100 \ro.config.…

无人机遥感在农林信息提取中的实现方法与GIS融合应用

在新一轮互联网信息技术大发展的现今,无人机、大数据、人工智能、物联网等新兴技术在各行各业都处于大爆发的前夜。为了将人工智能方法引入农业生产领域。首先在种植、养护等生产作业环节,逐步摆脱人力依赖;在施肥灌溉环节构建智慧节能系统&a…

openlayers 路线规划 高德坐标转wgs84 wgs84转天地图

在https://blog.csdn.net/qq_36287830/article/details/136321365改善而来的 需要进行坐标转换 不转换你画的线和实际数据是无法一一对应的 会出现偏移 关键代码 模拟请求后获取到数据场景 fetch(./a.json).then(async (res) > {//等待数据格式化为Jsonlet json await res.…

【C++第三课 - 类和对象中】构造函数、析构函数、拷贝构造函数

目录 类的6个默认成员函数构造函数自己写的构造函数默认生成的构造函数 析构函数概念特征 拷贝构造函数特征 运算符重载 、 >、 < 赋值重载Date类的完善构造函数的完善用复用 类的6个默认成员函数 默认成员函数&#xff1a;不写编译器也会默认生成一份 构造函数 自己…

利用Python批量替换文档中特定参数的数值

情况&#xff1a;有一份文档需要将其中252个不同值的"sza“替换为另外一组数据 &#xff1b; 其中&#xff0c;替换参数值.txt 的格式就是把要替换的数据粘贴到 txt中&#xff0c;成一列就可以了&#xff1b; PS&#xff1a;要是想改文本文档里的其他参数&#xff0c;把代…

UnityShader——09数学知识3

方阵 行与列数量相等的矩阵,n*n阶矩阵 对角矩阵 当对角线以外的矩阵内元素全为0&#xff0c;则称之为对角矩阵&#xff0c;对角矩阵的前提是必须是方阵 单位矩阵 对角线元素全为1&#xff0c;其余元素全为0&#xff0c;属于对角矩阵的一部分 矩阵和向量 把1 * n阶矩阵称…

多个地区地图可视化

1. 配置Json文件 1.1 获得每个省份的json数据 打开 阿里云数据可视化平台 主页。 在搜索框中输入所需省份。 将json文件下载到本地。 1.2 将各省份的json数据进行融合 打开 geojson.io 主页 点击 open&#xff0c;上传刚刚下载的 json 文件&#xff0c;对多个省份不断…

【CSP试题回顾】201409-1-相邻数对

CSP-201409-1-相邻数对 解题代码 #include <iostream> #include <vector> using namespace std;vector<int>arr; int num;int main() {ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n;cin >> n;for (int i 0; i < n; i){int t;…

设计模式总结(三)

上一篇总结了设计模式的创建型模式&#xff0c; 接下来总结一下设计模式的几种结构型模式。 1. 适配器模式 适配器模式允许将一个类的接口转换成客户端所期望的另一个接口。适配器模式通常用于以下情况&#xff1a; 当你需要使用一个已经存在的类&#xff0c;但是它的接口与你…

不愧是华为出来的,太厉害了...

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 实习去了博彦科技&#xff08;外包&#xff09;&#xff0c;做的…

设计模式笔记——建造者模式

设计模式&#xff08;创建型&#xff09;—— 建造者模式 这是一个学生类&#xff0c;它有四个属性&#xff0c;通过构造方法创建它的对象&#xff0c;我们需要填入四个参数&#xff0c;这就导致创建对象的代码有点长&#xff08;如果他有更多属性时&#xff0c;那会更加恐怖&…