开发、测试开发和测试的区别-程序员宅基地

技术标签: 测试  开发  测试开发  

突然发现好像挺多人想投测开和测试的,很多人面试的时候也会被问到这几个职位的区别,然后有测试经历或者说有系统学习过测试的人蛮少的,楼主去年投这个岗位的时候也很迷茫,中间在牛客网请教过好几位大佬and前辈,这里做一个小小的总结(主要内容来自于和大佬们的谈话以及《How Google Test Software》这本书,如果有不准确的地方大家可以评论谈论),也希望和我当时一样迷茫的朋友们能有所收获。

首先明确一下简称吧,毕竟这几个名字太像了,中文容易搞混。软件开发工程师(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的平均待遇不低

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

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

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

b.看到编译器警告时会焦虑不安

c.当贝要求测试一个产品时,你会打开源码,开始思考需要模拟的东西

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

e.当被问道产品是否可以上线时,你可能会说:所有的测试都通过了

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

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

b.你更愿意到一些开源网站上去阅读别人的源码

c.在现实世界里你很愿意和其他人交流

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

e.当被问道产品是否可以上线时,你可能会说:我觉得可以了

 

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

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

知识广度要求:SWT,TE>SWE

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

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

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

 

大家有时间想详细了解或者想从事这个行业的还是希望大家深入阅读一下《How Google Test Software》,同时借贴再次感谢曾经回答我问题的几位大佬和前辈!

同时附自己去年字节测试开发的面经,大家可以参考一下测试开发的面试难度和流程:

https://www.nowcoder.com/discuss/205655?source_id=profile_create&channel=666

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_15029743/article/details/107053426

智能推荐

matplotlib——折线图(改变横坐标_matplotlib 横坐标单位-程序员宅基地

文章浏览阅读1.8w次,点赞7次,收藏33次。>改变横坐标的刻度:#建立一个x轴(1,20),y轴随机产生的折线图fig = plt.figure(figsize=(20,8), dpi=100)x= range(1, 21)#x 轴数据y = [random.randint(1,21) for i in range(1,21)]#y 轴数据plt.plot(x, y)#将x的刻度按一个单位来表示plt.xticks(..._matplotlib 横坐标单位

物联网Coap框架 ------- Californium结构分析-程序员宅基地

文章浏览阅读555次。一.Calinfornium简介Californium 是一款基于Java实现的Coap技术框架,该项目实现了Coap协议的各种请求响应定义,支持CON/NON不同的可靠性传输模。在同等的Coap协议的技术实现中,Calinfornium框架在众多框架中以性能最优。如下:二.Californium的项目结构目前Californium 项目的托管地址在:http..._[pserver(main)#5] o.e.californium.core.network.udpmatcher : error receiving

PHP的getimagesize读取远程图片慢的解决方法_php getimagesize远程图片-程序员宅基地

文章浏览阅读238次。PHP的getimagesize读取远程文件,使用的方法本质上跟file_get_contents一样,所以都会出现非常耗时的情况。_php getimagesize远程图片

计算机应用技术专业与计算机网络技术专业的区别_计算机网络红人计算机应用区别-程序员宅基地

文章浏览阅读5.7k次,点赞7次,收藏17次。计算机应用技术比较偏向软件方向,培养掌握计算机应用专业必要的基础理论、常用计算机软件操作和编程语言,培养目标是具有较强实践技能的高级计算机应用型人才。专业课主要有:计算机软硬件技术基础、Linux操作系统、数据库系统SQL、数据结构与C程序设计、计算机网络原理、高级语言汇编、Java语言程序设计、图形图像应用处理(PhotoShop)、微机原理与接口技术、C语言、数据结构、操作系统、平面设计、VB..._计算机网络红人计算机应用区别

docker获取不到镜像,pod容器(dop-registry)起不来_docker容器regpositories网址出不来-程序员宅基地

文章浏览阅读916次,点赞18次,收藏13次。是 Docker 官方维护的一个服务,用于存储和分发 Docker 官方镜像,包括一些常见的操作系统、编程语言运行时环境等。通过使用 Docker 官方镜像注册表,用户可以方便地访问和获取到官方维护的镜像,用于构建、运行和部署他们的容器化应用程序。kube-flannel是一个在Kubernetes集群中用于网络通信的网络解决方案。kube-flannel使用了一个虚拟的overlay网络,它允许Kubernetes节点之间的容器在不同的主机上进行通信,同时保持网络的简单性和性能。_docker容器regpositories网址出不来

Reduction to two dimensions and Phase plane analysis_phase plane analysis matlab-程序员宅基地

文章浏览阅读805次。Two dimensional neuron modelsReduction to two dimensionsGeneral approach_phase plane analysis matlab

随便推点

python hasattr_Python hasattr()函数-程序员宅基地

文章浏览阅读443次。版本E:\Projects\testTool>python --versionPython 3.6.2定义先看一下官网是如何定义的:hasattr(object, name)**The arguments are an object and a string. The result is True if the string is the name of the object's attri..._python has_attr

Java Web使用过滤器防止Xss攻击,解决Xss漏洞 防止解决XSS注入攻击的过滤器filter XssHttpServletRequestWrapper_解决xss过滤符合-程序员宅基地

文章浏览阅读2.5k次,点赞11次,收藏64次。前段时间,博主在帮忙朋友给一个国营单位做的一个项目中,在上线的前期,客户要求检测漏洞,因此找到了专业的测评公司,测出来好多漏洞,其中就有xss攻击,我讲自己处理的方式分享给大家,便于大家少走弯路。package com.yl.filter;import java.io.BufferedReader;import java.io.ByteArrayInputStream;import java.io.IOException;import java.io.InputStreamReader;i_解决xss过滤符合

微信小程序:上传图片报:当前系统代理不是安全代理,是否信任?_代理微信不能发图片-程序员宅基地

文章浏览阅读1.5k次。微信小程序:上传图片报:当前系统代理不是安全代理,是否信任?最近在做表单上传的功能,期中涉及到图片的上传,小谷的思路是将图片存到服务器,路径存到数据库中,但是发现wx.request提交数据没有问题,但是wx.upfile就出现了上面的问题。当前系统代理不是安全代理,是否信任?。之后小谷百度了,其中主要是两个问题1.重装系统,(不能根本解决问题,二次开机可能还会出现)2.删除中策表中的文件..._代理微信不能发图片

Maven2.0 Built-in property 汇总-程序员宅基地

文章浏览阅读129次。该文章汇总了Maven2.0中常用的一些Property, 所以这些properties都是从Maven的官方文档和Maven的用户邮件中搜集过来的. 注意, 因为所有的pom.*属性在Maven3中已经不推荐了, 所以下面只介绍project.* Build-in Properties: 内带的属性${basedir}, pom.xml文件所在的目录${version}, ..._maven built-in

H5流媒体播放器EasyPlayer视频播放暂停时,画面仍显示码率的问题优化_easyplayer有声音无画面-程序员宅基地

文章浏览阅读561次。EasyPlayer性能稳定、播放流畅,可支持的视频流格式有RTSP、RTMP、HLS、FLV、WebRTC等,具备较高的可用性。_easyplayer有声音无画面

CentOS7 MySQL 增量备份与恢复-程序员宅基地

文章浏览阅读900次,点赞17次,收藏14次。针对以上面试题,小编已经把面试题+答案整理好了。

推荐文章

热门文章

相关标签