关于前端:我用这一招让团队的开发效率提升了-100

31次阅读

共计 5250 个字符,预计需要花费 14 分钟才能阅读完成。

我在一家做微信营销的公司干技术 leader,带 40 多集体,公司名就不说了。在这个地位上做了好几年,把团队从小带大,公司尽管不算风口浪尖上的高增长业务,但技术这块儿也素来没出过什么问题,我还是蛮骄傲的。

带团队工夫久了,就能发现整个 Team 都慢慢疲了。前两年老板还专门买了个零碎搞 OKR,当初也不大提了;Scrum 咱们也搞了,用起来也就那样;项目管理工具试了好几个,禅道、Worktile、当初用 Coding,反正有一个能用的就行;微服务化革新从去年开始在吭哧吭哧搞,咱们本人搞得感觉很厉害,但业务部门那边就感觉没啥差异,搞不懂你们研发部门每天在弄些什么,连忙做咱们提的需要要紧。

工夫一久,很多本来不是问题的问题也会浮现进去。业务越做越简单,一层层往上叠,迭代速度就越来越慢,感觉啥都没干呢一个 Q 唰的就过来了。有外围老员工到职,很多货色只有他熟,他一两天就能做进去的货色,新补上的人一两周也弄不进去。新员工进来也很懵逼,那么多业务那么多接口,学上一年也未必学得分明。

我也三十多了,就感觉本人懂的招儿都用得差不多了。毕竟本人早就来到一线,多年不写代码了,真的要我去给他们解决那些代码层面的问题,也有些力不从心。当初经济局势不好,业务也不是高速发展期,也没法挖一个大牛带进来一些先进生产力。而且要是真的挖了大牛进来,我本人往哪儿放呢。

测试团队的冲破

冲破最开始来自测试团队,这是我万万没想到的。

测试组的组长是个 93 年的小姑娘,人很虚浮无能,最开始团队还很小的时候她就在,前面研发团队扩充,就让她带测试组了。这么多年下来,公司业务那么多细节可能没人比她更懂。不过她在来咱们公司之前只有一份小公司的工作教训,没见过什么大厂的世面。

去年搞微服务化的时候,过后几个组长探讨,就说可能对测试的要求会更高,得把自动化测试搞起来。前面测试组长就开始本人吭哧吭哧啃 Selenium,本人一个人折腾了良久,终于把 Selenium 架起来了。

测试这块我不懂,帮不上什么忙,看她一个人弄也有点疼爱。终于把框架搭好了,理论用起来的时候我就有点心凉。

干啥都要写代码,她本人学得还行,别的测试基本帮不上忙。这些国外的工具连中文材料都很少,没有技术支持几乎都不算问题了。可是连个主动生成的测试报告都没有,这真的不能忍。

测试团队试了一两个迭代,慢慢地就不提了,我也感觉没必要。毕竟引入一个新工具,大家为的都是提效。弄一个只有高级人才才玩得转的工具进来,真的能者多劳了,劳久了对谁都没益处。

有一天,测试组长发我一个文件。我关上一看,是个测试报告,长这样儿。

一看到这个测试报告我眼就亮了。所有接口运行状况高深莫测,有问题的接口具体是什么问题都清清楚楚。我就回她音讯:“真不错👍最近又在用心钻研自动化测试工具了?这个测试报告挺好的,花了很多心理吧。”

她很快就回了:“没有😂昨天才发现的这个工具,还挺好用。如同还能做性能测试,我还在钻研。”

我趣味就起来了。没过多久,她又发了一个报告过去。我一看,好家伙,100 个线程同时跑!

我问她:“这个怎么跑的多线程?是那种要租客户端的吗?怎么免费啊?”

她回:“收费的😂”

我就叫上后端组长前端组长,跟测试组长一块儿去会议室探讨了一下她用的这个叫 Apifox 的工具。后端组长说:“哦我晓得这个玩意儿,不是跟 Postman 差不多吗,怎么还能做自动化测试?”

测试组长说,她就是把咱们做的接口文档导进去 Apifox 了,也就花了二十分钟配置,自动化接口测试就跑起来了。

后端组长问:“那这玩意儿能不能做接口监控呢?定时跑一下?”测试组长说:“如同也能够。这边帮忙文档里写能够做继续集成。”

后端组长跟测试组长一块儿又花了二十分钟钻研,而后就把咱们的 Jenkins 和 Apifox 上写好的自动化测试用例买通了,自动化测试每小时跑一次,主动就会生成一个测试报告。

我就很感叹。去年搞微服务的时候也学了不少大公司的微服务架构,看他们搞高大上的微服务治理,每个服务的业务量和响应速度监控,真是让人眼馋。没想到咱们一家小公司,接口监控、性能测试,一个小时就搞进去了?

这个 Apifox,有点货色。

这真的是联调吗

