开发转测试没人要_测试开发如何转型-程序员宅基地

技术标签: 开发转测试没人要  

本公众号是打算讲软件工程,一个软件开发周期内的方方面面的内容。

然而有个很核心的问题:实际上,现代软件开发,严格说互联网软件开发和传统软件开发流程,包括团队设置的核心差异恰好就是看有没有专职测试人员(外包QA不算),你看敏捷开发,scrum开发里面哪里有test lead这个概念,只有scrum master, pm, dev lead等等。而现代开发流程中最核心的两点:code review和unit test,其中unit test就是个首先要解决的问题:谁来写?在过去是测试开发来写,而现在则是feature owner,谁负责功能开发谁写。

而google更推荐80%的测试都是单元测试,更进一步将测试开发的传统工作削减到次要得不能再次要的角色,实际上也是为什么google的测试开发团队后来干脆改名叫做Tools&Infrastructure team了。

微软则为了转型,干掉CEO之后才做到了全面敏捷化----什么意思?测试开发SDET全部干掉(QA倒是在这之前就去掉了),全部分到产品团队去,然后才有了今天的股价翻几乎10倍。

传统的测试开发就是高端QA,必须转型。但在国内很难转,国内的测试圈子根深蒂固,其来源主要是以前外企的测试部门(其实就是外包到国内的QA,为了好听称之为研发部门啥的)利用前几年外企在国内互联网圈所获得的地位,翻来覆去强调“对质量的重视,对测试的重视”云云(特别是微软),问题是国外对测试的重视是叫开发人员要自己负责测试,不是在核心部门专门建个测试团队来“专职测试”。。。

但是实际上这个问题随着国内互联网企业日益成熟,对软件工业化的理解越来越深刻,也得益于越来越多硅谷工程师的回国带来真正国际一线互联网公司的实践经验和团队结构,国内的互联网企业也开始了对过去QA及测试开发的人员优化(当然,也就是一些互联网头部公司才有专门测试部门这些设置,中小公司哪里能有这么奢侈的待遇,业务开发能够不关心自己代码能否work就提交上去,抛给QA检测。。。)

因此,在这个转型和人员优化(大家懂)的过程中,测试开发如何定位自己?如何顺应时代大潮改变自己,提升自己,改变工作习惯,则是这次要讨论的问题。

这次我们分几个部分来讨论,中间可能私货较多,如有不同,请自己思考

  • 中美测试开发转型的差异

  • 测试开发自身的局限与苦恼

  • 平台开发的方式

  • 测试开发如何转向平台开发


其实测试开发本身转业务/产品开发很简单,直接分拆到产品团队,成为产品团队的一员,这对PM来说是好事,开发人员更多了,可以提更多feature需求了。。。

至于测试开发如何适应,无非就是选择适合的内容去写代码呗。这个问题对于亲历过微软转型全过程的资深工程师来说,是一个很直接明了的事情,下面是某位微软朋友聊到这事情时的反应:

a32d122f26878b32b17dc709528be1bf.png

2df9735eb0d000c05004f33e04ee2fe2.png

558e999fcf0312ad0fb2683ef8429810.png

但是这有个前提:测试部门解散,合并入业务产品部门,工作由业务产品部门来分配,从此测试成为过去式。这个改变相当激烈(微软CEO下台后才能真正实施)。而且微软当年的SDET在技术背景和开发能力上如果说距离google/facebook的正式开发有差距,但起码也在业内其它二线公司的正式产品开发水平之上,要转型也不是啥太难的事情。

但在国内的各大公司,据多方了解,并非如此(要知道微软可以是在巨大压力下干掉了CEO,才能做得这么坚决)。各种质量部门/测试部门山头林立,人员臃肿,自动化测试更是个幌子,真正做的还是大量的人工手动测试,对这些人的转型是个非常艰巨复杂的工作。同时在产品开发侧,国内的业务产品开发也不像Google/MSFT的开发人员那样乐于写单元测试,乐于对自己的代码质量有ownership,加上大部分产品代码架构非常糟糕,从来没有考虑过真正的模块化,谈不上testability,要对代码写单元测试本来也是难于登天。因此国内公司无论是测试自己还是开发人员都具有很大的能力缺陷,无法像微软那样主要是政治斗争,上层摆平后一声令下就可以转型。。。

