📜  数据仓库-测试

📅  最后修改于: 2021-01-07 06:03:09             🧑  作者: Mango


测试对于使数据仓库系统正确有效地工作非常重要。在数据仓库上执行的测试有三个基本级别:

  • 单元测试
  • 整合测试
  • 系统测试

单元测试

  • 在单元测试中,每个组件都经过单独测试。

  • 每个模块(即过程,程序,SQL脚本,Unix shell)都经过测试。

  • 此测试由开发人员执行。

整合测试

  • 在集成测试中,将应用程序的各个模块组合在一起,然后针对输入数量进行测试。

  • 它用于测试集成后各个组件是否工作良好。

系统测试

  • 在系统测试中,整个数据仓库应用程序将一起测试。

  • 系统测试的目的是检查整个系统是否可以正常协同工作。

  • 系统测试由测试团队执行。

  • 由于整个数据仓库的规模非常大,因此通常可以在制定测试计划之前执行最少的系统测试。

测试时间表

首先,在制定测试计划的过程中创建测试计划。在此时间表中,我们预测了测试整个数据仓库系统所需的估计时间。

有多种方法可用于创建测试计划,但由于数据仓库非常复杂且庞大,因此没有一种是完美的方法。数据仓库系统也在自然发展。创建测试计划表时,可能会遇到以下问题-

  • 一个简单的问题可能具有很大的查询量,可能需要一天或更长的时间才能完成,即查询未在所需的时间范围内完成。

  • 可能存在硬件故障(例如丢失磁盘)或人为错误(例如意外删除表或覆盖大表)。

–由于上述困难,建议始终将通常允许进行测试的时间加倍。

测试备份恢复

测试备份恢复策略非常重要。这是需要进行此测试的方案的列表-

  • 媒体故障
  • 表空间或数据文件的丢失或损坏
  • 重做日志文件丢失或损坏
  • 控制文件的丢失或损坏
  • 实例故障
  • 存档文件的丢失或损坏
  • 桌子的丢失或损坏
  • 数据故障期间的故障

测试运行环境

有许多方面需要测试。这些方面在下面列出。

  • 安全性-安全测试需要单独的安全性文档。本文档包含禁止的操作和针对每个操作设计测试的列表。

  • 调度程序-需要调度软件来控制数据仓库的日常运行。在系统测试期间需要对其进行测试。调度软件需要与数据仓库的接口,这将需要调度程序来控制通宵处理和聚合管理。

  • 磁盘配置。 −还需要对磁盘配置进行测试以识别I / O瓶颈。应使用不同的设置多次执行测试。

  • 管理工具。 −在系统测试期间,需要测试所有管理工具。这是需要测试的工具列表。

    • 事件管理器
    • 系统管理员
    • 数据库管理员
    • 配置管理器
    • 备份恢复管理器

测试数据库

通过以下三种方式测试数据库-

  • 测试数据库管理器和监视工具-要测试数据库管理器和监视工具,应在创建,运行和管理测试数据库时使用它们。

  • 测试数据库功能-这是我们必须测试的功能列表-

    • 并行查询

    • 并行创建索引

    • 并行数据加载

  • 测试数据库性能-查询执行在数据仓库性能度量中扮演着非常重要的角色。有一些固定查询需要定期运行,应该对其进行测试。要测试即席查询,应仔细阅读用户需求文档并完全了解业务。花一些时间来测试企业可能针对不同的索引和聚合策略提出的最尴尬的查询。

测试应用程序

  • 所有管理器都应正确集成并工作,以确保端到端的负载,索引,聚合和查询能够按预期工作。

  • 每个管理器的每个函数都应正常工作

  • 还必须在一段时间内测试应用程序。

  • 周末和月末的任务也应进行测试。

测试逻辑

系统测试的目的是测试以下所有领域-

  • 排程软件
  • 日常操作程序
  • 备份恢复策略
  • 管理和调度工具
  • 隔夜处理
  • 查询效果

注意-最重要的一点是测试可伸缩性。否则,我们的系统设计将无法在系统扩展时起作用。