自动化测试对于前置数据的构造

2021-01-14 10:41:03 +08:00
 Aresxue
自动化接口测试中要进行前置数据的准备,实际中诸位是用的接口还是 sql,接口在多个业务接口有依赖时无法保证独立性( B 依赖 A,A 挂了,B 就没法测试了),sql 的话可以保证稳定性,但过于复杂,无异于把接口逻辑的一部分重写一遍,请问各位实际中都是如何处理的
1993 次点击
所在节点    Java
7 条回复
warcraft1236
2021-01-14 11:04:50 +08:00
你先说明前置数据是个啥玩意
HappyFox
2021-01-14 11:21:50 +08:00
调用接口,存在业务依赖的地方 Mock 返回
Aresxue
2021-01-14 15:13:18 +08:00
@HappyFox 我觉得这是最合理的,但是不够健壮,如果是较靠前的业务接口出问题了,后续接口都没法玩了
HappyFox
2021-01-14 17:51:34 +08:00
@Aresxue #3 这需要你梳理一下自动化的测试范围,给系统依赖分级
0 级:底层接口,无外部依赖,自动化优先进行
1 级:依赖 0 级系统,日常回归时可 mock0 级返回,全链路时先检查 0 级是否正常

其实类似于一个自动化任务调度中心,初期可以考虑写一个规则脚本来维护 case 执行顺序,后期建议做一个可视化的平台,然后接入流水线。每次研发一打包,自动执行你们的测试 case 。
HappyFox
2021-01-14 18:03:04 +08:00
@Aresxue #3 你是想做某个系统的测试,还是想做全链路测试?
单一系统测试,就别考虑那么多,根据 wiki 保证你的输入输出正常即可
全链路测试,建议每个系统都测完以后进行单独的联调测试
而且关于底层接口故障的问题,你完全可以做一套接口监控系统(线上线下)+全链路请求追踪系统(测试环境挺有用的)来解决
passerbytiny
2021-01-14 18:09:24 +08:00
请首先区分好是测试数据,还是服务依赖。

如果你是用外部方法来生成测试数据,那么你说的那种接口依赖情况压根不存在,因为你不能用不稳定的工具去生成测试数据。

你搞得这两种方法,都不行,因为不管是调用接口还是用基本实现接口的 sql 生成数据,你生成的数据都受到外部业务逻辑的干扰,是极不稳定的。

你应该按照待测试内容的业务逻辑要求,使用工具(独立且稳定的 dao 、sql 等等)直接生成数据。
Aresxue
2021-01-14 21:49:02 +08:00
单一系统的,接口监控系统(线上线下)和全链路请求追踪系统其实都已经有了,现在是想做业务回归,因为项目在重构且变化比较快。十分感谢您的耐心

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

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

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

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

© 2021 V2EX