上面那位微软的朋友提到可以由infra的开发来带sdet转型,这又涉及到一个差异:国内其实并没有真正的infra团队,某个角度来说国内这几年炒作的“中台“是带有一些infra的意思,但实际上在基础架构和业务服务之间,对国内绝大部分公司来说是很混乱的,所以才造出“中台“概念。而Devops本身是infra的一个分支,又跟CI/持续测试紧密结合,因此国内测试开发转型的同时,通常还不是转往相对容易融入的产品开发,而是往最具难度最具挑战的基础架构infra方向转变(因为以前没人专门去做)。。。

从这些因素来看,国内的测试开发转型是一个较长期的过程,实际上是希望让测试开发和其它人员一起去搭建一个工业化生产流水线平台,而这恰恰是最难的。要谈个人如何在技能上转型(如果你不想跳槽或者换团队),就要自己摸索如何去转变自己的技能树和工作习惯。要做到这点,首先要了解测试开发自身的局限和问题所在。

测试开发的局限与苦恼

上周我们谈过为什么Devops系统并不适合由测试开发来主导,其中提到了测试开发的一个很严重的问题:一直是面向QA需求,而不是面向真正产品需求。

我们也可以说,测试开发的朋友们写了很多helper class, helper method, util function,然而,他们基本上没有去负责过一个完整产品从头到尾的研发过程。在过去微软的一些SDE岗位招聘中,喜欢要求具有full product lifecycle(完整产品生命周期)的经验,其实意思就是你需要知道一个产品从概念到市场需求调查,到设计方案到初版开发到最终上线,经历过紧急bug修复和无数需求改变的折磨,能预料到代码实现了基本功能后远不是结束,还有无数的坑等着你------明白了这些并能在产品开发过程中为这些坑提前做好铺垫准备(时间上、数据上、代码结构上、单元测试上、以及和其它相关开发的沟通上),这才算是进入了一个算得上有产品开发经验的境界。而测试开发因为没有这样的环境,始终停留在工具开发这个环节,而且还是小工具那种(哪家的测试自动化工具有超过1w个用户还是咋的?),所以其技能始终停留在一个较狭窄的范围里。

好了,不喷sdet了,还是直接点:如何改变?如何进化转型?

先整理一个图表,把重点画出来:

c383e30a74da76dea403802f8ac556cb.png

我们这里不谈比如游戏/社交/电商这些具体to C产品的开发工作,就拿Paas化的研发工具平台来跟测试工具做比较。

首先要面对一个现实:研发平台,尤其是作为Paas的研发平台,在国内非常少见。不少公司内部虽然有,但是其使用体验也是难以言喻,基本没法和国外的相提并论。因此在这里我们只能用国外的一些研发平台来做比较。

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

智能推荐

c语言 分辨率大小吗,(知识锦囊)若图片分辨率和屏幕分辨率不一致将如何显示?...-程序员宅基地

本文原创,欢迎转发,并在开头处表明作者:简书:数码视听娱乐如今在视频领域、智能电视机领域,4K是一个非常热门的概念。对于视频我们会听到“4K视频、4K直播、4K片源、4K点播、4K内容”等诸如此类的说辞;对于智能电视机我们会听到“4K电视、4K屏”等诸如此类的说辞。这些都是在说视频的逻辑分辨率和电视机屏幕的物理分辨率都是4K的分辨率。关于分辨率的概念,可以参考我的这篇文章:分辨率的形象理解如果我们..._4032×3139分辨率

windows系统如何隐藏桌面快捷方式的小箭头图标_怎么隐藏快捷方式小箭头-程序员宅基地

两步即可轻松搞定“Win + R” 运行“cmd”命令复制下面的命令,然后回车(安全软件可能会弹出阻止运行的窗口,需要选择允许本次执行):// 在此先解释一下这个脚本所做的工作,那就是删除注册表中快捷方式的小图标配置项,然后重启Windows系统的资源管理器进程来刷新桌面// 可放心执行,不会有安全的问题reg delete "HKEY_CLASSES_ROOT\lnkfile" /..._怎么隐藏快捷方式小箭头

暴强贴:从.NET平台调用Win32 API-程序员宅基地

2005年12月20日 17:10:00 作者:刘铁猛日期:2005-12-20关键字:C# .NET Win32 API版权声明:本文章受知识产权法保护,如果阁下想转载,在转载的时候烦劳阁下连同在下的姓名一起转载,并向[email protected]发一个Mail,我很想知道我的文章都去哪里了.谢谢.小序 Win32 API可以直接控制Microsoft Windows的核心,

