https://docs.google.com/presentation/d/1KITWbK46rm-lDZce_SqxegHTPjc9Ez-broxDTpfBpK8/pub?slide=id.gd8cf2c7b7_0_0
topic 名字是在 twitter 服务之间测试集成, 实际内容讲的是 diffy 工具.
我已经看这个工具的源代码 2 个月了. 所以对这个 topic 很感兴趣.
研发修改了一小块的代码, 如何保证整个产品的正确性?
如果软件从开头修改了一个简单的分支, 那么它在下游的调用函数那里可能会带来一场规模庞大的蝴蝶效应.
做好单测是很好的保证手段, 但是单测的断言并不能做到全部功能覆盖. 它只能保证软件在修改前后的"基本正确"
diffy 开启了一个新的时代, 直接通过真实的使用场景来驱动, 并严格对比每个场景.
做法如下
因为我最近在研究这个工具, 说下我对这个工具的看法吧.
优点
缺点
我最后的解决方案是通过了跑接口测试, 保存下针对不同环境的请求数据, 然后对比. 这样不再是多播多个环境. 也可以保存历史数据作为对比基准.
我也一直在研究 diffy. 试图改进它.
软件的复杂度在一定条件是很难通过单测来真正的保证的. 或者付出的成本会越大.
Diff 的架构设计
测试结果