数据迁移测试教程:一份完整的指南

发表于:2019-1-31 08:57  作者:咖啡猫译   来源:51Testing软件测试网原创

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 软件测试技术

  数据迁移测试概览
  我们常常遇到这样的情况: 随着技术的更新,比如软件升级到下一个版本或者更换不同的数据库等,随之而来应用系统也要部署到不同的服务器上。
  这实际上意味着什么?
  在这种情况下测试团队被期望做些什么呢?
  站在测试的角度上,这意味着伴随着从现有系统到新系统的成功迁移,对应用系统一定要彻底地重新进行一次端到端的测试。
  本系列教程:
  第一部分数据迁移测试
  第二部分迁移测试的类型
  在这种情况下,系统测试需要被执行,并且不管是旧系统的数据还是新数据都需要用来作测试数据。伴随着功能的新增和修改,现有的功能点都需要被验证。
  当用户的全部数据要被迁移到新系统时,就不仅仅是迁移测试了,我们可以把这种测试类型称为数据迁移测试。因此,迁移测试的对象包括:旧数据、新数据、新旧数据混合、旧功能以及新功能。
  旧的应用系统通常被称为“遗留应用”。伴随着新应用的生成,遗留应用也会被强制执行测试,直到新应用变得稳定和完善。在新系统上进行全面的迁移测试会揭露一些新的问题,这些问题通常在遗留应用中不会被发现。
  什么是迁移测试?
  迁移测试是指当遗留系统向新系统无缝过渡(宕机时间小、数据完整性好、没有数据丢失)时,进行的一种验证性的测试过程,以确保新系统所有指定的功能特性和非功能特性都满足要求。
  简单描述一下系统迁移:
  为什么要做迁移测试?
  我们都知道,应用迁移到一个全新的系统上可能有很多原因,比如:系统加固、技术废弃、系统优化或者其他任何原因。
  当一个正在使用中的系统被迁移到一个新系统上去时,最起码要达到以下几点要求:
  1.因为迁移给用户造成的任何类型的中断和不便都要被避免或者最小化。比如:宕机、数据丢失等。
  2.需要确保用户可以继续使用软件的所有特性,尽管软件在迁移期间被造成较小的损伤或者零损伤。比如:功能的改变,特定功能的移除
  3.另外,对于在实际的系统迁移过程中可能会发生的任何故障错误都做好预期和排除也十分重要。
  因此,为了确保系统的平滑过渡且过渡中消除了上述任何缺点,在实验室进行迁移测试是非常有必要的。
  这种测试拥有其自身的重要性,并且当数据出现时它当扮演者一个非常重要的角色。
  从技术上讲,基于以下几个目标迁移测试同样需要被执行:
  确保新系统/升级系统的兼容性。新系统需要对遗留系统支持的所有软硬件平台兼容。同时,新系统对于新的软硬件平台的兼容性也需要被测试。
  确保所有现存功能都能像遗留系统一样正常运行。当与遗留系统进行比较时,新系统的运行方式没有改变。
  由于迁移引起大量缺陷bug的概率很高,很多bug往往和数据相关联,因此这类bug需要在测试过程中被发现出来并修复掉。
  确保新系统的响应时间小于或者等于遗留系统的响应时间
  确保测试过程中服务器、硬件、软件之间的连接是完好的且没有中断的,不同组件之间的数据流在任何情况下都不会被中断。
  什么时候需要做迁移测试?
  在迁移前和迁移后都需要做迁移测试。
  在测试实践中,迁移测试的不同阶段是这样定义的:
  1.预迁移测试
  2.迁移测试
  3.后迁移测试
  除此之外,下面的测试作为完整迁移测试活动的一部分也需要被执行:
  1.后向兼容性验证
  2.回滚测试
  在执行测试之前,对于每一个测试人员清晰地理解如下几点是非常有必要的:
  1.新系统的每一个部分分别发生了哪些改变(服务器、前端、数据库、调度计划、数据流、功能点等等)
  2.了解团队设计的实际的迁移策略。迁移如何发生,系统后台如何一步步地发生变化以及迁移过程中需要执行哪些脚本。
  因此对新系统和旧系统进行一个彻底的学习是非常必要的,然后才能设计测试用例及测试场景来覆盖上述测试阶段和编写测试策略。
  数据迁移测试的策略
  设计迁移测试的测试策略包含一系统的活动并且很多方面需要被考虑到。这是为了更有效的执行迁移测试并且尽可能减少错误和风险的发生。
  迁移测试包括哪些活动
  1)形成专业的团队
  构建一个由专业知识扎实且实践经验丰富的成员组成的专业化团队。并且为成员们提供迁移系统相关知识的培训。
  2)业务风险分析  可能错误分析
  不应该在迁移后影响了现有业务的正常开展,因此-开业务风险分析会时需要引入利益相关方(测试经理、业务分析师、架构师、产品经理、业务经理等等)并识别风险、制定可实施的减轻风险的方案。测试应该包括一些可以发现风险的场景并验证是否已经实施了缓解措施。执行“可能错误分析”需要采取合适的“错误猜测方法”并且围绕这些错误来设计测试用例以期在测试过程中揭露它们
  3)迁移范围分析和识别
  分析界定清楚迁移测试的范围,也就是什么时候系统的哪些方面需要被测试
  4)为迁移选择合适的工具
  在制定测试策略、选择手工还是自动化时,明确将要使用什么工具。比如:用于对比源数据和目标数据的自动化工具
  5)为迁移选择合适的测试环境
  为迁移前测试和迁移后测试选择独立的测试环境,以方便后续测试的进行。理解并记录下遗留系统和新系统的技术要点,确保测试环境按此建立。
  6)迁移测试详尽文档的制定和检查
  准备迁移测试的详细文档,文档应该清晰地描述了测试方案、测试范围、测试模式(手工还是自动化)、测试方法(黑盒测试白盒测试)、测试周期、测试进度、造数据的方法和使用现网数据的方法(敏感数据需要被隐藏)、测试环境说明书、测试人员资质等,并且与利益相关方对文档进行一次检查
  7)迁移系统的产品发布
  在文档中分析并记录下产品迁移需要做的事项并提前发布该文档。

......
查看更多精彩内容,请点击下载:
版权声明:本文出自《51测试天地》第五十二期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。


评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海信义律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2021, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道