V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Banxiaozhuan
V2EX  ›  问与答

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

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

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

    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   ·   实用小工具   ·   1146 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:47 · PVG 06:47 · LAX 14:47 · JFK 17:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.