数据迁移测试经验分享

以下为作者观点:

数据迁移,是在保证新旧系统业务连续性的前提下,将数据从旧数据库迁移到新数据库的过程,测试前通过迁移策略和方案了解新旧系统数据如何重构与关联,测试过程需确保数据迁移的正确性,主要体现在技术层面,确保数据0丢失,数据库库表处理正确,字段映射正确;业务层面确保数据量、各数据转换正确,确保业务连续性,数据能向后、向前兼容性测试,同时新旧功能可以正常使用,相关报表正确。

迁移测试关注的重难点?风险?

可能有同学会问:数据迁移测试需要关注哪些点?测试过程可能存在哪些风险呢?

首先,需要关注数据迁移的技术细节。数据迁移通常有两种类型,同类型数据库的迁移和不同类型数据库的迁移,不同类型的数据库迁移可能涉及表结构变化、编码和语法上的差异,会加大迁移的难度。在表结构方面,有的迁移是直接复制表,有的迁移是进行表结构拆分与合并,后者测试时需关注各表字段、类型、长度、映射等变化。迁移数据规模程度也会影响到迁移的结果,数据量大,数据库表迁移准确性难度增大。

另外,还需要关注迁移时点的数据的业务状态。通常来说,迁移时服务器应用会提前停止服务,并进行必要的数据检查,避免迁移期间产生新的业务或操作系统带来的迁移问题。若迁移涉及表结构的变更,表字段新增、修改、删除等变化。测试时需关注各表的更正情况,数据、报表变化情况。

最后,需要关注迁移时点前后的业务规则变化。除了考虑新系统的规则变化,还要考虑旧数据迁移后需要进行规则适配,例如旧系统没有,新系统有的字段,验证是否给到正确的默认值。保证旧系统数据迁移后业务的可用性与连续性,避免迁移后需重新回滚测试。

接下来,我们将详细介绍数据迁移的测试策略及测试实施,话不多说,上干货~

迁移测试验证策略与计划

一、需要熟悉迁移方案

了解新老系统上线方案,以及数据如何迁移,存量兼容数据如何处理。新老系统切换时是否关闭批量处理、日终初批处理服务。上线后,旧系统设备如何处理,是废弃还是继续使用。在数据并账方面,流程如何处理,账务如何迁移。在数据同步方面,了解同步时间策略和同步范围策略,是全量同步还是增量同步。

以商票系统为例,迁移总体技术方案采用编写迁移shell脚本,先在旧库建立与新库业务表相同字段的临时表,在旧库进行数据的筛选、加工至临时表,再将临时表中的数据导出成表数据文件,到oracle数据库使用sqlldr导入informix数据文件。存量数据一次性迁移,增量数据实时迁移方式进行迁移。迁移时点为日初后迁移,新系统上线后,旧系统依然在使用,故测试时不仅要验证迁移数据在新系统的业务验证,还需要对旧系统进行回归验证。

二、需要了解迁移范围和迁移规则

熟悉完迁移方案后,需圈定迁移范围才能针对性进行测试验证,分析是否涉及基础数据迁移,历史业务数据迁移,是否涉及流程中的数据迁移。

1.关注迁移数据种类和状态,不同类型数据测试关注点不同,例如:基础数据迁移后需要关注新旧系统数据一致性,纯历史数据迁移后,除了数据一致性外,还需要关注迁移后在新系统的查询和业务是否正常。流程中的数据需要关注每个环节的状态,关注在途业务是否能进行后续处理。

2.了解数据迁移规则,数据库变化点、字段变化如字段类型、长度、映射关系,根据规则设计测试案例,确保迁移后映射正确。

3.关注关联系统供数相关文件,分析涉及迁移的关联系统数量,以及相应的卸数文件,验证迁移后卸数给关联系统文件数据量以及字段的正确性。需要特别注意的是,编码方式可能产生变化,需及时同上下游系统同步,制定解决方案,避免乱码产生。

三、需要注意备份和回滚方案

涉及数据备份与回滚与应用备份与回滚,若迁移失败或迁移出现问题时,能及时进行迁移回滚。迁移时特殊情况考虑,如本次商票系统,生产发现有维护错或者缺失的记录,通过新设置的维护功能进行手工维护。

四、制定数据迁移测试计划

测试主要通过技术手段和业务手段的验证来确保迁移的正确性。测试前,根据SIT各轮次测试安排,规划数据迁移验证时间。通常在SIT三个轮次中安排两轮迁移测试,如果有UAT5回归测试,可在回归环境验证一轮。迁移涉及环境的重置,如果有外部联调单位,还需根据联调单位来调整迁移测试时间安排。

经验总结:

技术层面主要验证以下几点:

①数据量0丢失,包含数据是否有多迁移或少迁移,测试根据根据迁移规则筛选数据量,迁移前后进行迁移前后SQL检查。

②数据库测试点:数据库表、字段处理规则;字段映射,迁移规则验证。

③迁移日志检查,检查迁移分步处理是否合理,数据记录是否正确。

