[原创] 浅谈ETL系统架构如何测试?
[原创] 浅谈ETL系统架构如何测试?
来新公司已入职3个月时间,由于公司所处于互联网基金行业,基金天然固有特点,基金业务复杂,基金数据信息众多,基金经理众多等,所以大家可想一下,基民要想赚钱真不容易,首先你要在这么多基金中选一个靠谱的基金经理,想获得一份不错的基金收益,尤如大海捞针,其码我对这个没什么自信。
闲话少说,哪么我们来看看ETL系统架构是咋回事,简单理解ETL就是将数据抽取,数据转换,数据加载的一个过程,其中每个公司都有不同业务,如下图所示:
上图展示了一个典型的ETL系统架构,其中ETL中间还多了一个数据清洗,碰到这样的系统,测试工作如何开展呢?我理下思路,列举一些目前我所在公司对这块的测试实践:
1、首先,必须要对ETL核心处理过程进行测试,要确保数据提取,转换,加载核心处理过程的正确性及完整性;
2、各业务需求点及规则验证是否被正常转化,如:我们要将系统抓取的一些非标的数据进行提取,转换后符合公司自己定义的算法,这块就比较重要,也是公司核心;
3、各业务需求点及规则对时间要求,性能是否可以满足,如:我司系统有这样的需求,对某基金经理,在任职期内,与其他基金经理的业务在10年,3年,1年等不同时间段的回报率等;
4、ETL的测试核心点是数据,诸如数据的准确性,完整性,正确性都应考虑,测试时尤其要多运用等价,边界及异常值等去检查验证,不过建议开发一些测试工具去支持,在实际测试工作中,经常发现数据源抓取的数据不是很完整,有些还是错的,这些都要在内部测试时,进行严谨的检查;
5、数据迁移测试,由于每次系统升级,不得不进行更新,这样会造成新旧数据有可能不一致,我们通常采用迁移一部分生产数据在测试环境,来进行检查验证;
6、数据扩展性容量测试,初期我们对这块重视不够,原以为数据量没哪么多,但经过一段时间积累,发现源数据是非常庞大,所以针对这块我们都会去预估,尽可能按照X10,X20倍等这样的方式进行测试评估。
最后总结下ETL测试其实并不复杂,系统的架构也非常简单,容易理解,难在于测试数据的复杂性构建,数据兼容性,及数据的完整性,我们在测试时碰到的最头疼的问题,主要是这几种,当然最后提一句,ETL系统上线后,必须要有一个好的监控系统配合,否则真是灾难。
[原创] 浅谈ETL系统架构如何测试?的更多相关文章
- [原创]浅谈移动互联网App兼容性测试
[原创]浅谈移动互联网App兼容性测试 今天要谈的话题,估计各位测试都有感受,移动互联网App兼容性测试,我们到底测试覆盖如何去挑选机型?具体移动App兼容性测试如何开展?是不是应引进像testin这 ...
- [原创]浅谈移动App安全测试
[原创]浅谈移动App安全测试 移动互联网很火,就像当年互联网兴起一样,这几天和朋友在沟通交流,谈到一个话题,你们做金融App钱放在你们哪边安全不?会不会你们做的移动App不安全,让人盗了里面的资金, ...
- [原创]浅谈H5页面测试介绍
[原创]浅谈H5页面测试介绍 目前移动互联网非常火热,除了各种App,H5也是非常热,由于H5跨平台,且版本更新容易,做为引流或获客是非常好的一种简单低成本平台:今天来谈谈H5页面测试都要测试什么? ...
- [原创]浅谈Web UI自动化测试
[原创]浅谈Web UI自动化测试 Web UI自动化测试相信大家都不陌生,今天来谈谈这个,我最早接触自动化测试时大约是在2004年,2006年当时在腾讯财付通算是开始正式接触自动化测试,之所以是正式 ...
- 朱晔的互联网架构实践心得S2E6:浅谈高并发架构设计的16招
朱晔的互联网架构实践心得S2E6:浅谈高并发架构设计的16招 概览 标题中的高并发架构设计是指设计一套比较合适的架构来应对请求.并发量很大的系统,使系统的稳定性.响应时间符合预期并且能在极端的情况下自 ...
- 【架构】浅谈web网站架构演变过程
浅谈web网站架构演变过程 前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变. 该系统具备的功能: 用户模块:用户注册和管理 商品模块:商品展示和管 ...
- [原创]浅谈H5页面性能优化方法
[原创]浅谈H5页面性能优化方法 前阶段公司H5页面性能测试,其中测试时也发现了一些性能瓶颈问题,接下来我们在来谈谈H5页面性能优化,仅仅是一些常用H5页面性能优化措施,其实和Web页面性能优化思路大 ...
- 浅谈C++三层架构
浅谈C++三层架构 三层架构并不是MVC,MVC是一个很早就有的经典的程序设计模式,M-V-C分为三层,M(Model)-V(View)-C(Control). web开发中的三层架构是指:数据访问层 ...
- [原创]浅谈在创业公司对MVP的理解
[原创]浅谈在创业公司对MVP的理解 目前自已所处的公司类似一个创业平台,我们内部会不断的去孵化不同方向的产品,产品经理经常谈到的一个词就是MVP,所以有必需要去了解下什么是MVP? 1 什么是MVP ...
随机推荐
- 『实践』Android之短信验证码(用的Mob短信验证)
1.参考资料 Mob网站:http://www.mob.com/ Mob在Github上的例子:https://github.com/MobClub/SMSSDK-for-Android 教程:htt ...
- Shiro:授权控制
对容易忽略的地方记录如下: 1.需要引入下面2个依赖,具体版本根据自身环境修改: <dependency> <groupId>org.apache.geronimo.bundl ...
- hadoop控制map个数(转)
原文链接:https://blog.csdn.net/lylcore/article/details/9136555 hadooop提供了一个设置map个数的参数mapred.map.task ...
- POI操作Excel详解,HSSF和XSSF两种方式
package com.tools.poi.lesson1; import java.io.FileInputStream; import java.io.FileNotFoundException; ...
- HTTP2.0新特性
参考:http://www.tuicool.com/articles/mq2qm26
- python基础--time和datetime模块
一:说明在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素.由于Python的time模块实现主要调用C库,所以各个平台可能 ...
- HighCharts、EChart图表X轴纵向显示
HighCharts 回调javascript函数来格式化标签,值通过this.value获得,this的其他属性还包括axis, chart, isFirst and isLast. 默认为: fu ...
- java实战
1.http://learning.happymmall.com/ http://www.happymmall.com/index.html 前台官网 http://test.happymmall. ...
- ecplise里的run as里只有run configurations是怎么回事?
一.没有main方法 二.main方法所在的类不是在与文件名同名的类中
- java 构造器(constructor)
有一点很重要,即你要时刻询问子句"如果异常发生了,所有东西能被正确清理码?",尽管大多数情况下时非常安全的,但涉及到构造器时,问题出现了,构造器会把对象设置成安全的初始状态,但还会 ...