• [原创]浅谈ETL系统架构如何测试?


    [原创] 浅谈ETL系统架构如何测试?

      来新公司已入职3个月时间,由于公司所处于互联网基金行业,基金天然固有特点,基金业务复杂,基金数据信息众多,基金经理众多等,所以大家可想一下,基民要想赚钱真不容易,首先你要在这么多基金中选一个靠谱的基金经理,想获得一份不错的基金收益,尤如大海捞针,其码我对这个没什么自信。

      闲话少说,哪么我们来看看ETL系统架构是咋回事,简单理解ETL就是将数据抽取,数据转换,数据加载的一个过程,其中每个公司都有不同业务,如下图所示:

    上图展示了一个典型的ETL系统架构,其中ETL中间还多了一个数据清洗,碰到这样的系统,测试工作如何开展呢?我理下思路,列举一些目前我所在公司对这块的测试实践:

    1、首先,必须要对ETL核心处理过程进行测试,要确保数据提取,转换,加载核心处理过程的正确性及完整性;

    2、各业务需求点及规则验证是否被正常转化,如:我们要将系统抓取的一些非标的数据进行提取,转换后符合公司自己定义的算法,这块就比较重要,也是公司核心;

    3、各业务需求点及规则对时间要求,性能是否可以满足,如:我司系统有这样的需求,对某基金经理,在任职期内,与其他基金经理的业务在10年,3年,1年等不同时间段的回报率等;

    4、ETL的测试核心点是数据,诸如数据的准确性,完整性,正确性都应考虑,测试时尤其要多运用等价,边界及异常值等去检查验证,不过建议开发一些测试工具去支持,在实际测试工作中,经常发现数据源抓取的数据不是很完整,有些还是错的,这些都要在内部测试时,进行严谨的检查;

    5、数据迁移测试,由于每次系统升级,不得不进行更新,这样会造成新旧数据有可能不一致,我们通常采用迁移一部分生产数据在测试环境,来进行检查验证;

    6、数据扩展性容量测试,初期我们对这块重视不够,原以为数据量没哪么多,但经过一段时间积累,发现源数据是非常庞大,所以针对这块我们都会去预估,尽可能按照X10,X20倍等这样的方式进行测试评估。

      最后总结下ETL测试其实并不复杂,系统的架构也非常简单,容易理解,难在于测试数据的复杂性构建,数据兼容性,及数据的完整性,我们在测试时碰到的最头疼的问题,主要是这几种,当然最后提一句,ETL系统上线后,必须要有一个好的监控系统配合,否则真是灾难。

      

  • 相关阅读:
    【强化学习】python 实现 q-learning 例二
    【强化学习】python 实现 q-learning 例一
    python棋类游戏编写入门
    推荐几个表格工具
    【Java并发编程实战】----- AQS(四):CLH同步队列
    【Java并发编程实战】----- AQS(三):阻塞、唤醒:LockSupport
    【Java并发编程实战】----- AQS(二):获取锁、释放锁
    【Java并发编程实战】----- AQS(一):简介
    【Java并发编程实战】-----“J.U.C”:CLH队列锁
    【Java并发编程实战】-----“J.U.C”:CAS操作
  • 原文地址:https://www.cnblogs.com/mayingbao/p/4055935.html
Copyright © 2020-2023  润新知