数据仓库 - 测试



测试对于数据仓库系统至关重要,可以使其正常且高效地工作。数据仓库执行三种基本级别的测试:

  • 单元测试
  • 集成测试
  • 系统测试

单元测试

  • 在单元测试中,每个组件都单独进行测试。

  • 测试每个模块,即过程、程序、SQL脚本、Unix shell。

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

集成测试

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

  • 执行此测试是为了检查各个组件在集成后是否能够良好运行。

系统测试

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

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

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

  • 由于整个数据仓库的规模非常庞大,因此在实施测试计划之前,通常只能执行最少的系统测试。

测试计划

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

有多种方法可用于创建测试计划,但没有一种是完美的,因为数据仓库非常复杂且庞大。此外,数据仓库系统本质上是不断发展的。在创建测试计划时可能会遇到以下问题:

  • 一个简单的问题可能会有一个大型查询,可能需要一天甚至更长时间才能完成,即查询未能在期望的时间范围内完成。

  • 可能会发生硬件故障,例如丢失磁盘或人为错误,例如意外删除表或覆盖大型表。

注意 - 由于上述困难,建议始终将您通常允许的测试时间加倍。

测试备份恢复

测试备份恢复策略极其重要。以下是需要此测试的场景列表:

  • 介质故障
  • 表空间或数据文件丢失或损坏
  • 重做日志文件丢失或损坏
  • 控制文件丢失或损坏
  • 实例故障
  • 归档文件丢失或损坏
  • 表丢失或损坏
  • 数据故障期间发生故障

测试操作环境

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

  • 安全性 - 安全性测试需要单独的安全文档。此文档包含禁止操作的列表以及为每个操作设计测试。

  • 调度程序 - 需要调度软件来控制数据仓库的日常操作。它需要在系统测试期间进行测试。调度软件需要与数据仓库进行交互,这将需要调度程序来控制隔夜处理和聚合的管理。

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

  • 管理工具。 - 需要在系统测试期间测试所有管理工具。以下是需要测试的工具列表。

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

测试数据库

数据库通过以下三种方式进行测试:

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

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

    • 并行查询

    • 并行创建索引

    • 并行数据加载

  • 测试数据库性能 - 查询执行在数据仓库性能指标中发挥着非常重要的作用。需要定期运行一组固定查询,并对其进行测试。要测试临时查询,应查看用户需求文档并完全了解业务。花时间测试业务可能会针对不同索引和聚合策略提出的最棘手的查询。

测试应用程序

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

  • 每个管理器的每个功能都应正常工作

  • 还需要在一段时间内测试应用程序。

  • 还应测试周末和月末任务。

测试的逻辑

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

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

注意 - 最重要的点是测试可扩展性。如果未能做到这一点,我们将留下一个在系统增长时无法工作的系统设计。

广告