我对本人的评估,还是一个有谋求的技术人。前几年我就要求开发团队必须把接口文档写好,毕竟公司业务很简单,开发的人不写分明,前面的新人更加搞不清楚。

咱们的工作流,产品需要进去之后,前后端会先开个会,探讨分明有哪些接口和输入输出,而后同步进开发。后端写接口的时候,Swagger 主动就把接口文档生成了,就还挺不便的。

自动化测试这个事件之后,后端组长就对这个 Apifox 很有好感。他钻研了一下发现 Apifox 能够定时导入 Swagger,岂但测试能够间接用来测接口,后端也能够把 Apifox 当 Postman 用,省得本人拼参数写申请了,间接填参数值就能自测,就让后端开发都用起来了。

咱们三周一个迭代,个别都会留一周做测试,第二周的周三就得进联调,周五上班提测。前几年还能够,可最近一年问题越来越多。联调往往三四天还弄不完,迟迟没方法提测,就只能往后拖,周末加班还不肯定搞完。进到测试环节,还会一直有低级 bug 进去,修 bug 工夫也越来越长,每个迭代都要延期。

问题大家也都分明。无非就是我后面说的几个状况,架构越来越简单,牵一动员全身,很多新人又不理解业务,做事慢不说,还总是会踩坑。很多问题本人写代码的时候发现不了,等到联调的时候就全裸露进去了。后端组长也跟开发们反复强调要自测,可业务压力又大,写代码都写不完,哪有时间自测得那么认真呢。

我记得很分明,那天是个周五,早上晨会的时候,我心想不晓得明天能不能提测啊,这个需要老板盯得挺紧,可别延期了。后果测试组那边说,昨天就曾经提测了!曾经测了一下午了!

什么状况!?联调能够这么快的吗?

到周一开周会的时候,测试组长说,测得比较顺利,预计今天能测完。

我就憋不住了,问前端和后端组长,是这个迭代的需要特地简略吗?

后端组长说,也不是需要简略,就……这次的接口品质特地好,一调就过了,咱们也很纳闷。

前端组长也说,以往前端写的申请接口跟后端常常对不上,就要花很多工夫调,这次也不晓得怎么回事,基本上都是一两遍就过了。

后端骨干说,我感觉……可能是因为咱们用了那个 Apifox……

我:???

不就一个调接口的工具吗,还能让人写的代码品质晋升了?作为一个十几年的技术人,我感觉这基本没啥关联啊。

我就让他们给我演示一下到底这个 Apifox 是怎么用的。咱们探讨了整整两个小时,我总算是搞明确了。

这外面有几个关键点。

第一,后端尽管定义好了接口的输入输出,也有文档,然而写进去的代码未必合乎文档里的定义。这里少个字段,那里把 integer 输入成了 string,都是很常常产生的状况。很多问题让后端自测,他们本人基本看不出来。

而后端用了这个 Apifox 之后,有一个特地好用的性能叫 数据结构校验,主动就能够判断接口出参跟文档定义是不是统一。很多问题,后端一发送申请就本人发现了,基本不会到联调的时候才裸露进去。

第二,Apifox 还有一个“动静值”的性能,能够随机生成一系列不同的参数值,数据结构定义起来也很不便。后端就用这个性能,把一个接口主动跑上 10000 遍,连边界值都测进去了,啥问题都本人发现了。

第三,后端把 Apifox 也举荐给了前端,前端拿这个当 Postman 用的时候,意外发现还能做 Mock 数据。最离谱的是,Mock 规定基本不必写,依据字段名称就能 智能 Mock 出很正当的数据,比之前用的 Mock.js 不便多了。

前端间接就拿 Apifox Mock 进去的数据放到界面里用,岂但省了本人做数据的工夫,最重要是跟接口文档是完全一致的,就算后端中途改了接口定义,尽管接口还没做进去,但 Mock 数据曾经主动就变了,前端立即就发现了,就连忙去问后端怎么回事。

咱们做软件的都晓得,问题越早发现,修复的老本就越低。前端和后端都能在最早的环节就发现问题,效率可不就上来了吗!

为什么联调每次都那么耗时间?最次要的起因就是因为前端要的数据跟后端给的数据对不上。而用了这个 Apifox 之后,前端跟后端的数据自然而然就对上了!还能主动查看数据格式!

半天就联调通过了,这还是联调吗!?

我就……又很感叹。很多事件是咱们司空见惯的,感觉联调必定是苦楚的,就素来没想过为什么这个环节会存在问题,如何去解决这外面的问题。

这个 Apifox,真是牛逼。

我又让几个技术骨干都试一下性能,确认一下合乎咱们的研发流程。到第二周部门周会的时候,我就跟大家说,全副门都把 Apifox 用起来。

如何搞定合作方

又过了些日子,有一天后端组长嘿嘿笑着来找我,说发现了一个牛逼的货色。

