新老平台切换,大家如何保证新平台的正确性? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Banxiaozhuan
V2EX    问与答

新老平台切换,大家如何保证新平台的正确性?

  •  
  •   Banxiaozhuan 2019-02-15 14:16:25 +08:00 1629 次点击
    这是一个创建于 2509 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题:目前所在岗位有不少需要新老平台切换的工作,如果总是手动去写比较程序,或者人工确认,效果很差,而且很难保证完全正确。 请教各位前辈,有没有遇到类似的问题,有没有什么好的解决方法?

    8 条回复    2019-02-15 16:43:16 +08:00
    mywaiting
        1
    mywaiting  
       2019-02-15 14:43:17 +08:00
    如果是 HTTP 的话,那就镜像流量到新系统,然后新旧系统同时输出打 log 输出到离线队列进行对比
    Banxiaozhuan
        2
    Banxiaozhuan  
    OP
       2019-02-15 14:59:15 +08:00
    @mywaiting 后台服务。。。。。。涉及到读写数据库。。
    RoyL
        3
    RoyL  
       2019-02-15 15:02:21 +08:00
    正确性,上线之前不就是应该经过大量测试嘛
    Banxiaozhuan
        4
    Banxiaozhuan  
    OP
       2019-02-15 15:10:12 +08:00
    @RoyL 话虽如此,但是并不放心测试写的用例。。。。。。。他们测试还是比较水的,就挑一两条用例跑跑完事
    mywaiting
        5
    mywaiting  
       2019-02-15 15:25:27 +08:00
    @Banxiaozhuan 应该一样的吧,input 的地方镜像一份,数据库也开个一样数据的 slave, 找到 output 的地方同时打 log 输出到离线队列进行对比啊

    知乎先前好像有分享过一篇他们自家架构调整,新旧 API 调用进行对比的文章,链接我也没有存,只能你去翻翻了


    BTW test case 可能是保证大量代码 merge 的最可靠的手段了,这个不保证的话,那......
    Banxiaozhuan
        6
    Banxiaozhuan  
    OP
       2019-02-15 16:18:20 +08:00
    @mywaiting
    可以稍微提示点关键字吗? 我搜了一会没找到
    mywaiting
        7
    mywaiting  
       2019-02-15 16:30:09 +08:00   1
    Banxiaozhuan
        8
    Banxiaozhuan  
    OP
       2019-02-15 16:43:16 +08:00
    @mywaiting 这种方式,我之前就实现过。 通过新老平台的输入和输出对比。 这种需要再老平台上针对不同的业务写对比程序。 其实我是需要一个通用的模式,也就是说不依赖于具体接口。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     885 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 21:40 PVG 05:40 LAX 13:40 JFK 16:40
    Do have faith in what you're doing.
    ubao msn 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