中国移动集中化经分ETL工具测试规范v1308Word格式.docx
《中国移动集中化经分ETL工具测试规范v1308Word格式.docx》由会员分享,可在线阅读,更多相关《中国移动集中化经分ETL工具测试规范v1308Word格式.docx(92页珍藏版)》请在冰豆网上搜索。
根据一级集中化经分工程规划ETL集群采用基于X86服务器进行构建。
4.1.1.测试组网拓扑
图1ETL工具测试环境组网拓扑
ETL工具测试环境组网拓扑中各个节点类型和说明见下表。
设备域
功能和配置说明
ETL测试集群主测试节点
●由8台通用X86架构服务器构成。
●提供功能测试、性能测试、高可用测试、压力测试使用。
●节点服务器数量根据测试规模设定,根据ETL工具软件架构的不同,如何区分节点功能由参测厂商自行定义。
扩展性测试节点
●由2台与“主测试节点”硬件配置相同的服务器构成。
●提供可扩展性测试使用。
●节点服务器的数量设定应能充分体现扩展性测试的性能差别。
MPP集群数据库
●8台通用X86架构服务器构成,每台服务器自带双端口热插拔硬盘。
测试过程对不同ETL产品MPP集群数据库保持一致
●MPP集群数据库产品采用GP4.3
Hadoop集群
测试过程中不同ETL产品hadoop集群保持一致
●Hadoop版本均采用截止测试开始日期开源最新版本,cdh5.0.0
普通数据库
●1台通用X86架构服务器
●数据库版本为mysql最新开源版本,mysql5.6
测试管理展现终端
●由2台普通配置PC终端和2台千兆以太网交换机组成。
●用于配置和管理测试环境,实施测试用例等工作
●采用Windowsxp系统。
万兆以太交换机
●以两台万兆以太交换机为核心构成测试环境基础网络环境。
●连接所有参与测试的服务器设备,负责测试环境的设备内联和外联。
磁盘阵列
●4T磁盘阵列,通过san交换机与ETL测试集群联通
4.1.2.参考硬件配置
测试方案:
10台PC服务器(ETL集群包括8个普通节点、2个扩展节点)+8台数据库集群模拟PC服务器(MPP集群与移动BI、自助分析工具测试环境共用)+8台Hadoop集群+1台普通数据库服务器+2个测试管理展示终端
PC服务器(ETL集群,主测试节点及扩展测试节点)
计算节点服务器
要求参数
设备型号
HPProLiantDL385G7
数量
10
处理器
16核(AMDOpteronProcessorModel6134(2.3GHz)DL385G7八核处理器x2)
内存
48GB(HP8GB(1x8GB)DualRankx4PC3-10600(DDR3-1333)内存x6)
硬盘
HP300GB10KSAS6G2.5"
双端口热插拔硬盘x2,2块硬盘做Raid1,可用空间300G
万兆网卡
HPNC523SFP万兆双端口网卡x1
PC服务器(数据库集群,与移动BI、自助分析工具测试环境共用)
8
裸盘容量2.4T(HP300GB10KSAS6G2.5"
双端口热插拔硬盘x8,所有8块硬盘做Raid5,可用空间2.1T)
PC服务器(Hadoop集群)
双端口热插拔硬盘x8,可用空间2.4T)
PC服务器(普通数据库服务器)
Citrixdesktop虚拟桌面
2
X86架构,2core,2.0GHz
2G
60GB
网卡
千兆网卡x2
操作系统
Windows
存储阵列
IBMDS8100
详细配置
ETL集群连接存储,共配备存储空间4T。
华为QuidwayS9306
设备数量
端口类型
10Gb
千兆以太交换机
华为QuidwayS9303
5.数据模型
数据模型主要描述本次测试所采用的数据表及其结构、数据表的使用及在测试过程中对数据表的各项相关操作等内容。
5.1.数据表模型
本次测试所使用的表如下:
表类别
表名
中文表明
字段数
单行长度(Byte)
数据规模(亿条)
基础清单表
gprs_cdr
GPRS清单
dtl_bill
明细账单表
tb_svc_subs_hist
用户资料表
其他类
各其具体表结构如下:
1.GPRS清单(gprs_cdr)
中文表名
GPRS清单表
英文表名
字段中文名
字段名称
数据类型
长度
手机号码
MSISDN
char
15
入库数据日期
dat_rcd_dt
DATE
8
到访地
vst_rgn_cd
6
漫游类型编码
roam_typ_cd
3
APN网络标识
apnni
40
通话开始时间
call_bgn_tm
14
通话时长
call_dur
number
上行数据流量
up_dat_strm_amt
下行数据流量
dwn_dat_strm_amt
总费用
tot_fee
9
GPRS网络类型
GPRS_ntwk_typ
IMEI号
IMEI_nbr
17
业务代码
busn_cd
CMCC省公司标识
CMCC_prov_prvd_id
2.明细账单表(dtl_bill)
cmcc_prov_prvd_id
用户标识
subs_id
20
明细帐目科目编码
dtl_accts_subj_cd
4
帐务周期年月
acct_prd_ytm
应收金额
mer_amt
优惠金额
disc_amt
3.用户(tb_svc_subs_hist)
字段名
Null
NOTNULL
CMCC运营公司标识
CMCC_prvd_id
5
客户标识
cust_id
客户品牌标识
cust_brnd_id
用户类型代码
subs_typ_cd
入网日期
ent_dt
入网渠道标识
ent_chnl_id
用户业务类型代码
subs_busn_typ_cd
IMSI号
IMSI_nbr
移动公话类型代码
mpub_typ_cd
用户付费类型代码
subs_pay_typ_cd
入网方式代码
ent_mthd_cd
数据SIM卡用户标志
dat_sim_crd_subs_flg
5.2.接口数据格式及大小
●接口数据格式及大小语句测试用例具体要求设定
●性能相关测试,不同厂商所采用的数据文件格式及记录条数一致
●性能测试所涉及最大数据文件2G,加载表采用001~N的编码规则,进行多表加载时表结构一致。
●性能测试总体数据量为2G*1000=2T
●满载处理能力测试数据量不进行预估
6.测试用例
6.1.总体约束
如下要求各厂商ETL工具必须支持,如不支持则直接按整体测试不通过处理:
●支持基于X86集群分布式配置,且可通过扩展硬件设备线性地提高系统性能和容量;
在集群扩展时,不应对现有节点造成影响;
●支持对Hadoop、Teradata、MPP库的接口抽取、加载方式;
●提供图形化的开发配置界面,支持可视化作业设计、及执行的调度和管理功能,支持多租户的开发模式及批量开发功能,支持作业在开发、测试、生产环境中的迁移;
●支持数据抽取、处理、加载过程中ETL内部数据落地、不落地的两种处理方式;
●测试时将优先执行否决项案例的测试,两项否决项测试案例不通过的产品将被终止测试,无测试成绩。
●ETL工具在实现转换过程或调用外部函数时,需利用自身能力,先转换、再加载,不可以在数据库load过程中进行转换,引用外部函数不可以应用数据库UDF实现(不允许ELT的模式)。
6.2.评分标准
测试用例总表及相应分值如下:
测试类型
测试用例
分值
功能测试(54分)
数据抽取与数据校验
抽取基础功能
手工和自动抽取
数据校验
hadoop支撑
实时数据采集
数据转换
转换规则-数据拆分与合并
数据规则-字段转换
数据规则-数据格式合法性
数据规则-空值处理
转换规则-其他转换规则支撑
转换功能-字符集转换
数据加载
全量加载
增量加载
增量更新
多副本加载
执行引擎选择
推送至数据库引擎执行
推送至HADOOP引擎执行
调度服务
调度规则-脚本调度
调度规则-优先级
调度规则-定时调度
界面控制
调度监控
参数配置
异常处理
日志管理
外部程序API支持
图形化配置管理环境
开发配置管理图形化界面
监控管理图形化界面
安全与审计
权限控制及审计
负载均衡
并发任务间的负载均衡
单个任务负载均衡
辅助功能
批量开发功能
作业版本管理与团队开发功能
作业迁移功能
性能测试(35分)
性能测试场景1:
单个大文件加载至单表
性能测试场景2:
多个小文件加载至单表
性能测试场景3:
多个大文件加载至单表
性能测试场景4:
多个大文件加载至多表
性能测试场景5:
复杂转换规则下的性能
性能测试场景6:
压缩大文件加载至单表
性能测试场景7:
双库加载
性能测试场景8:
满载处理能力
性能测试场景9:
数据不落地处理-MPP至HDFS
性能测试场景10:
数据不落地处理-HDFS至MPP
可扩展性测试(6分)
可扩展性测试场景1:
增加节点
可扩展性测试场景2:
减少节点
高可用测试(5分)
高可用测试场景1:
集群中单一节点宕机
高可用测试场景2:
集群中单一节点闪断
合计
100
加权得分计算规则:
例如:
产品A,B,C为待评分产品,产品A时长为T1,产品B时长为T2,产品C时长为T3,其中,T1<
T2<
T3。
则:
产品A得满分,产品C得基础分,产品B的得分为:
产品B得分=基础分+(满分-基础分)*(T3-T2)/(T3–T1);
(T3!
=T1,否则,产品B得满分);
6.3.功能测试
功能测试相关数据文件及表有参与测试厂商提供。
功能测试如未提及“普通数据库”均在数据库模拟集群中进行测试。
6.3.1.数据抽取与数据校验
6.3.1.1.抽取基础功能
项目:
分项目:
用例编号:
版本:
测试目的:
测试ETL工具抽取支撑功能
预置条件:
1.ETL工具已正确部署,准备就绪
测试步骤:
1.分别准备:
XML文件、固定分隔符TXT文件(分隔符分别为逗号;
“|”;
“%”;
“tab”等)、Excel文件、数据库表;
2.对每项内容进行抽取后加载操作
3.其中数据库表实现场景包括:
通过SQL抽取表中的部分字段、抽取日期在某个日期之间的记录。
抽取字段要求包括数据库表主键抽取。
(以主键为标示字段,主键不存在记录判断为新增记录,实现目标端insert操作;
以主键为标示字段,当主键存在,则判断为update操作)通过SQL抽取表中的部分字段、抽取日期在某个日期之间的
4.增量抽取功能:
记录工具支持增量抽取方式,验证每种增量抽取方式的实际功能工具是否支撑(包括触发器、时间戳、全表对比、日志抽取等)
5.协议支撑:
要求支撑ftp、sftp等协议进行远程文件获取
语句
预期结果:
ETL工具正确支撑所有场景
测试结果:
是否支持XML文件抽取:
是()否()
是否支持全部固定分隔符TXT文件抽取:
是否支持EXCEL抽取:
是否支持数据库表抽取:
是否支持增量抽取方式:
支持增量抽取方式有:
是否支持ftp远程文件获取协议:
支持远程抽取协议有:
评分标准
所列测试结果中,有一项不满足本测试用例不得分
备注:
测试执行人员:
测试时间
厂家配合人员签字:
6.3.1.2.手工和自动抽取
测试ETL工具手工和自动抽取功能
1.准备一数据文件;
2.对此文件进行手工抽取
3.对此文件进行定时自动抽取
无
工具支持手工和自动抽取
是否支持手工抽取:
是否支持自动抽取:
手工抽取和自动抽取有一项不支持,本测试用例不得分
6.3.1.3.数据校验
测试ETL工具数据校验功能
2.准备一数据文件,以及对应的数据校验文件
3.校验文件包含内容:
数据日期、文件生成日期、文件大小(字节数)、文件中包含记录数、文件中单行记录长度
1.将接口放入接口扫描目录,执行ETL过程;
2.修改校验文件不同内容,查看是否在执行过程进行相关内容的数据校验
3.设计场景,对此数据文件同时进行某列取值不可为空的校验、时间格式的校验、数据取值范围的校验、数据间逻辑的校验、主子表关系校验
1.对文件校验中所列内容全部进行数据校验
2.ETL支持对记录级别的数据校验
进行数据校验内容有:
数据日期()、文件生成日期()、文件大小()、文件中包含记录数()、文件中单行记录长度()、某列取值不可为空的校验()、时间格式的校验()、数据取值范围的校验()、数据间逻辑的校验()、主子表关系校验()
预期结果中所列数据校验内容,每支持一项得分10%
6.3.1.4.Hadoop支撑
Hadoop支撑
测试ETL工具hadoop支撑功能
2.hadoop平台正确部署,准备就绪
3.hadoop平台分布式部署一个10G数据
1.通过ETL配置工具,完成从hadoop平台的抽取;
2.通过执行ELT调度,将所准备数据加载至数据库对应的数据库表中
3.配置工具,将上步所完成加载的数据库表中数据抽取、加载至hadoop平台,变更文件名称。
1.抽取、加载过程成功执行,结果正确。
2.通过可视化界面配置,通过hadoop平台配置项或ETL编程接口完成所要求测试步骤
工具是否支持hadoop平台抽取功能
工具是否支持hadoop平台加载功能
hadoop平台抽取功能和hadoop平台加载功能,有一项不支持该测试用例不得分
6.3.1.5.实时数据采集
检查CDC实时数据加载效率
2.源数据库采用普通数据库,数据表中至少初始包含10000条数据
3.目标数据库采用MPP数据库,并创建目标表目标表采用用户(tb_svc_subs_hist)
4.准备操作脚本,含有I、D、U操作语句各50条
1.在源数据库创建表,定义物理主键或者业务主键
2.任意选择X列(现场随机定义),定义转换规则,并在ETL工具中进行配置
3.执行ETL作业
4.该测试用例针对Insert、Update、Delete的随意组合,CDC实时采集增量数据并加载到目标库中;
1.源环境与目标环境准备正确;
2.清空数据库的所有临时文件和未提交完成事务,停止ETL工具及ETL服务器的其他作业成功;
3.ETL过程执行成功,场景模拟成功;
4.ETL执行结果正确(数据库表中记录数与目标表中的记录数一致、数据匹配无差异)
1.同步延迟:
秒,是否超过10分钟:
是(),否()
2.增量装载后文件记录数是否一致:
3.加载结果是否正确:
4.说明:
对加载结果做全量比对
1、加载出现数据错误、记录条数不相等、记录不匹配等错误,该测试用例不得分;
2、同步延迟操作10分钟,改测试用例不得分;
3、所有验证结果均正确得50%;
4、同步延迟时间最短得分50%,时间最长得分0%,其余厂商根据延迟时长进行加权评分。
6.3.2.数据转换
6.3.2.1.转换规则-数据拆分与合并
接口文件转换规则测试
数据拆分与合并
测试ETL工具转换的数据拆分功能
2.准备接口目标表及接口的相关作业完成
1.将接口文件件放入接口扫描目录,执行ETL过程;
2.准备两个调度过程完成拆分和合并两个场景:
按照地域进行对数据文件的拆分和合并
3.检查调度是否存在文件拆分过程;
4.检查调度是否存在文件的合并过程
5.检查调度是否存在字段的拆分过程;
6.检查调度是否存在字段的合并过程
7.检查相应地市或者省份的数据是否已入到相应地市或省份的目标表。
1.调度存在文件拆分和合并过程;
2.ETL执行成