51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 8011|回复: 11
打印 上一主题 下一主题

[原创] 功能测试实战【二】数据迁移测试

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-4-23 00:09:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
【二】数据迁移测试

    我第一家公司做过一个项目,我们的软件上线之前,客户已经应用了一套软件长达几年时间,老系统中存在上百万条数据,我们的项目的一部分工作,就是将老的数据迁移到新的系统中,保证新的系统能够正常使用。

    这类的数据迁移在现在的软件项目中会经常出现,我现在的公司又一次面对这个问题。

    主要的思路就是完整性、正确性可使用性这三方面,下面讲下我们当时所做的测试设计和思路:


    在开始之前我们需要一个完整的数据结构的文档,包括老的系统和新的,这样你才能有依据去设计和执行测试。跟迁移组要,他们如果不理解新老系统的数据和数据结构,很难想象他们是怎么迁移的。


    1、老的数据是否全部被导入到新系统中,你可能要追踪很多表中的很多数据字段。

    如老系统中有100W条数据,导入新系统后,数据条数仍为100w条(有些数据迁移后,新系统有新的存储规则,或业务逻辑变化,比如ID相同合并,条数不是以相同的数量显示,那么我们要知道换算关系,然后进行校验)

    对老系统中全部有价值数据字段(对客户有意义的,或者说新系统要用到的),我们要逐一验证,新库中能够找到与之对应的字段。

    2、老的数据在新的库中,是以正确的形式存储的。

    如果数据在老库中是一个值,我们将他追踪到新的库中,看值是否正确。如果到新库中值需要做相应变化,我们要按照逻辑去校验,是否变化的正确。

    有些在老库中是状态位,如老系统中性别字段包括4个,分别是0(男)、1(女),2(未登记),3(不详);而新系统中性别是男、女、未说明,我们要测试至少4条数据,查看0到新系统中,对应了男,1对应了女,3、4都对应了未说明。

    还有一些老数据,到新的库中需要有新的显示模式,比如以前工号只有5位,到新系统中自动升级为10位,我们要跟踪升级是否正确

    3、老的数据关联,在新库中是否仍然正确关联

    比如个人工资等信息,每个数据都应对应一个人员,到新的系统后,人员信息表发生变更,那么老的工资信息到新库中,是否还能正确对应人员。这种对应关系我们要跟踪几条数据(根据业务逻辑,覆盖可能的全部状态),查看到新系统后,各个数据是否正确对应。

    4、关注特殊数据对象

    有些数据是比较大的附件,在新的数据库中是否有正确的空间存储,我们需要关注这些大的对象,迁移到新的库中,是否正确被保存和能够继续使用。

    5、从业务层面去验证老数据,在新系统中的应用。这个就是用新的系统,用导过来的数据跑下全部功能。


    暂时想到这些。



【系列回顾】:

功能测试实战【一】动态可维护数据源应用测试  http://bbs.51testing.com/thread-191473-1-1.html

[ 本帖最后由 没有如果 于 2010-4-24 08:05 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-4-24 05:57:00 | 只看该作者
晕,这篇题目写错了。。。

为了保证结果一直,复制的第一期然后修改内容的。

现在不叫编辑了,管理员大哥能否给改过来。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-4-27 11:00:18 | 只看该作者
我觉得先模拟数据进行 等验证过库结构再迁移
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-4-30 00:15:49 | 只看该作者
呵呵,这个都是给客户数据镜像到一个新的服务器上,在测试环境搞的,当然不敢直接迁移了。
回复 支持 反对

使用道具 举报

  • TA的每日心情

    2015-6-5 11:17
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
    发表于 2011-11-21 14:12:43 | 只看该作者
    感谢分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-28 18:04
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]测试团长

    6#
    发表于 2011-11-21 14:57:04 | 只看该作者
    应该说要鼓励这样的做法。早期的时候有习惯日志,并持续更新的习惯。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2011-11-22 09:01:40 | 只看该作者
    数据迁移应该主要是数据库开发人员负责的吧!貌似很复杂呀!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-1-4 13:24
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
    发表于 2011-11-22 23:07:37 | 只看该作者
    这个我觉得不应该由测试人员来做,数据库管理人员或者是数据的使用人员才是最合适的检验人员。这其实和点钞一样,不一张张点是不能确定数量是否正确,里面是否有**的。数据迁移要么采用全部点验的方法,要么采用抽样的方法。点验太累,基本不可能完成,抽样不能保证完全正确。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2012-3-5 16:21:16 | 只看该作者
    谢谢分享,最近正要做这方面的测试。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2012-3-7 10:41:20 | 只看该作者
    回不回呢,考虑再三,还是不回了吧。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2012-6-19 22:46:54 | 只看该作者
    最近做了数据迁移的测试,测试的思路基本上是这些了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-6-9 14:22
  • 签到天数: 27 天

    连续签到: 1 天

    [LV.4]测试营长

    12#
    发表于 2015-7-13 10:18:09 | 只看该作者
    moyiyun 发表于 2011-11-22 09:01
    数据迁移应该主要是数据库开发人员负责的吧!貌似很复杂呀!

    同感,有点偏离基本的功能测试了,感觉平时测试的时候并不需要考虑到这么多,不过多了解了解还是好的
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 10:49 , Processed in 0.071512 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表