功能测试实战【二】数据迁移测试
【二】数据迁移测试我第一家公司做过一个项目,我们的软件上线之前,客户已经应用了一套软件长达几年时间,老系统中存在上百万条数据,我们的项目的一部分工作,就是将老的数据迁移到新的系统中,保证新的系统能够正常使用。
这类的数据迁移在现在的软件项目中会经常出现,我现在的公司又一次面对这个问题。
主要的思路就是完整性、正确性可使用性这三方面,下面讲下我们当时所做的测试设计和思路:
在开始之前我们需要一个完整的数据结构的文档,包括老的系统和新的,这样你才能有依据去设计和执行测试。跟迁移组要,他们如果不理解新老系统的数据和数据结构,很难想象他们是怎么迁移的。
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 编辑 ] 晕,这篇题目写错了。。。
为了保证结果一直,复制的第一期然后修改内容的。
现在不叫编辑了,管理员大哥能否给改过来。 我觉得先模拟数据进行 等验证过库结构再迁移 呵呵,这个都是给客户数据镜像到一个新的服务器上,在测试环境搞的,当然不敢直接迁移了。 感谢分享 应该说要鼓励这样的做法。早期的时候有习惯日志,并持续更新的习惯。 数据迁移应该主要是数据库开发人员负责的吧!貌似很复杂呀! 这个我觉得不应该由测试人员来做,数据库管理人员或者是数据的使用人员才是最合适的检验人员。这其实和点钞一样,不一张张点是不能确定数量是否正确,里面是否有**的。数据迁移要么采用全部点验的方法,要么采用抽样的方法。点验太累,基本不可能完成,抽样不能保证完全正确。 谢谢分享,最近正要做这方面的测试。 回不回呢,考虑再三,还是不回了吧。 最近做了数据迁移的测试,测试的思路基本上是这些了 moyiyun 发表于 2011-11-22 09:01
数据迁移应该主要是数据库开发人员负责的吧!貌似很复杂呀!
同感,有点偏离基本的功能测试了,感觉平时测试的时候并不需要考虑到这么多,不过多了解了解还是好的:D
页:
[1]