因为无聊 自己写的一个 TXT小说阅读器 PC版(winfrom)_简单xt阅读器-程序员宅基地

应为无聊 自己写的一个 TXT小说阅读器,支持老板键,自动贴边隐藏,划水神器^^主要特色:①支持拖拽txt文件到阅读器中自动打开txt文件,主要代码: //拖拽TXT文件到窗体并加载TXT文件 private void Form1_DragEnter(object sender, DragEventArgs e) { ..._简单xt阅读器

html中switch的控件,css3实现switch组件开关-程序员宅基地

本文主要和大家介绍了如何用css3实现switch组件的方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。基于表单的checkbox效果图原理checkbox, 有两种状态, 没选中和选中, 当选中的时候(:checked), 改变样式即可, 首先得清除浏览器默认的样式, apperance: none, 本文代码只在chrome中运行,..._html开关(switch)控件

【IDEA】IDEA导出可执行的jar包,带main()的启动类_idea 导出main方法-程序员宅基地

步骤:1.选中java项目,选择 File -> Project Structure (快捷键:Ctrl+Alt+Shift+S)。2.在弹出的窗口中左侧选中"Artifacts",点击"+“选择jar,然后选择"from modules with dependencies”。3. 在配置窗口中配置"Main Class",这儿选择一个入口java类(有main方法),完成后,点击OK,OK按钮。到这儿就完成了“Project Structure”的设置了。4.回到IDEA的主菜单,选择_idea 导出main方法

随便推点

kali 重置root密码_kali重置root密码-程序员宅基地

kali版本kali-linux-2021.2但是其他版本也都一样的操作方法/步骤第一步:点击开启此虚拟机,打开安装好的kali虚拟机。第二步:进入开机启动页面,按键盘e键进入Kali GNU GRUB页面。进入GNU GRUB页面,能够设置开机配置信息。第三步:在Kali GNU GRUB页面,选择linux那一行,将ro 改为 rw ,在此行末尾增加 init=/bin/bash ,修改完毕以后按ctrl+x 进入单用户模式。修改如下位置:第四步:进入单用户模式命令行界面_kali重置root密码

Rumor Diffusion and Convergence during the 3.11 Earthquake: A Twitter Case Study-程序员宅基地

Rumor Diffusion and Convergence during the 3.11 Earthquake: A Twitter Case Study文章梗概:传统谣言不可观测,扩散和收敛很慢,会带来经济损失。互联网下(以Twitter为例)的谣言是可精确观测的。1、主要工作:互联网谣言在紧急情况下的扩散和收敛和仿真结果。以2011年3月11日本关东大地震发生后谣言传播为例。_rumor diffusion and convergence during the

mac mysql配置jdk_mac下环境变量中配置jdk和mysql,解决每次都要source ~/.bash_profile_老少女王烦烦的博客-程序员宅基地

先看两篇安装文章,参考:【背景】在环境变量 ~/.bash_profile 中配置了jdk 和 mysql的别名,这样在终端可以直接使用别名进行操作,如图【问题】但是出现了问题:就是按照“Mac版安装JDK并配置环境https://blog.csdn.net/hutuyaoniexi/article/details/94124224” 这篇文章配置完只能在当前终端生效,新打开终端就失效了...

任务和回退栈-程序员宅基地

任务和回退栈 任务(task)是为了完成某种工作而有序地组合在一起的Activity集合。这些Activity可能来自一个应用,也可能来自多个应用。这些Activity按照被打开的顺序被保存在回退栈(back stack)中。任务通常开始于桌面,当桌面的应用图标被点击时,应用任务来到前台。如果对应的应用的任务还没有,给此应用创建一个新的任务,并且将“main”Activity作为回退栈

mysql 连接工具_mysql设置远程工具连接_First同学的博客-程序员宅基地

之前设置MySQL远程连接时,看了很多设置mysql数据库使用工具远程连接的教程,都写得乱七八糟的,很复杂,让人看不懂,我觉得很有必要写一个了。如下为centOS下设置mysql连接的简单教程cd / //进入到更目录,进不进都行mysql -uroot -p //登陆数据库GRANT ALL PRIVILEGES ON *.* TO 'root'@...

推荐文章

热门文章

相关标签