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

2019-02-15 14:16:25 +08:00
 Banxiaozhuan

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

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

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


BTW test case 可能是保证大量代码 merge 的最可靠的手段了,这个不保证的话,那......
Banxiaozhuan
2019-02-15 16:18:20 +08:00
@mywaiting
可以稍微提示点关键字吗? 我搜了一会没找到
mywaiting
2019-02-15 16:30:09 +08:00
Banxiaozhuan
2019-02-15 16:43:16 +08:00
@mywaiting 这种方式,我之前就实现过。 通过新老平台的输入和输出对比。 这种需要再老平台上针对不同的业务写对比程序。 其实我是需要一个通用的模式,也就是说不依赖于具体接口。

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

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

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

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

© 2021 V2EX