银行系统架构比较庞大,数据迁移涉及底层数据移植,数据量更是惊人。因此在数据移植过程中的问题也与一般非银行系统的数据移植有所区分。
不论是相同类型的数据库的数据移植还是异构数据库的数据移植,都需要做到数据移植后的多角度验证。需要关注内容较多,涉及的面比较广,可能带来的问题也比较隐蔽。由于当前没有看到过比较完整的银行类数据迁移测试方法,本部分尝试阐述一些数据迁移测试过程中的测试设计方法及核心关注点(主要是静态测试)。
数据移植的静态比对分析方法
静态比对主要从两个角度考虑:汇总核对与明细核对。核对方法主要基于数据库层面的数据比对
- 汇总核对
汇总核对主要从账户核对、其他统计类两个角度进行分析
1)账务核对:根据每张迁移表的特点设计不同维度的统计条件分别统计源表、目标表的数据量、金额、数值等,全方位的保证迁移数据的完整性。包括但不限于存款、内部资金、现金、重空等不同储种、币种、产品的余额、积数的检核。
2)其他统计类:迁出方总数值合计要与迁入方总数值合计保持一致。统计维度包含但不限于:机构、网点、币种、产品、状态、业务种类、凭证种类、客户类型、VIP客户统计等。
- 明细核对
明细核对通过针对单字段和多字段的核验来两个角度分析,用以确保数据一致性、准确性、合规性、完整性
1)单字段核验
对迁入目标表的移植数据单表字段进行检核,保证移植数据的表字段在新老系统的表中一致性、准确性
- 字段属性核验:根据每张表结构的具体设定,针对表字段进行核验,以确保数据完整性,准确性,可用性。包括但不限于字段长度、精度、字段类型等;
- 主键唯一性检测:用于强制表的实体完整性,确保表内只有一个主键及值的唯一性;
- 主键空值检测:确保主键非空,且无空格;
- 码值转换验证:根据迁移源表对应的目标表码值对应关系的转换进行验证,确保转换正确。码值转换是否正确检查、码值是否在值域内检查;
- 字段非空、缺省检测:依据需求规格说明书及迁移方案要求,针对有非空、缺省字段的检查;
- 数据准确性验证:重要金额字段检查、默认值检查、多字段拼接;
- 数据合法性: 日期合法性检核, 数字合法性检核:如金额字段检查(利息字段不小于0),重点关注为0和为负数的值;
- 标准参数的检核:如:币种,票据种类,账户类型,客户类别等。(落标、金标、行标、国标);
- 字段映射规则核验:直接迁移,字段运算,参照转换,日期转换,聚集运算,既定取值等。
2)多字段核验-表内
依据目标系统的需求规格说明书及迁移方案规则,检查多字段间关联和约束规则,保证移植数据在新老系统的完整性、合规性
- 表字段中冻结止付金额有值,则检查冻结止付状态是否生效;
- 销户日期有数据,则检查销户日期大于等于开户日期,状态为销户;
- 活期利息,则检查利息=积数*利率;
- 可用余额,则检查可用余额=余额-冻结金额-止付金额;
- 起始日期是否小于结束或截止日期;
- 总额度是否大于分项额度;
- 基于标识关联。
3)多字段核验-表间
依据目标系统的需求规格说明书及迁移方案规则,检查跨系统关联和约束规则,保证移植数据在新老系统的完整性、合规性
- 检查机构号是否存在机构信息表中;
- 检查柜员是否存在机构柜员表中;
- 产品码是否存在产品信息表中;
- 币种是否存在币种表中;
- 客户号是否存在客户信息表中;
- 还款账号是否存在活期账户表中;
- 凭证种类是否存在凭证种类登记薄中;
- 账户冻结是否存在冻结解冻登记薄中;
- 账户止付是否存在止付解付登记薄中;
- 卡号是否存在卡介质登记薄中;
- 表单关联字段检核。
浙公网安备 33010602011771号