使用对比的测试方式验证刷数据逻辑
在项目过程往往需要对原有数据做刷数据操作,比如新增了功能需要增加一个字段或者使用了新的数据模型需要将原有数据做转换
如何验证刷数据后的结果是否正确,测试的基本方法如下:
- 构造老数据
- 刷老数据变为新数据
- 判断新数据的结果是否ok
这里的工作量主要在构造类型的老数据,执行刷数据操作,然后再逐个判断数据是否符合预期
当已经得到新数据的情况,可以逆向思维采用数据对比的方法:
- 记录原始新数据A
- 反向将数据A转化为老数据B,对于刷数据只是新加字段和库表的情况下,还原操作仅仅是清空库表和重置字段,成本很低
- 刷老数据B为新数据A'
- 原始新数据A和当前新数据A'对比
采用了对比的方式比人工肉眼check更为高效,这就是为啥业界往往采用流量回放、对比引擎这类工具提高效率
数据库数据对比简单的处理可以使用diff,如果是大批量数据的话需要写脚本或者使用工具,具体操作方式如下
1.导出数据,需要指定好顺序,因为数据有可能错位
2.处理掉id、时间等干扰字段,也可以导出时就不选择
3.对比工具使用bcompare(使用介绍https://www.jianshu.com/p/385cad093db0),可以标记每一行不一致的字符,也能自己定义规则,节省了很多前期数据处理的时间
打开新老数据文件,开始对比
4.不一致的地方会标红,可以人工介入判断一下