订阅软件研发RSS CSDN首页> 软件研发

数据库迁移测试:选白盒还是黑盒?

发表于2014-04-02 16:32| 次阅读| 来源CSDN| 0 条评论| 作者夏梦竹

摘要:当公司决定升级或更改数据库时,需要将现有的数据传输至新的数据库。测试人员或许会对此感到苦恼,究竟是采用黑盒还是白盒测试?文中将两者进行了对比,帮助测试人员作出更好的决策。

数据迁移是指从现有数据库迁移至一个新数据库的过程。在现实工作中我们也会经常接触到,当公司决定升级或更改数据库时,那么这就需要将现有的数据传输至新的数据库。

创建一个有效的数据迁移测试策略对降低风险和成功迁移有着莫大的作用。本文分享了如何使用黑盒或白盒方法来创建一个更加有效的数据迁移测试方法。


数据迁移的范围范围很广,包括满足所有所需数据的需求,确保新的数据库能正常启动并成功运行,零缺陷(之前的数据库是否还有遗留数据)并且将数据迁移至正确的列表中。

因此,为了保证它的正确性唯一的方法就是测试迁移过程。在这个过程中要进行迁移需求分析,内容包括:

  • 被迁移的数据类型;
  • 数据来源;
  • 文档分析,描述迁移过程;
  • 数据库改动分析;
  • 数据库架构、类型;
  • 数据存储格式;
  • 迁移方法分析;
  • 迁移途径;

只要进行分析测试,就要选择迁移的类型,这里有三种方法:

  1. 黑盒测试;
  2. 白盒测试;
  3. 混合测试;

分析结果并不是唯一的参数选择方法。你还需要注意任务的复杂性,客户和项目经理的偏好,员工对数据库管理系统的规范以及其他一些细节。此外,还要区分数据库源,接收器和数据存储格式之间的差异及任务的复杂性。


黑盒测试

黑盒测试是人们最常使用的方法,包括运行数据迁移的功能测试。测试人员需要检查处理的数据,包括:数据概述、变更、搜索、创建以及其他一些业务。这种方法,从测试人员角度来讲并不需要额外的知识。

执行黑盒测试的测试方法允许在负载测试复杂的进程前定义与系统不相符的性能需求。它能检测出由多个用户使用多个数据库产生的错误并且在进程请求处理中进行修改。

功能测试在数据迁移测试中并不是最主要的。性能和负载测试同样不容忽视。高质量的操作进程定义了新的数据库的高效和准确性。

白盒测试

白盒测试主要用于迁移脚本的逻辑检查。包括与数据库源、接收器,QA工程师的测试完整性以及脚本的正确性。要想启动白盒迁移测试数据库应该符合以下几点要求:

  1. 详细的脚本描述(以防止不正确或不完整的数据迁移问题);
  2. 源结构和接收器;
  3. 数据迁移映射(制定迁移规则);

测试人员最终启动测试过程,需要通过以下几点:

  • 检查迁移的注册数量;
  • 数据迁移至适当的地方;
  • 数据完整性;
  • 填充字段;
  • 适当的源和接收器字段处理;
  • 计算业务逻辑的变化;

根据这些要点核查迁移脚本,测试人员针对SQL代码进行分析。该方法包括数据库结构细节、所使用的数据存储格式、迁移需求、物质分析等等,都需要对它们进行区别分析并做出正确处理。其中,字段和脚本迁移转换的格式也同样很重要。

白盒测试方法需要测试人员掌握遗留数据库以及新的数据库架构方面的相关知识,这一点与黑盒测试不同。

不过,你很少会看见采用纯粹的黑盒或白盒方法,通常情况下,开发者会采用混合的测试方法。在混合的测试方法中QA工程师先要检查迁移脚本的逻辑结构(白盒测试),然后运用该应用上的功能测试(黑盒方法)检查已迁移的数据。

通过对比测试人员可以基于此作出更好的决策。

英文出自:SoftwareTestingMagazine

相关内容:软件测试人员的基本修养

(文/夏梦竹 审校/张红月)

0
0