zoukankan      html  css  js  c++  java
  • 使用对比的测试方式验证刷数据逻辑

    在项目过程往往需要对原有数据做刷数据操作,比如新增了功能需要增加一个字段或者使用了新的数据模型需要将原有数据做转换

    如何验证刷数据后的结果是否正确,测试的基本方法如下:

    1. 构造老数据
    2. 刷老数据变为新数据
    3. 判断新数据的结果是否ok

    这里的工作量主要在构造类型的老数据,执行刷数据操作,然后再逐个判断数据是否符合预期

    当已经得到新数据的情况,可以逆向思维采用数据对比的方法:

    1. 记录原始新数据A
    2. 反向将数据A转化为老数据B,对于刷数据只是新加字段和库表的情况下,还原操作仅仅是清空库表和重置字段,成本很低
    3. 刷老数据B为新数据A'
    4. 原始新数据A和当前新数据A'对比

    采用了对比的方式比人工肉眼check更为高效,这就是为啥业界往往采用流量回放、对比引擎这类工具提高效率

    数据库数据对比简单的处理可以使用diff,如果是大批量数据的话需要写脚本或者使用工具,具体操作方式如下

    1.导出数据,需要指定好顺序,因为数据有可能错位

    2.处理掉id、时间等干扰字段,也可以导出时就不选择

    3.对比工具使用bcompare(使用介绍https://www.jianshu.com/p/385cad093db0),可以标记每一行不一致的字符,也能自己定义规则,节省了很多前期数据处理的时间

    打开新老数据文件,开始对比

    4.不一致的地方会标红,可以人工介入判断一下

  • 相关阅读:
    视图、触发器、事物、存储过程、函数、流程控制
    pymysql
    单表查询与多表查询
    多线程学习(第三天)线程间通信
    多线程学习(第二天)Java内存模型
    多线程学习(第一天)java语言的线程
    springboot集成es7(基于high level client)
    elasticSearch(六)--全文搜索
    elasticSearch(五)--排序
    elasticSearch(四)--结构化查询
  • 原文地址:https://www.cnblogs.com/opama/p/12584792.html
Copyright © 2011-2022 走看看