《5分钟从学生到程序员》第12课。
上节课我们简单提了下,写完代码之后,要试用功能,自己对功能满意,用户才会满意,同时可以减少bug率和返工。这节课我和大家分享怎么利用测试,提升自己的能力,甚至提升自己的岗位。
1. 是什么决定你在这个岗位上
决定我们在哪个位置,不是会多少技术,掌握什么技能,而是我们心里装的是什么!心里装着功能的是初级工程师,心里装着模块的是中级工程师,心里装着应用的是高级工程师,心里装着企业的是老板。
你说自己很厉害,精通java、springboot、springcloud、mysql、MyBatis;连前端的HTML、css、JS也精通。别人相信吗?可能相信,也可能不信,为什么?别人没办法判断。
初级工程师劳动成果是功能,所以功能是检验初级工程师能力的最主要衡量标准,如果功能的bug率高于平均水平,说明你的能力很次,如果功能的bug率低于平均水平,说明你的能力不错。
如果功能的平均bug率是2,你说你的bug率是1,别人就会点赞,觉得你厉害。
2. 职场的小故事看因果
小故事1:我搭建好几个团队,在团队刚搭好做项目的时候,经常会有测试来向我投诉,说谁的bug特别多,谁冒烟测试通不过还提测,谁功能都没做完就丢给测试,等等。所以关心功能质量的不仅仅是我,测试工程师更关心,因为质量差的代码,会增加他们的工作量。
小故事2:我组项目团队的时候,一般是先决定项目的各业务老大,再由他们商量要哪些人参与项目。技术经理说:我要张三、李四他们两个人。测试经理就会说:张三不行,他做事很不认真,每次都他bug最多,我们还是不要他,我觉得还是要王五吧,他做事很严谨,跟他配合就很舒服。
你看做事不认真,bug最多,人家还不要你。如果公司有做末尾淘汰,那张三就是被淘汰的对象。如果公司刚好有个调岗名额,还这个名额非王五莫属。所以,你看测试跟开发从表面看,八杆子打不着的事,他们背后的逻辑因果就是这么复杂。
前面讲的都是职场上的故事,下面我们来看测试对我们技能提升会带来的帮助。
3. 技术的提升
你多测试,多试用,你就会发现,类似的界面,为什么师傅写出来的就比我好看?分析界面,甚至去看师傅的代码,发现原来是师傅采用统一的UI风格,自己是按UI设计图来做,UI上有标注的就做的好,UI上没标注的,自己瞎做。发现差距了,后面就懂得用UI规范了。
你可能又发现,同样的界面切换,我自己做的一闪就过去了,而师傅的是很平滑的切换,再一看代码,或向师傅请教,原来是他在切换的时候加了动画效果,后面就懂得交互效果的处理。
4. 产品理解的提升
像上节课发送文字的例子,在试用的时候,你可能就发现,app端做设计的时候,写的是4步,但是在第三步,我退出了聊天界面,那这个要怎么处理?试用的时候就发现,少了一个步骤,在还没提交测试前,那赶快添加对这个操作的处理,功能的完成度就更好。
之前分析的时候,暂时说这个功能跟其它功能没有关系,试用时就发现,在聊天界面,除了要发送文字,还要发送表情、图片等,那就跟其它功能有关系。在一对一聊天中,还可以调用通讯录,添加好友群聊,这些都有关系。
然后,就感悟到原来产品逻辑是这样设计的,师傅接到这个模块,他是怎么样把这个模块分成各个功能,然后再分给我们不同人做的。
这样,你对产品、对模块就了解了,是不是比你做完一个功能,丢给测试,等他反馈bug,再改bug好多了?
5. 我是做开发的,为什么要理解产品?
你可能会说,我是做开发的,为什么要理解产品?我们借用叮当猫的小口袋,把时间往后拉一年,张三成为了中级工程师,也开始带徒弟了,好兴奋的感觉。现在参与一个新项目,技术经理把中、高级工程师张三、李四、王五拉一起:“张三,你负责用户模块;李四,你负责商品模块;王五,你负责支付模块。这样安排有没有问题?” 然后张三站起来说:“老大,用户模块有哪些功能啊?”
出现这种情况就好玩了,我们可以想像当时的场面有多搞笑。中级工程师是要对产品有了解,懂得分解模块成一个个功能的。这个能力怎么来的?有人教吗?这种能力是没人教的,都是经验的积累,都是从玩一个个功能练出来的。
这面讲了研发跟测试的背后因果,这里也看到了研发跟产品的背后因果了吧!有人可能看了因果两字会有不舒服,这个没什么,因果就是if语句,if的条件满足,就执行if的代码段,这个就叫因果。
6. Bug率低会带来自信,自信会扩大责任范围
如果,你做的功能,bug率比别人少,是不是更有信心?这个是肯定的。你有了自信,是不是更敢于承担更多的责任。而我们前面讲过,决定工程师水平的不是技术水平,而是他承担了哪个方面的责任。功能承担更多,慢慢的就承担起模块的责任,只要你能承担起模块的责任,那就是中级工程师水平了。
就等着调岗升薪吧。
7. 总结
这节课我们分享了测试给程序员带来的价值,通过试用和测试,程序员可以提升技术水平,对产品的理解能力,可以降低功能的Bug率,而低Bug率可以增加程序员的信心,更有自信去承担更多的责任,而更多的责任达到模块级,他的级别就提升到中级程序员。
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/190977.html