数据仓库测试方法

时间:2015-02-14 00:55:37

标签: data-warehouse database-testing

我正在测试Data Warehousing的空间。在我新创建的范围和应该验证的维度和事实。根据我的知识和通过浏览获得的信息,我将决定覆盖以下

  • 根据规范的事实和维度表的模式验证
  • 事实和维度表的数据重复检查
  • 维度表的查找验证

我还可以在这里验证其他任何内容吗?

另外只是好奇我如何检查数据是否正确填充到Fact表和行计数,正确的代理键等。在开发人员的观点中他们是否使用DML脚本来加载数据?

2 个答案:

答案 0 :(得分:1)

测试数据库

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

  1. 测试数据库管理器和监视工具 - 测试 数据库管理器和监视工具,应该在它们中使用 测试数据库的创建,运行和管理。
  2. 测试数据库功能 - 以下是我们提供的功能列表 测试:

    - 并行查询

    并行创建索引

    - 并行数据加载

  3. 3.测试数据库性能 - 查询执行在数据仓库性能测量中起着非常重要的作用。有一些固定查询需要定期运行,并且应该对它们进行测试。要测试即席查询,应该查看用户需求文档并完全理解业务。花时间测试业务可能针对不同索引和聚合策略提出的最尴尬的查询。 http://www.tutorialspoint.com/dwh/dwh_testing.htm

    您还可以使用 ETL测试(提取,转换和加载)。 ETL测试技术: 1)根据各种业务要求和规则验证数据是否正确转换。 2)确保所有投影数据都加载到数据仓库中,没有任何数据丢失和截断。 3)确保ETL应用程序适当拒绝,替换为默认值并报告无效数据。 4)确保在规定的和预期的时间范围内将数据加载到数据仓库中,以确保提高性能和可扩展性。

    除了这4种主要的ETL测试方法外,还进行了其他测试方法,如集成测试和用户验收测试,以确保一切顺利可靠。

    您还可以测试计划,备份恢复,操作环境,测试的应用程序和逻辑 有关ETL测试/数据仓库测试的更多信息,请访问http://www.softwaretestinghelp.com/etl-testing-data-warehouse-testing/

    <强> UPD:

    并行创建索引

    事实表上的索引可以是分区的或非分区的。本地分区索引提供最简单的管理。唯一的缺点是搜索本地非前缀索引需要搜索所有索引分区。

    创建索引表空间的注意事项与创建其他表空间的注意事项类似。条带宽度较小的操作系统条带化通常是一个不错的选择,但为了简化管理,最好为每个索引使用单独的表空间。如果它是本地索引,您可能希望将其放在与其对应的分区相同的表空间中。如果每个分区都在多个磁盘上进行条带化,则可以并行重建各个索引分区以进行恢复。或者,可以使用操作系统镜像。由于这些原因,索引创建语句的NOLOGGING选项可能对数据仓库很有吸引力。

    分区索引的表空间应该以与分区表的表空间相同的方式并行创建。

    使用分区粒度并行创建分区索引,因此可能的最大DOP是粒度数。本地索引创建比全局索引创建具有更少的固有并行性,因此如果使用更高的DOP则可以更快地运行。以下语句可用于在事实表上创建本地索引:

    CREATE INDEX I on fact(dim_1,dim_2,dim_3) LOCAL 
    PARTITION jan95 TABLESPACE Tsidx1, 
    PARTITION feb95 TABLESPACE Tsidx2, 
    ... 
    PARALLEL(DEGREE 12) NOLOGGING;
    

    要备份或恢复1月数据,您只需要管理表空间Tsidx1。

    Parallel Query Tuning
    

    并行查询功能对于通过大型表扫描,大型连接,大型索引的创建,批量加载,聚合或复制来访问大量数据的查询非常有用。它使具有以下所有特征的系统受益:

    • 对称多处理器(SMP),集群或大规模并行 系统
    • 高I / O带宽(即许多不同磁盘上的许多数据文件 驱动器)
    • 未充分利用或间歇使用的CPU(例如,系统中的 CPU使用率通常低于30%)
    • 足够的内存来支持额外的内存密集型进程 例如排序,散列和I / O缓冲区

    如果您的系统中的任何一个条件不正确,则并行查询功能可能无法显着提高性能。事实上,在过度使用的系统或I / O带宽较小的系统上,并行查询功能会阻碍系统性能。

    在这里,您可以更详细地了解这一点:http://docs.oracle.com/cd/A57673_01/DOC/server/doc/A48506/pqo.htm#1559

    我希望这些资源对您有所帮助: https://wiki.postgresql.org/wiki/Parallel_Query_Execution

    https://technet.microsoft.com/en-us/library/ms178065%28v=sql.105%29.aspx

    http://www.csee.umbc.edu/portal/help/oracle8/server.815/a67775/ch24_pex.htm#1978

答案 1 :(得分:1)

我是ETL测试员。 数据仓库中的数据验证和数据质量测试遵循以下检查

1)元数据测试 - 测试基础表的结构及其结构(根据设计文档)。 2)数据验证 - 在数据验证中,您使用SQL和PL / SQL测试映射转换。               我们通常使用源和目标表计数,源减去目标,源相交目标和目标减去源来测试它。

3)重复检查:确保数据仓库中没有冗余。 4)加载策略检查:检查目标表是SCD还是重新加载时删除(取决于要求。)

相关问题