自动化测试对于前置数据的构造 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Aresxue
V2EX    Java

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

  •  
  •   Aresxue 2021-01-14 10:41:03 +08:00 2354 次点击
    这是一个创建于 1732 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自动化接口测试中要进行前置数据的准备,实际中诸位是用的接口还是 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     Solana     2670 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 02:41 PVG 10:41 LAX 19:41 JFK 22:41
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86