自从上次说测开和性能测试上半年薪资呈上升趋势,就有不少人对这些岗位感兴趣。
很多人面试的时候也会被问到这几个职位的区别,然后有测试经历或者说有系统学习过测试的人蛮少的
我在这里做一个小小的总结,希望迷茫中的朋友有所收获!
首先明确一下简称吧,毕竟这几个名字太像了,中文容易搞混。
软件开发工程师(SWE),测试开发工程师(SWT),测试工程师(TE)
回答标题中的问题,SWT还是TE,如何做职业选择?
引用《How Google Test Software》那本书里的几个标准(节选):
你可能是一个SWT,如果你有以下的特征:
a.你编程时,会内疚的想到还有很多单元测试用例没有完成。随后,你又会考虑各种生成测试代码和验证的方法,而不是手工 编写每个单元测试用例
b.看到编译器警告时会焦虑不安
c.当贝要求测试一个产品时,你会打开源码,开始思考需要模拟的东西
d.你心目中领导力是:建立一个伟大的底层单元测试框架,供所有人来使用,或者在测试服务器上每天数百万次的运行
e.当被问道产品是否可以上线时,你可能会说:所有的测试都通过了
你可能是一个TE,如果你有以下的特征:
a.你能在已有的代码段中快速找到错误,迅速理解软件失效的模式,但是并不关心从头编写代码或者做修改
b.你更愿意到一些开源网站上去阅读别人的源码
c.在现实世界里你很愿意和其他人交流
d.你心中的领导力是:扶助其他工程师的创意,用更高数量级规模的应用场景来挑战他们的创意
e.当被问道产品是否可以上线时,你可能会说:我觉得可以了
接下来咱们说说软件开发工程师(SWE),测试开发工程师(SWT),测试工程师(TE)之间的区别
1、SWE也需要做测试的工作,SWE需要编写测试驱动的设计、单元测试、参与构建各种大小规模的测试等(简单说开发其实需要对自己的代码负责,并不是很多人理解的代码写出来扔给SWT和TE去测)
2、SWT也是一个开发者角色,只是工作重心在可测试性和通用测试基础框架上。(SWT也要会写代码,代码要求并不比开发低,他们写代码的聚焦点是测试,PS:以字节为例,大部分的测开是技术序列,代码要求和开发一致,薪资也一致(当时宣讲会听的))
3、SWE和SWT不是敌人(不是一个生产BUG,一个挑刺的),更多是合作伙伴,SWT写代码的目的是可以让SWE测试自己的功能。
4、TE把用户放在第一位来思考,组织整体质量的实践,分析解释测试运行结果,驱动测试执行,构建端到端的自动化测试。(SWT和TE工作有很多交织,SWT更多是要构建测试框架,编写测试工具。TE更多是脚本,测试用例,以及点点点…,以字节为例,TE对代码的要求会相对较低,但是也需要写代码(宣讲会听的))
5、国内很多大厂的测开其实做的是测试的活,也要很多测开干的就是开发的活,这些都取决于你的组,不是一概而论的。
6、SWT和TE对于知识广度的要求会更高,SWE你也许只需要在一个角度仔细钻研就可以了,SWT和TE则需要你是“万能博士”,正如推荐的那本书的作者所说,招一个好的SWT和TE往往比SWE还难
7、SWT的天花板也许相对SWE会低(毕竟国内的事实是SWT和TE做主程的很少),但是SWT越来越受重视是不争的事实,同时SWT的平均待遇不低
综上(大概率是这样的,大家别钻牛角尖,没有优劣之说):
代码能力要求:SWE=SWT>TE
知识广度要求:SWT,TE>SWE
沟通能力要求:TE>SWT>SWE
知识深度要求:SWE>SWT>TE
薪资待遇:SWE=SWT>TE(纯粹意义的开发,测开和测试,当然国内很多公司自己都搞不清这几个Title区别)
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。