在上一期的文章中,我们对数据库表结构及迁移数据的测试方法和测试经验进行了介绍。有想了解的同学可以戳《据说连数据库测试都因为太实用被人盯上了》进行回顾。在本期文章,我们将继续以实际项目测试经历为依据,对数据库迁移完成后的功能测试的方法及经验进行总结,供测试人员参考。

有的同学可能会想,只要后台数据库表正确迁移完毕且验证完毕,那么前台程序自然不会有什么问题。但是要知道,数据库迁移测试的目标是保证数据正确、一致、可用。我们可以通过编写脚本提取新旧库表数据并使用文本对比工具(例如Beyond Compare)或MD5值对比来验证数据的正确性及一致性。但针对数据的可用性,则需要通过黑盒测试去进一步验证。因此,对于数据迁移而言,黑盒测试是十分重要的一环。我们要在后台验证数据库表正确迁移的基础上,针对性地开展功能测试。

一般而言,数据库迁移是伴随着系统功能的迭代而进行的,因此我们进行数据迁移功能测试的前提就是确保新系统本身的业务功能是可用、完善的。如果新系统本身的功能就未经测试,存在大量BUG,此时直接进行功能测试,就难以定位是系统兼容老数据的错误还是系统本身的BUG,无形中给测试增加了成本。所以,在进行针对数据迁移的功能测试之前,要首先确保新系统本身的可用性。在新系统业务功能得到充分验证前提下,我们可以从以下几个关注点出发验证迁移数据的可用性。

一、既然是数据迁移,首要目的自然是验证迁移过来的存量数据在功能上是否有效、可用。这时候我们可以从以下几个维度考虑:1、如果数据是前台可以展示的(直观展示或者数据字典转译到前台),那么可以验证存量数据迁移后能否在前端进行正常地查、改、删操作。如果迁移过程中新表涉及到新增或删除字段,那么还可以进一步验证改动的字段能否正常展示或修改;2、梳理迁移的存量数据相关的业务逻辑,在迁移后,要验证存量数据涉及的主要业务流程是否可以使用存量数据跑通,关注存量数据在后续生命周期的应用。譬如迁移的是用户登陆数据,那么就需要验证登陆、以及登陆后的一系列操作能否正常进行,以此来充分确认迁移的可用性。当然,这就需要测试人员与业务、开发去进行充分沟通,准确的了解业务逻辑,完整地梳理出数据与业务的对应关系,这一点往往也是比较难的,所以可以在迁移方案制定伊始就去沟通了解,充分发挥测试前移的思想;3、迁移过程中新表如果涉及到新增字段,还需要关注存量数据在该新增字段上是否填充了默认值或空值,以及其在系统功能上能否正常使用。再以用户数据为例,假如迁移后用户表中新增了一项权限。此时就要区分两种情况:(1)迁移后对该字段填充了默认值(即有或没有该权限),那需要进一步验证该默认值下,该条用户数据在业务功能上是否能进行此操作。(2)迁移后对该字段置空,那么首先要从业务逻辑上去确定空值是有权限还是无权限,从而去做进一步地验证。

二、验证迁移后的新表中的增量数据是否有效、可用。迁移除了存量数据地迁移,往往伴随着表结构地变化,所以在新的表结构下,增量数据地验证也是我们关注地一部分,与存量数据类似,可以从以下几个维度考虑:1、验证系统前台功能是否可以正常新增数据,并验证其其进行查询、修改、删除功能是否可用;2、关注增量数据涉及的主要业务流程是否能跑通,关注其在业务上的整个生命周期中的应用。

三、验证迁移后新表中存量、增量数据的功能上的交互,可以从两方面去关注:1、存量数据是否可以管理或制造增量数据。譬如老用户可以新建用户、管控新用户。2、增量数据是否可以管理存量数据。譬如新建用户是否可以管控老用户,对其删改等操作。当然,这个举例较为简单,实际测试中可以根据所测系统业务逻辑的去进一步挖掘两类在功能上的交互,以达到测试充分性的目的。

由于数据库迁移通常涉及底层的模块较多,除上述测试关注点外,还是建议进行全系统的回归测试。但在实际测试中回归测试工作量往往是巨大的,这时候合理安排测试人力资源尤为重要。以我们组建的测试团队为例,采取了部分测试人员绑定存量数据用户,部分测试人员绑定增量数据用户的方式,在系统中同时进行操作,验证功能时存量数据、增量数据交叉进行。同时,通过手工测试和自动化测试相结合的方式,尽可能提高测试效率和测试覆盖率。

关于数据库迁移测试,在上期和本期中我们已经从数据库结构、迁移数据、功能测试的维度进行了介绍,希望能够对大家提供测试的帮助。后续我们还会介绍关于数据库迁移性能测试内容,敬请期待~

版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

