求问,后端是怎么接口自测的?

2019-12-04 11:22:35 +08:00
 lifesimple

和我配合的后端写完从来不自测(大概 10 个接口 6 7 个不能一次通的),然后都是前端调试的时候,有问题然后和他说下。 每次都要前端页面上点击发个请求然后后端断点调试,一次两次倒还好,每次都是这种操作 而且还要点好几次,不知道是不会用 postman 还是懒 真的感觉很蠢这种方式联调。

17293 次点击
所在节点    程序员
128 条回复
wawehi
2019-12-04 16:31:49 +08:00
要分情况看吧,一般的 HTTP 接口可以自测,但如果是有状态的 SOCKET 服务,就不一定了,可能前置条件太复杂,比如多人在线游戏要测试,需要先构建登录认证、进入频道或房间、再释放技能或执行某操作,此时可能还需要其它虚拟玩家配合,这样搞下来,测一个接口的时间成本很高
以前为了测接口和流程, 用 FLASH 写一个简版 APP,这样可以多开 N 个,再来模拟和测试各种情况,完事再把接口交给客户端
还有一种做法是直接用 py 写个命令行的应用程序来模拟各种操作,但是逻辑复杂的时候确实很麻烦
不管哪种方式,要完整测试都有相当的工作量。
工期紧张时一般保证核心算法和存储这些的单元测试,其它的就在连调中解决了。
wsseo
2019-12-04 16:33:53 +08:00
我觉得最难的是前后端都不校验参数值。

借楼问一下有没有比较现代的 api 文档工具?
zhifSu
2019-12-04 16:38:05 +08:00
我们的前端只负责静态页面~
xman99
2019-12-04 16:40:17 +08:00
一般我会使用 postman 自己调试下, 然后添加到接口文档, 把必要的参数说明了。qq 跟对接同事说下
lifesimple
2019-12-04 16:42:05 +08:00
@xman99 #84 对啊 这样就很舒服
sytnishizuiai
2019-12-04 16:50:16 +08:00
写接口文档-》写代码-》测试-》完善文档,补充返回值
LtOl66
2019-12-04 16:50:20 +08:00
一般是将各种出现的情况,罗列出来然后一种情况一种情况的测试,自测完然后就提测。
Leigg
2019-12-04 17:15:59 +08:00
多数是后端自己要保证接口质量,但是有些接口后端没办法自测需要前端配合调试,比如 wx.login
Cihua
2019-12-04 17:20:47 +08:00
多数还是可以自测的..
但是目前比如我这边,一个请求进来先经过网关层认证一部分参数,然后经过权限认证服务,经过 A 业务服务,然后调用 B 业务服务....类似于这种的依赖多个服务的接口..或者没有开发服务环境的时候.可能需要前端配合人肉测试接口...但是一般会和前端沟通下配合测一下....
Egfly
2019-12-04 17:28:54 +08:00
就是懒、蠢!!!

1、前端对接时根据接口文档来,保证前端提交参数与接口文档一致就行。开发完之后发布一个 release 版本,然后交由测试进行测试。

2、测试发现 bug 之后,先确认是后端 bug 还是前端 bug。

3、如果是后端 bug,让后端自己打开网页复现(复现流程,测试描述清楚),然后修复,最后测试验收。

> 其实正常后端开发完接口,写好文档之后,测试要先进行接口测试的

所以后端的问题为什么要占用前端的时间?
srx1982
2019-12-04 17:30:44 +08:00
上 swagger,省的调了
KentY
2019-12-04 17:34:20 +08:00
swagger 的页面有 bug, 单击了 try it 以后, cpu 会飙升, 然后取消, 又恢复.
说到工具, 我没找到比 insomnia 更好的.
wiken
2019-12-04 17:37:58 +08:00
后端一般都是用 postman 之类的来调试接口.前后端面向文档编程就好了,这种联调不能接受,接口返回跟文档不符合,直接报 bug
Caijl
2019-12-04 17:38:59 +08:00
跟技术没关,关乎做人。
SmiteChow
2019-12-04 17:48:25 +08:00
接口视图层只能做序列号、反序列化,业务代码必须封装为 service,而 service 必须用 ut 覆盖。从楼主描述来看,同事必然是将 service 写到了 view 中,导致只能通过调 api 进行测试。
ForPy
2019-12-04 18:04:08 +08:00
是我 Python requests 装逼的时刻到了
zuokanyunqishi
2019-12-04 18:08:02 +08:00
单元测试
ihavecat
2019-12-04 18:20:18 +08:00
postwoman
jzbax1230
2019-12-04 18:20:19 +08:00
yapi swagger postman
balabalaguguji
2019-12-04 18:30:48 +08:00
写接口文档,然后自己接口测试: https://easydoc.top

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/625803

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX