Dwh 简明教程

Data Warehousing - Testing

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

  1. Unit testing

  2. Integration testing

  3. System testing

Unit Testing

  1. 在单元测试中,每个组件都是单独测试的。

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

  3. 此测试由开发人员执行。

Integration Testing

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

  2. 执行此测试以测试各个组件在集成后是否表现良好。

System Testing

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

  2. 系统测试的目的是检查整个系统是否正确地协同工作。

  3. 系统测试由测试团队执行。

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

Test Schedule

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

有不同的方法可用于创建测试计划,但没有一个是完美的,因为数据仓库非常复杂且庞大。此外,数据仓库系统本质上也在不断演变。在创建测试计划时可能面临以下问题:

  1. 一个简单的查询问题可能十分庞大,可能需要一整天甚至更长时间才能完成,即查询无法在所需的时间范围内完成。

  2. 可能存在硬件故障,如丢失磁盘,或人为错误,如意外删除表格或覆写大表格。

Note -由于上述困难,建议将您通常为测试分配的时间加倍。

Testing Backup Recovery

测试备份恢复策略极其重要。这是需要该测试的情况列表-

  1. Media failure

  2. 表空间或数据文件的丢失或损坏

  3. 重做日志文件的丢失或损坏

  4. 控制文件的丢失或损坏

  5. Instance failure

  6. 归档文件的丢失或损坏

  7. 表的丢失或损坏

  8. Failure during data failure

Testing Operational Environment

需要测试大量方面。这些方面列在下面。

  1. Security -安全测试需要单独的安全文档。此文档包含不允许的操作列表,并针对每个操作设计测试。

  2. Scheduler -计划软件需要控制数据仓库的日常操作。它需要在系统测试期间加以测试。计划软件需要与数据仓库的界面,调度的器需要控制过夜处理和聚合管理。

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

  4. Management Tools. -系统测试期间,需要测试所有管理工具。这是要测试的工具列表活动管理器系统管理器数据库管理器配置管理器备份恢复管理器

Testing the Database

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

  1. Testing the database manager and monitoring tools -为了测试数据库管理器和监控工具,应将它们用于测试数据库的创建、运行和管理。

  2. Testing database features -以下是我们要测试的功能列表-并行查询并行创建索引并行数据加载

  3. Testing database performance -查询执行在数据仓库性能指标中发挥着非常重要的作用。需要定期运行固定查询集,并且应进行测试。为了测试即席查询,人们应该仔细查阅用户需求文档并全面了解业务。花时间测试业务可能针对不同索引和聚合策略提出的最棘手的查询。

Testing the Application

  1. 所有经理都应正确集成并开展工作,以确保端到端加载、索引、聚合和查询按预期工作。

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

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

  4. 还应测试周末和月底的任务。

Logistic of the Test

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

  1. Scheduling software

  2. Day-to-day operational procedures

  3. Backup recovery strategy

  4. Management and scheduling tools

  5. Overnight processing

  6. Query performance

Note − 最重要的一点是测试可伸缩性。如果不这样做,我们的系统设计在系统增长时将无法正常工作。