软件系统测试性迁移,数据库迁移测试——功能测试相关推荐

  1. 软件系统测试性迁移,软件测试之迁移测试 - 啄木鸟顾老师的个人空间 - OSCHINA - 中文开源技术交流社区...

    啄木鸟软件测试培训网:www.3testing.com 客户为什么会有迁移的需求? 一般而言,迁移的过程势必对当前应用系统运行产生一定的影响,从而会给客户的营业额带来一定的损失,同时客户还得投入大量的 ...

  2. 数据库迁移 软件Spoon Kettle环境搭配(本人踩过的坑)

    项目需要用到数据库迁移.涉及到了Spoon. 初始版本使用的是Kettle (70+M) 由于是测试 就在本地整了.70M版本java环境要求比较严格,我本身就是1.8的环境.还是不匹配.无奈根据弹框 ...

  3. 一部分 数据 迁移_软件测试员12小时惊魂记:数据库迁移出大事故,如何测试?...

    信息时代,随着用户数量不断增加,业务量不断增长,企业原有数据库不足以有效支撑业务的发展,在此情况下,企业更多的是寻求一款更加稳定的数据库进行替代. 本文以Sybase数据库和Oracle数据库为例.O ...

  4. 数据库迁移和同步软件:DBConvert Studio

    DBConvert Studio 是一款强大的跨数据库迁移和同步软件,可在不同数据库格式之间转换数据库结构和数据.将成熟.稳定.久经考验的 DBConvert 和 DBSync 核心与改进的现代 UX ...

  5. dts数据库迁移工具_传统数据库迁移上云利器-ADAM

    自1970年关系型数据库被提出以来,至今已有50年历史.但在关系型数据库领域正在发生着巨大的变化,首先是互联网的发展,使得开源数据库越来越受欢迎,可扩展性成为支撑业务发展的重要特性,比如WebScal ...

  6. 备份数据库的expdp语句_银行业Oracle RAC数据库迁移经验分享

    引言 在银行业中,数据是生命.是金钱.是最重要的资产,因此数据库运维工作更是IT运维中的重点.在数据库日常管理中,数据迁移是一项极为重要的工作.迁移不仅要保证数据完整性,还要确保业务连续稳定运行,是一 ...

  7. 将本地SQL Server数据库迁移到Azure SQL数据库

    In this article, we will discuss and understand a method to migrate an on-premises SQL Server databa ...

  8. 异构数据库迁移的曲折之路

    随着近些年来数据库的变化,正有越来越多的企业面临将传统数据库迁移到开源或新型商业产品上.在这一过程中,会面临诸多问题.这里就将常见的一些问题整理出来,希望能够在数据库选型及评估数据库迁移风险等方面有所 ...

  9. XX公司数据库迁移项目可行性研究与风险评估

    XX公司数据库迁移项目可行性研究与风险评估 请尊重知识,请尊重原创 更多资料参考请见  http://www.cezuwang.com/listFilm?page=1&areaId=906&a ...

最新文章

  1. python井字棋_用Python做一个井字棋小游戏
  2. android中的Json一
  3. 伦敦大学学院、UC伯克利联手,撰文综述深度强化学习泛化研究
  4. python批量下载文件-Python实现批量下载文件
  5. 学习 Message(10): WM_CancelMode 消息测试
  6. OpenCASCADE绘制测试线束:简单的向量代数和测量之测量命令
  7. php 复制文件夹并压缩到最小_php将文件夹打包成zip文件
  8. 老齐python-基础3(列表)
  9. python odoo_Odoo开发教程20-使用 Python 虚拟环境安装 Odoo第二讲
  10. 牛客16494 生活大爆炸版石头剪刀布
  11. 苹果cms v8模板 高仿爱奇艺带PC+手机模板
  12. devops是运维吗_您是DevOps的合适人选吗?
  13. 长短期记忆网络_思维导图:长短期记忆模型
  14. 46 - 算法 -Leetcode 168 -位运算 类型模拟倒序利用vector
  15. [Java] 蓝桥杯ALGO-139 算法训练 s01串
  16. 直线分割平面问题(数学归纳法)
  17. linux 5.4 安装php
  18. Alex 的 Hadoop 菜鸟教程: 第19课 华丽的控制台 HUE 安装以及使用教程
  19. Python 文本滚动播放
  20. 关于解决Win10家庭中文版没有组策略编辑器的问题

热门文章

  1. 使用Samba或NFS实现文件共享
  2. 计算机模拟求解流体力学方程,大学物理中流体力学问题的计算机模拟研究.PDF...
  3. WIN7/XP双主分区独立双系统的引导教程
  4. android开发工程师简历自我评价,软件工程师简历自我评价
  5. 计算机如何转金融,计算机要不要转金融,求大神支招!!!(转载)
  6. Python遥感图像处理应用篇(二十九):遥感图像拉伸处理
  7. 张璇计算机英语阅读教程,张璇 - 云南大学 - 软件学院
  8. Python sys 模块的 sys.argv
  9. Elasticsearch:使用不同的 CA 更新安全证书 (一)
  10. 一般显示器 用什么测试软件,显示器测试软件是什么?显示测试软件能测试什么?...