④迁移初始值,如特殊流水号、业务ID、账务ID等流水号的配置和处理。

⑤考虑异常情况,异常数据,异常交易,异常处理时情况。

业务层面主要验证以下几点:

①登记簿报表功能及数据准确性;

②功能可用性;

③业务连续性。

迁移测试准备与测试实施

迁移测试准备:

测试数据准备:数据预埋是测试前很重要的准备环节,决定是否有足够的,完整的数据满足迁移测试。确认迁移方案与计划后,准备迁移测试的数据,对于复杂场景,一定要梳理好场景表,根据梳理好的场景表等进行数据预埋,埋数结束需确认预埋数据完整性,避免切换系统后无法再增补所需数据。这部分数据可以在进入SIT测试时优先验证,因为部分数据有时效性,例如票据可能到期结清,无法用于后续业务连续性测试。

迁移前数据备份:迁移前相关业务报表数据导出备份,后续迁移测试进行核对。开发也会将迁移前预埋数据库备份,预防迁移问题需回滚。

迁移测试实施实例:

还是以商票系统为例,首先进行数据量验证,涉及以下两个方面:

①新旧系统业务表/公共数据表的查询、统计、前后端对比来校验;

②涉及公共的机构表数据、用户数据量确保数据的准确性。

其次,进行数据准确性验证

①确保数据0丢失,根据迁移规则筛选数据量确保迁移前数量与迁移后数量一致;

②数据库测试点,通过对比迁移前后的数据库表、字段处理规则,字段映射,迁移规则进行验证。

③涉及公共表的机构、用户数据量岗位的权限准确。

第三,登记簿报表验证,主要涉及验证总行全辖、分行等各机构买卖登记簿/日终余额登记簿数据各字段是否正确、总数是否正确;最后进行功能可用性验证和业务连续性验证。

功能可用性验证和业务连续性验证主要验证以下方面:

①旧数据、新数据在新系统操作流程是否受到阻碍;旧系统在新系统挑票界面可以正常挑到票,以及等分化的票据业务流程不受影响。

②能查询老数据、也能查询新数据;涉及新数据/老数据迁移后均能在新系统登记簿查询到,以及老数据均能在老登记簿查询到。

③业务连续性验证,涉及票据迁移(传统票据贴现后),能保证后手业务能正常开展;涉及公共数据,保证用户或机构下相关业务能正常开展。

④最后是特殊情况和异常校验,流程中的数据(在途业务的处理),流程中的数据需要关注每个环节的状态,关注在途业务是否能进行后续处理。

以上测试点不仅可以用于数据迁移测试,在数据清洗以及相关业务代码重构的时候,一样的适用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机科技学术讲座心得体会,学术报告心得体会

好文网为大家准备了关于学术报告心得体会的文章,好文网里面收集了五十多篇关于好学术报告心得体会好文,希望可以帮助大家。更多关于学术报告心得体会内容请关注好文网。ctrlD请收藏!上周四,我在信息学院听了一场3G方面的技术讲座,讲座一、9月14日晚19&am…

祖孙俩人是什么关系_一个人生活也挺好,为什么还需要亲密关系?

专注女性自我蜕变和解放,愿你面向太阳,坚定而温暖。现在很多90后,都谈婚色变,都更多的想要一个人生活,觉得生活没有压力,自己不饿,全部搞定,也有亲情和友情,也可以享受恋…

4t硬盘实际容量是多少_SMR硬盘到底能用不?点进来看看避免踩雷

