Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

Web 开发不该有「联调」这个环节

  最近发现在前后端分离的架构下,开发人员经常浪费大量时间在前后端联调上。甚至出现花在联调上的时间是项目开发时间的好几倍的情况。我觉得 Web 开发根本就不该有「联调」这个环节。出现这种情况要么因为开发人员的自测不够,要么是因为测试人员的水平不够。
  一个优秀的开发团队应该是没有「联调」这个环节的。首先,前后端开发者约定接口文档,然后大家并行开发。后端为自己的程序写丰富的测试,特别是各种 edge 测试。前端开发者也根据接口文档,在本地 fake 各种 edge 数据把程序跑通。最后交给测试人员即可,这就是所谓「闭门造车,出门合辙」。
  如果开发中的自测够严格,测试人员一般不会报什么 Bug。如果总是在和开发环境一样的环境下被测出 Bug,那就是开发人员的自测不够。
  后端的接口经常就出现传入错误的数据类型就直接 500 的情况。甚至有时候 500 是数据库查询出错?这明显就有问题甚至有安全风险的程序也敢提测?接口开发至少应该做到任何时候都不出现 500 才能提测。所有传入的参数错误都应该是 4xx,都应该知道错在哪儿,这才是一个正常的接口。
  前端开发同样存在问题,比如提交按钮没有在点击之后 disabled 造成表单重复提交,或者某个列表获取不到数据时就直接造成程序错误。这种程度的程序也敢提测也是醉了。如果测试人员能在和开发环境一样的环形下测出 Bug 那完全就是开发人员的自测不够造成的。前端的测试通常是测各种环境,比如开发环境只在 Chrome 的模拟器里跑,测试人员可能在奇怪的 Android 机器上找到 Bug。
  当然,有时候并不是开发人员有问题,测试人员同样也有呵呵的。有些测试人员甚至连浏览器控制台如何打开都不知道,只是在页面上点来点去而已。这种猴子测试为什么要人来做?我觉得如果一个专业的测试人员连 Bug 是前端的还是后端的都无法判断那就该换人了。猴子测试这种程度的事情本来就应该是机器来做的。
  总之,如果团队中总是花大量时间在「联调」这种事情上就该找找是哪个环节出问题了,对症下药才能解决问题。
网名:
54.146.214.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^