V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Aresxue
V2EX  ›  Java

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

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

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

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

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

    你应该按照待测试内容的业务逻辑要求,使用工具(独立且稳定的 dao 、sql 等等)直接生成数据。
    Aresxue
        7
    Aresxue  
    OP
       2021-01-14 21:49:02 +08:00
    单一系统的,接口监控系统(线上线下)和全链路请求追踪系统其实都已经有了,现在是想做业务回归,因为项目在重构且变化比较快。十分感谢您的耐心
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1371 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 17:19 · PVG 01:19 · LAX 09:19 · JFK 12:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.