***身处信息时代,随着网络带宽的增加,游戏容量越做越大,网上的高清片源也动辄几十G,再加上各种零零碎碎的学习资料,这时候电脑标配的1T、2T机械硬盘的容量就有点捉襟见肘了。越来越来多的个人用户开始组起了家庭NAS(网…

计算机进去bios方式,各种电脑进入BIOS方法汇总|进入bios的方法大全

【各种电脑进入Bios设置的方法】如今我们已经很少上电脑店去让别人给我升级或者安装系统,我们只要借助网络上的教程就可以完成系统的更新了。但是通过光盘,u盘等手段安装系统,都需要进行BIOS设置,主要是选择开机启动项。而且各种电…

怎么将翼型导入catia_CATIA导入翼型出现了问题,翼型是在网上找的。说是样条线运算有问题 - 机械 - 小木虫 - 学术 科研 互动社区...

CATIA显示两个连续点在几何上完全相同,请在位置63处选择几何上完全不同的点。但是我删除了63处的点以后,它又说62处选择几何上完全不同的点。我想知道是哪里出了问题 。谢谢下面是翼型数据点。0 0 00.000602 0 0.0031650.00…

ajax会占用服务器端内存吗,javascript - 为什么不允许在jquery datatable服务器端处理ajax成功使用? - 堆栈内存溢出...

我正在使用asp.net mvc5并尝试使用jquery datatable插件服务器端处理。 服务器端处理的教程显示了从服务器返回结果的格式。但是我的项目的不同之处在于我无法从服务器发送“数据”的类型化数组。 我发送整个tbody作为字符串与所有HTML标签。 我的数据表代码如下。var e t.Dat…

寻路机器人单片机程序示例_C51独立按键的识别示例程序

每按一次独立键盘的S2键,与P1口相连的一个发光二极管往下移动一位。#includesbit BY1P3^4; //定义按键的输入端S2键unsigned char count; //按键计数,每按一下,count加1unsigned char temp;unsigned char a,b;void delay10ms(void) //延时程序{unsigned char i…

xp系统怎么关闭wmi服务器,WinXP系统如何启用WMI服务,小编教你WinXP系统如何启用WMI服务...

WMI服务是干什么用的?网友发问了。WMI用来生成组织和管理系统信息的工具,使系统管理人员能够更密切的监视系统活动。基于WMI的管理系统的使用带来了更可靠的计算环境和更高的系统可靠性。那么WinXP系统如何启用WMI服务?下面,小编给…

h3c交换机配置远程管理_H3C S3100交换机配置VLAN和远程管理

一、基本设置1. console线连接成功2. 进入系统模式system-view //提示符由 变为 [H3C]3. 更改设备名称[H3C]sysname TEST4. 查看所有配置信息[H3C]display current-configuration //display this 为查看当前路径下的设备信息5. 创建并进入VLAN 10[H3C]vlan 106. 把1-4端口划入V…

demo_ajax_json.js,ajax小demo-----ajax中json的使用

使用简单例子,表单的的输入,将表单输入以JSON的形式传入,并后台返回JSON格式,使用js函数处理,进行显示,进一步熟悉了ajax的用法,以及JSON的的使用。例子如下:html部分:用…

c# 读取空行,如何使用C#读取文本文件时删除空行

i have text file and read it using stream reader, when my file is having empty line along with data, it does not read any thing. how to remove the empty line using C#.解决方案Well, you should use the method "ReadLine()" from the StreamReader in a…

ajax保存避免重复提交,ajax 实现防止重复提交

搜索热词下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。防止ajax重复提交提交/*** 模拟ajax提交* fn 回调函数* */function Ajax(fn){setTimeout(function(){var data {result:true,msg:提交成功!}…

摆胯教学分解_聚十年求索,筑理想课堂——厦门市梧侣学校十周年庆区级教学小学数学(数与形)...

寒来暑往,秋收冬藏。养精蓄锐是为了走更远的路,厚积薄发是为了更好地前行。梧侣十年,不忘初心,砥砺奋进。梧侣十年,不忘初心,昂首阔步。十年来,学校始终秉承朱永新的新教育理念,致力…

雨课堂显示服务器无法连接,雨课堂用的什么云服务器

雨课堂用的什么云服务器 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。应用创建成功后,您可以在“应用管理”页面查看…

gogs可以自动化部署吗_三千、五千平方的仓库房可以用自动化立体仓库吗?

制造企业亦或物流仓储企业,都有自己的仓库,这些库房有大有小,其中的设备有的先进有的一般。现在很多企业似乎都青睐于自动化立体仓库这样的高端存储设备,但有些仓库不是特别的大,比如3000、5000平方的,这样…

施乐带服务器彩机型号,富士施乐推出智能生产型彩色数码印刷系统

(2013年8月28日,北京)今天,富士施乐宣布推出全新智能生产型彩色数码印刷系统Color J75 Press。新品具有彩色打印、复印、扫描三大功能,不仅拥有目前最高的彩色输出分辨率,还采用了富士施乐独有的专业色彩管理工具——自动色彩质量…

430单片机实现三人投票表决器_长虹KFR-28变频空调器室内机控制板电路原理分析...

长虹KFR -28GW/BP (BMF)室内机电气接线图如图所示。1.开关电源电路电源电路为空调器室内机电气控制系统和单片机控制电路提供所需的工作电源。在本电路中,12V主要为继电器、驱动集成电路、蜂鸣器等的工作电源;5V主要为单片机及单片机外围电路的工作电源。…

仲裁文件夹服务器,仲裁服务器是什么

弹性云服务器 ECS弹性云服务器(Elastic Cloud Server)是一种可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率三年低至5折,多种配置可选了解详情Linux云服…

syslog 向内存中缓存_动画:深入浅出从根上理解 HTTP 缓存机制及原理!

HTTP 缓存,对于前端的性能优化方面来讲,是非常关键的,从缓存中读取数据和直接向服务器请求数据,完全就是一个在天上,一个在地下。我们最熟悉的是 HTTP 服务器响应返回状态码 304,304 代表表示告诉浏览器&am…

飞猪订房显示服务器出错,消费者在飞猪平台全款预订酒店后无法办理入住

原标题:消费者在飞猪平台全款预订酒店后无法办理入住千龙网北京4月25日讯 五一前夕,有关在线旅游的消费者投诉明显增多。房先生近日向消费者网在线投诉平台反映,4月12日,他从飞猪旅行网预定北京首都机场朗豪酒店1间豪华客房&#…