数据中台,基本是通过数据库表的关联,SQL 取出想要的数据,然后通过指标查询接口提供服务。 数据的准确性现在已有测试方法: 1、验证 SQL 正确; 2、在测试环境构造各种测试数据,进行结果比对; 现有的方法,测试环境没有与生产环境一致的测试数据,导致在生产环境经常有数据不准确的情况发生。 这种问题该如何解决,有现成的方法论解决嘛?
个人能想到的: 1、从生产导入一部分数据到测试环境,提高数据丰富度。 2、测试完毕上线后,在生产环境再验收一下,并加上监控持续观察是否还会有问题。
也建议梳理下出现过的数据不准确问题,看根本原因是什么(历史数据不符合规范?逻辑中没有兼容所有历史数据情况?),对症下药解决。
数据流程有很多节点会产生问题,从你写的看应该已经是把数据指标计算完了,现在通过接口传送指标给客户。最后这部测试验证和普通接口测试方法一样。新数据问题更多是数据源不稳定造成的,这个避免不了,只能开发数据清洗时校验和加监控,老数据不兼容导致数据指标出问题,这个可以考虑跑开发提交的程序,数据结果插测试库。每次标记一下测试结果版本,还可以用来验证新版本效率,资源占用。
在线监控数据的稳定性有一些尝试吗?
对于数据结构和数据类型,一种是正确校验,一种是错误(不匹配)校验
你数据流程是什么样的
场景不一样,不知道能不能提供帮助。我最近在整一个行情长链接数据的监控&录制回放啥的,由于开盘期间行情数据变化非常快,订阅后收到消息保存快照,再去 redis 或者去 http 接口拿数据对比可能有误差,缓存和 http 接口里的可能会快一点或者慢一点,但不会差太多。这种差距不大但是有点误差的数据,自己整个模糊一点的校验器,比方说两个数据差个 10% 也算合格的,或者其他的复杂的规则
什么叫 “在生产环境经常有数据不准确的情况发生”?是逻辑错误还是啥?