中国移动集中化经分ETL工具测试规范v1308.docx
- 文档编号:26403171
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:93
- 大小:118.62KB
中国移动集中化经分ETL工具测试规范v1308.docx
《中国移动集中化经分ETL工具测试规范v1308.docx》由会员分享,可在线阅读,更多相关《中国移动集中化经分ETL工具测试规范v1308.docx(93页珍藏版)》请在冰豆网上搜索。
中国移动集中化经分ETL工具测试规范v1308
中国移动通信企业标准
QB-╳╳-╳╳╳-╳╳╳╳
中国移动集中化经分ETL工具
测试规范
TheTestSpecificationforETLtoolsofCentralizedBASS
版本号:
1.0.0
╳╳╳╳-╳╳-╳╳实施
╳╳╳╳-╳╳-╳╳发布
中国移动通信集团公司发布
前言
本标准的目的是对制定对集中化经分一期ETL工具产品的功能、性能、可扩展性等内容测试标准。
本标准由中国移动通信集团业务支撑系统部提出,集团公司采购部归口。
本标准起草单位:
中国移动通信研究院,中国移动(深圳)有限公司,
本标准主要起草人:
谢帆、赵立芬、隋琪、朱春霖、刘航
1.范围
本测试规范的目的是根据集中化经分一期的业务需求,全面考察各类ETL工具产品的功能性、性能及可扩展性,为集中化经分一期工程招标选型和工程建设提供技术依据,用于指导集团公司进行相关ETL系统的测试和验收。
2.规范性引用文件
下列文件中的条款通过本标准的引用而成为本标准的条款。
凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。
凡是不注日期的引用文件,其最新版本适用于本标准。
序号
标准编号
标准名称
发布单位
1
《中国移动集中化经分系统ETL平台技术规范书》
中国移动通信有限公司
3.术语、定义和缩略语
下列术语、定义和缩略语适用于本标准:
3.1.术语/定义
表3-1术语/定义
术语/定义
解释
通用计算平台
指符合X86架构的PC服务器集群
pushdown
向下选择作业执行引擎
3.2.缩略语
表3-2缩略语
缩写
英文描述
中文描述
ETL
Extraction,Transformation,Loading
抽取、转换和加载(是数据获取过程)
4.测试环境
4.1.ETL测试环境
根据一级集中化经分工程规划ETL集群采用基于X86服务器进行构建。
4.1.1.测试组网拓扑
图1ETL工具测试环境组网拓扑
ETL工具测试环境组网拓扑中各个节点类型和说明见下表。
设备域
功能和配置说明
ETL测试集群主测试节点
●由8台通用X86架构服务器构成。
●提供功能测试、性能测试、高可用测试、压力测试使用。
●节点服务器数量根据测试规模设定,根据ETL工具软件架构的不同,如何区分节点功能由参测厂商自行定义。
扩展性测试节点
●由2台与“主测试节点”硬件配置相同的服务器构成。
●提供可扩展性测试使用。
●节点服务器的数量设定应能充分体现扩展性测试的性能差别。
MPP集群数据库
●8台通用X86架构服务器构成,每台服务器自带双端口热插拔硬盘。
测试过程对不同ETL产品MPP集群数据库保持一致
●MPP集群数据库产品采用GP4.3
Hadoop集群
●8台通用X86架构服务器构成,每台服务器自带双端口热插拔硬盘。
测试过程中不同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、自助分析工具测试环境共用)
计算节点服务器
要求参数
设备型号
HPProLiantDL385G7
数量
8
处理器
16核(AMDOpteronProcessorModel6134(2.3GHz)DL385G7八核处理器x2)
内存
48GB(HP8GB(1x8GB)DualRankx4PC3-10600(DDR3-1333)内存x6)
硬盘
裸盘容量2.4T(HP300GB10KSAS6G2.5"双端口热插拔硬盘x8,所有8块硬盘做Raid5,可用空间2.1T)
万兆网卡
HPNC523SFP万兆双端口网卡x1
PC服务器(Hadoop集群)
计算节点服务器
要求参数
设备型号
HPProLiantDL385G7
数量
8
处理器
16核(AMDOpteronProcessorModel6134(2.3GHz)DL385G7八核处理器x2)
内存
48GB(HP8GB(1x8GB)DualRankx4PC3-10600(DDR3-1333)内存x6)
硬盘
裸盘容量2.4T(HP300GB10KSAS6G2.5"双端口热插拔硬盘x8,可用空间2.4T)
万兆网卡
HPNC523SFP万兆双端口网卡x1
PC服务器(普通数据库服务器)
计算节点服务器
要求参数
设备型号
HPProLiantDL385G7
数量
1
处理器
16核(AMDOpteronProcessorModel6134(2.3GHz)DL385G7八核处理器x2)
内存
48GB(HP8GB(1x8GB)DualRankx4PC3-10600(DDR3-1333)内存x6)
硬盘
裸盘容量2.4T(HP300GB10KSAS6G2.5"双端口热插拔硬盘x8,所有8块硬盘做Raid5,可用空间2.1T)
万兆网卡
HPNC523SFP万兆双端口网卡x1
测试管理展现终端
设备型号
Citrixdesktop虚拟桌面
数量
2
处理器
X86架构,2core,2.0GHz
内存
2G
硬盘
60GB
网卡
千兆网卡x2
操作系统
Windows
存储阵列
设备型号
IBMDS8100
详细配置
ETL集群连接存储,共配备存储空间4T。
万兆以太交换机
设备型号
华为QuidwayS9306
设备数量
2
端口类型
10Gb
千兆以太交换机
设备型号
华为QuidwayS9303
5.数据模型
数据模型主要描述本次测试所采用的数据表及其结构、数据表的使用及在测试过程中对数据表的各项相关操作等内容。
5.1.数据表模型
本次测试所使用的表如下:
表类别
表名
中文表明
字段数
单行长度(Byte)
数据规模(亿条)
基础清单表
gprs_cdr
GPRS清单
dtl_bill
明细账单表
tb_svc_subs_hist
用户资料表
其他类
各其具体表结构如下:
1.GPRS清单(gprs_cdr)
中文表名
GPRS清单表
英文表名
gprs_cdr
字段中文名
字段名称
数据类型
长度
手机号码
MSISDN
char
15
入库数据日期
dat_rcd_dt
DATE
8
到访地
vst_rgn_cd
char
6
漫游类型编码
roam_typ_cd
char
3
APN网络标识
apnni
char
40
通话开始时间
call_bgn_tm
char
14
通话时长
call_dur
number
8
上行数据流量
up_dat_strm_amt
number
10
下行数据流量
dwn_dat_strm_amt
number
10
总费用
tot_fee
number
9
GPRS网络类型
GPRS_ntwk_typ
char
1
IMEI号
IMEI_nbr
char
17
业务代码
busn_cd
char
10
CMCC省公司标识
CMCC_prov_prvd_id
number
2
2.明细账单表(dtl_bill)
中文表名
明细账单表
英文表名
dtl_bill
字段中文名
字段名称
数据类型
长度
CMCC省公司标识
cmcc_prov_prvd_id
number
2
用户标识
subs_id
char
20
明细帐目科目编码
dtl_accts_subj_cd
char
4
帐务周期年月
acct_prd_ytm
char
6
应收金额
mer_amt
number
10
优惠金额
disc_amt
number
10
入库数据日期
dat_rcd_dt
DATE
8
3.用户(tb_svc_subs_hist)
中文表名
明细账单表
英文表名
dtl_bill
字段名
字段名
数据类型
长度
Null
用户标识
subs_id
char
20
NOTNULL
CMCC省公司标识
CMCC_prov_prvd_id
number
2
NOTNULL
CMCC运营公司标识
CMCC_prvd_id
char
5
NOTNULL
客户标识
cust_id
char
20
NOTNULL
客户品牌标识
cust_brnd_id
char
1
NOTNULL
用户类型代码
subs_typ_cd
char
1
NOTNULL
入网日期
ent_dt
DATE
8
NOTNULL
入网渠道标识
ent_chnl_id
char
40
NOTNULL
用户业务类型代码
subs_busn_typ_cd
char
2
NOTNULL
手机号码
MSISDN
char
15
NOTNULL
IMSI号
IMSI_nbr
char
15
NOTNULL
移动公话类型代码
mpub_typ_cd
char
1
NOTNULL
用户付费类型代码
subs_pay_typ_cd
char
1
NOTNULL
入网方式代码
ent_mthd_cd
char
2
NOTNULL
数据SIM卡用户标志
dat_sim_crd_subs_flg
char
1
NOTNULL
5.2.接口数据格式及大小
●接口数据格式及大小语句测试用例具体要求设定
●性能相关测试,不同厂商所采用的数据文件格式及记录条数一致
●性能测试所涉及最大数据文件2G,加载表采用001~N的编码规则,进行多表加载时表结构一致。
●性能测试总体数据量为2G*1000=2T
●满载处理能力测试数据量不进行预估
6.测试用例
6.1.总体约束
如下要求各厂商ETL工具必须支持,如不支持则直接按整体测试不通过处理:
●支持基于X86集群分布式配置,且可通过扩展硬件设备线性地提高系统性能和容量;在集群扩展时,不应对现有节点造成影响;
●支持对Hadoop、Teradata、MPP库的接口抽取、加载方式;
●提供图形化的开发配置界面,支持可视化作业设计、及执行的调度和管理功能,支持多租户的开发模式及批量开发功能,支持作业在开发、测试、生产环境中的迁移;
●支持数据抽取、处理、加载过程中ETL内部数据落地、不落地的两种处理方式;
●测试时将优先执行否决项案例的测试,两项否决项测试案例不通过的产品将被终止测试,无测试成绩。
●ETL工具在实现转换过程或调用外部函数时,需利用自身能力,先转换、再加载,不可以在数据库load过程中进行转换,引用外部函数不可以应用数据库UDF实现(不允许ELT的模式)。
6.2.评分标准
测试用例总表及相应分值如下:
测试类型
测试用例
分值
功能测试(54分)
数据抽取与数据校验
抽取基础功能
1
手工和自动抽取
1
数据校验
2
hadoop支撑
2
实时数据采集
2
数据转换
转换规则-数据拆分与合并
1
数据规则-字段转换
1
数据规则-数据格式合法性
1
数据规则-空值处理
1
转换规则-其他转换规则支撑
2
转换功能-字符集转换
1
数据加载
全量加载
1
增量加载
1
增量更新
1
多副本加载
1
执行引擎选择
推送至数据库引擎执行
1
推送至HADOOP引擎执行
4
调度服务
调度规则-脚本调度
3
调度规则-优先级
1
调度规则-定时调度
1
界面控制
1
调度监控
1
参数配置
1
异常处理
1
日志管理
1
外部程序API支持
1
图形化配置管理环境
开发配置管理图形化界面
1
监控管理图形化界面
1
安全与审计
权限控制及审计
5
负载均衡
并发任务间的负载均衡
1
单个任务负载均衡
2
辅助功能
批量开发功能
3
作业版本管理与团队开发功能
3
作业迁移功能
3
性能测试(35分)
性能测试场景1:
单个大文件加载至单表
1
性能测试场景2:
多个小文件加载至单表
1
性能测试场景3:
多个大文件加载至单表
2
性能测试场景4:
多个大文件加载至多表
2
性能测试场景5:
复杂转换规则下的性能
5
性能测试场景6:
压缩大文件加载至单表
5
性能测试场景7:
双库加载
5
性能测试场景8:
满载处理能力
8
性能测试场景9:
数据不落地处理-MPP至HDFS
3
性能测试场景10:
数据不落地处理-HDFS至MPP
3
可扩展性测试(6分)
可扩展性测试场景1:
增加节点
3
可扩展性测试场景2:
减少节点
3
高可用测试(5分)
高可用测试场景1:
集群中单一节点宕机
2
高可用测试场景2:
集群中单一节点闪断
3
合计
100
加权得分计算规则:
例如:
产品A,B,C为待评分产品,产品A时长为T1,产品B时长为T2,产品C时长为T3,其中,T1 则: 产品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.ETL工具已正确部署,准备就绪 测试步骤: 1.准备一数据文件; 2.对此文件进行手工抽取 3.对此文件进行定时自动抽取 语句 无 预期结果: 工具支持手工和自动抽取 测试结果: 是否支持手工抽取: 是()否() 是否支持自动抽取: 是()否() 评分标准 手工抽取和自动抽取有一项不支持,本测试用例不得分 备注: 测试执行人员: 测试时间 厂家配合人员签字: 6.3.1.3.数据校验 项目: 数据校验 分项目: 用例编号: 版本: 测试目的: 测试ETL工具数据校验功能 预置条件: 1.ETL工具已正确部署,准备就绪 2.准备一数据文件,以及对应的数据校验文件 3.校验文件包含内容: 数据日期、文件生成日期、文件大小(字节数)、文件中包含记录数、文件中单行记录长度 测试步骤: 1.将接口放入接口扫描目录,执行ETL过程; 2.修改校验文件不同内容,查看是否在执行过程进行相关内容的数据校验 3.设计场景,对此数据文件同时进行某列取值不可为空的校验、时间格式的校验、数据取值范围的校验、数据间逻辑的校验、主子表关系校验 语句 无 预期结果: 1.对文件校验中所列内容全部进行数据校验 2.ETL支持对记录级别的数据校验 测试结果: 进行数据校验内容有: 数据日期()、文件生成日期()、文件大小()、文件中包含记录数()、文件中单行记录长度()、某列取值不可为空的校验()、时间格式的校验()、数据取值范围的校验()、数据间逻辑的校验()、主子表关系校验() 评分标准 预期结果中所列数据校验内容,每支持一项得分10% 备注: 测试执行人员: 测试时间 厂家配合人员签字: 6.3.1.4.Hadoop支撑 项目: Hadoop支撑 分项目: Hadoop支撑 用例编号: 版本: 测试目的: 测试ETL工具hadoop支撑功能 预置条件: 1.ETL工具已正确部署,准备就绪 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实时数据加载效率 预置条件: 1.ETL工具已正确部署,准备就绪 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工具转换的数据拆分功能 预置条件: 1.ETL工具已正确部署,准备就绪 2.准备接口目标表及接口的相关作业完成 测试步骤: 1.将接口文件件放入接口扫描目录,执行ETL过程; 2.准备两个调度过程完成拆分和合并两个场景: 按照地域进行对数据文件的拆分和合并 3.检查调度是否存在文件拆分过程; 4.检查调度是否存在文件的合并过程 5.检查调度是否存在字段的拆分过程; 6.检查调度是否存在字段的合并过程 7.检查相应地
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国移动 集中化 ETL 工具 测试 规范 v1308