咱们的业务性质,常常须要跟银行、运营商之类的单干,就会用到他们提供的 API。银行的研发人员,技术未必好,做进去的文档也不咋地,更不会提供测试环境。每次要用实在数据的时候,咱们都是战战兢兢地,就怕出了问题,那损失就大了。

后端组长说,先前说的那个 Apifox 的 Mock 性能,我最近又钻研了一下,发现除了能 Mock 前端用的数据,还有另外一种用法。

咱们手里不是有银行提供的 API 文档嘛,咱们就把这套 API 保护到 Apifox 外面去,做成一个我的项目。他们有一个“云端 Mock”的性能,能够间接拜访服务端接口获取 Mock 数据。咱们能够把这个数据当作银行服务器的测试环境来用,每个后端都能拜访,也没有次数限度,轻易怎么测都行!

我点点头就让他连忙去搞了。这个 Apifox,能玩出什么花来我都不奇怪了。

过了两天后端组长又嘿嘿笑着来了,说 Apifox 能生成 API 文档,想把咱们官网上对外的接口文档换成 Apifox 生成的文档。

咱们业务会对接不少公司客户,他们要把本人的业务零碎跟咱们的营销工具做对接,所以咱们专门有一个组是对接客户的,次要就是教他们怎么调咱们的接口。

这些客户的开发人员,程度更加一言难尽。毕竟大都是小公司,很多连专职的开发都没有,都是外包的。很多客户嚷嚷着咱们接口有问题,近程一看,接口参数基本就没拼对。

我想着 Apifox 那个接口文档我见过,做得还能够,益处是能实时更新,不必专门保护,就批准后端组长把官网上的文档换掉了。

文档换掉之后,过了两周,周会的时候我就发现,客户反对组那边,事件如同少了很多。

我问客户反对组长,最近是新客户变少了吗?感觉你这边以往加班不少,最近都不须要加班了。

客户反对组长说,最近新客户还有变多呢。可客户的问题就变少了很多。我感觉应该是新版的 API 文档的缘故。

怎么回事?换个文档页面,还能让人智商晋升了?作为一个十几年的技术人,我感觉这不迷信啊!

我会后拉着客户反对组长聊了一个小时,算是搞明确了到底产生了什么。

以往,之所以客户问题多,很大起因是咱们的接口比较复杂,参数很多,客户须要照着抄一遍到 Postman 里调好,再到本人代码里拼接,就很容易出问题。

而 Apifox 生成的接口文档,有一个“在线运行”的性能,点开就是一个发送接口的界面,长得跟 Postman 差不多。客户基本不必本人去拼接参数,间接在页面上就把接口给调通了。

而且,这个在线运行还能设不同的环境,后端组长间接搞了一个测试环境凋谢进来,客户轻易调都不会出问题。

最离谱的是,这个接口文档还能生成代码?接口调好了,间接就能一键生成申请代码和数据结构代码,客户复制一下就能间接用了。这个生成代码还反对二十多种语言,啥框架都能用。

我算是明确了,容易出问题的环节都被工具解决了,客户可不就没问题了嘛。

这个 Apifox……前途无量啊。

晋升了多少效率

我算了一下。

后端,写接口文档的工夫能省 80%,自测和改 bug 的工夫能省 50%,品质能晋升 30%。用到第三方接口的话,调接口的工夫能省 60%。

前端,Mock 数据花的工夫能省 100%,调接口的工夫能省 40%。

联调工夫能省 80%。

接口测试工夫能省 60%,回归测试工夫能省 90%。还能实现接口自动化监控和性能测试。

客户服务对接的工夫能省 70%。

还是那么多人,整个迭代还是三周,然而效率高了,能做的需要比以往更多,品质也更好了,大家也不必苦逼逼地早晨周末加班了。加在一起,Apifox 对咱们团队,真的能晋升 100% 的效率

尤其难得的是,咱们如同也没经验什么转型的阵痛,外部团队的阻力,仿佛所有牵强附会地就下来了。明明引入了一个新工具,开发效率也大幅晋升了,可是工作流程还是先前的流程,都不须要做什么专门的调整。

我以前跟一位前辈聊,他说了一句让我印象粗浅的话:“产品是最佳实际的载体。”以前我不懂,当初我如同懂一些了。

上个月开上半年总结会,老板狠狠夸了一顿研发团队,说最近的开发效率超出预期,零碎稳定性也始终很不错。业务部门的老大也说,之前提了很久的一些需要,近期哗哗地都实现了,一线业务共事们都很称心。

还是挺爽的。

而且,公司一分钱都没花呀。

Apifox 还是个中国团队做的,真心心愿他们越做越好,把整个中国的研发团队的效率都晋升一大截。

中国该有个厉害的研发工具进去了。

官网地址:www.apifox.cn

正文完
 0