人类高质量程序员也得做这种事?

平时总能听到技术圈各种各样的段子。

昨晚在酒吧玩,忽然:

一个测试工程师走进酒吧,要了一杯啤酒;

一个测试工程师走进酒吧,要了一杯咖啡;

一个测试工程师走进酒吧,要了0.7杯啤酒;

一个测试工程师走进酒吧,要了-1杯啤酒;

一个测试工程师走进酒吧,要了一杯蜥蜴;

一个测试工程师走进酒吧,要了一份asdfQwer@24dg!&*(@;

一个测试工程师走进酒吧,什么也没要;

一个测试工程师走进酒吧,要了一杯烫烫烫的锟斤拷;

一个测试工程师走进酒吧,要了NaN杯Null;

一个测试工程师把酒吧拆了;

一个测试工程师化装成老板走进酒吧,要了500杯啤酒并且不付钱;

一个测试工程师走进酒吧,要了一杯啤酒';DROP TABLE 酒吧;

测试工程师满意地离开了酒吧。

我看的肚子都饿了,就喊了句:给我来一份蛋炒饭!

结果,酒吧炸了!

最近,又看到有这样一个关于测试的段子:每个程序员在修改代码时都希望有测试,在写代码时,都不想写测试

 

希望有测试,是因为测试可以给我们带来安全感。不想写测试,一方面,很多人会觉得麻烦,另一方面,也是更重要的,团队没要求。为什么很多团队不要求程序员都写测试呢?这里有一个很可悲的答案,因为大部分程序员根本都不会写测试

 

为什么这么说?

 

有次培训,我问大家每次代码提交之前,对自己编写的代码有信心的举手,不少程序员骄傲地举起了手。“你在提交之前,会验证一下吗?”大部分的手还是高高地举着。“你是验证了这次编写的代码呢?还是验证所有的代码呢?”,所有人一脸茫然。

 

很多人包括你,是不是都认为只要保证自己的代码没问题,就不用去测试所有的代码了,而且有没有破坏已有的代码那是测试的事儿,与我无关。但事实却是因为功能太多,测试也力不从心,最终没人去验证系统中所有的功能。

 

这才是大多数团队在实际开发中的真相。


 

团队的放任,加上我们总是对自己编写的代码有种凭空的自信,让我们无法准确判断自己每次提交的代码最终会带来什么样的影响。所以,我们总能看到在生产环境中出了问题,定位半天最后发现只是一个简单的错误,浪费了大量时间和精力。

 

但其实只需要做个简单的自动化测试,这就能轻松避免。在当下的大环境,测试,尤其是自动化测试,更应该成为你我技术能力中的“标配”。

 

这里我们要先走出一个误区,一般你想到的测试,大都集中在下图中“已知的未知”这个象限,比如使用不熟悉的库带来未知,然后程序员通过在测试中调用和观察结果来消除未知等。

 

然而,仅仅关注未知是不够的,我们还得关注已知。在已知的时间和资源中,如何通过测试在成本和获得安全的保障之间取得平衡;如何通过测试技术改进使原本难以挽回的决定变得不那么昂贵等,这些都很重要。


上面这张图出自郑晔,他曾任职火币网担任首席架构师、ThoughtWorks 首席咨询师。沉浸在软件行业近二十年,之前就读过他的很多专栏,干货巨多很实用,我都是边画思维导图边消化,最近,他在极客时间再次推出了新的专栏《程序员的测试课》。


在专栏中,郑晔系统的梳理了程序员在日常工作中需要如何编写自动化测试,不玩虚的,直接用案例实战带你上手,将所有东西串联起来,使测试的知识成为一个整体。

早鸟秒杀+口令「ceshi9999」

到手仅 ¥69,立省 ¥30

 

怎么样才能算是会写测试呢?最好的办法是跟着会写测试的人一起写一段时间,但整体行业的环境决定能提供这样机会的公司少之又少。大部分人学习测试,还是要通过阅读。专栏从三大部分教会你一些上手可用的方法。

 

基础篇,为你讲解关于测试的基础知识。每节课我都将从实例直接入手,带你用测试的方式编写一段代码,告诉你一个新项目如何去做测试。当我们有了对于编写测试一个直观的认识之后,再来了解具体的测试知识,就可以有更深刻的体验了。

 

应用篇,为你介绍在一个后端项目中可以怎样做测试。在这个部分,主要讲解使用Spring 框架如何做测试。之所以选择 Spring 框架,一方面,它的使用非常广泛;另一方面,它对测试提供了非常好的支持。

 

扩展篇,为你介绍 TDD 和 BDD 两项开发实践。这两项实践离很多人的实际工作是有距离的,之所以大多数人不采用这样的工作方式,思维习惯是一方面,还有一方面就是欠缺测试的基础。当经过专栏前部分测试的基础铺垫后,再来看这些实践,你会有不一样的感受。

 

还有很多具体内容,可以看看课程目录。

 


争取到了粉丝专属福利:

到手仅 ¥69,原价 ¥99

早鸟秒杀+口令「ceshi9999立省 ¥30

 

订阅后生成海报发给好友,

每成功邀请 1 位好友,可得 ¥20 返现。

 


👇 点击「阅读原文」

输入优惠口令 「ceshi9999」

立省 ¥30 入手,仅限 前 50 人

本文分享自微信公众号 - 凹凸数据(alltodata)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章