数据仓库 - 测试


测试对于数据仓库系统非常重要,可以使其正确、高效地工作。在数据仓库上执行三个基本级别的测试 -

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

单元测试

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

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

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

集成测试

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

  • 其目的是测试各个组件集成后是否表现良好。

系统测试

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

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

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

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

测试时间表

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

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

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

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

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

测试备份恢复

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

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

测试运行环境

有很多方面需要测试。下面列出了这些方面。

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

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

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

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

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

测试数据库

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

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

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

    • 并行查询

    • 并行创建索引

    • 数据并行加载

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

测试应用程序

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

  • 每个管理器的每个功能都应该正确运行

  • 还需要对应用程序进行一段时间的测试。

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

测试的逻辑

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

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

注意- 最重要的一点是测试可扩展性。如果不这样做,我们的系统设计将在系统增长时不起作用。