Data Warehouse Testing
2. About Data Warehouse3
2.1 Data Warehouse definition3
3. Testing Process for Data warehouse:3
3.1 Requirements Testing :3
3.2 Unit Testing :4
3.3 Integration Testing :4
3.3.1 Scenarios to be covered in Integration Testing5
3.3.2 Validating the Report data5
3.4 User Acceptance Testing5
This document details the testing process involved in data warehouse testing and test coverage areas. It explains the importance of data warehouse application testing and the various steps of the testing process.
About Data Warehouse
Data warehouse is the main repository of the organization's historical data. It contains the data for management's decision support system. The important factor leading to the use of a data warehouse is that a data analyst can perform complex queries and analysis (data mining) on the information within data warehouse without slowing down the operational systems.
Data Warehouse definition
• Subject-oriented : Subject Oriented -Data warehouses are designed to help you analyse data. For example, to learn more about your company's sales data, you can build a warehouse that concentrates on sales. Using this warehouse, you can answer questions like "Who was our best customer for this item last year?" This ability to define a data warehouse by subject matter, sales in this case, makes the data warehouse subject oriented. The data is organized so that all the data elements relating to the same real-world event or object are linked together.
• Integrated : Integration is closely related to subject orientation. Data warehouses must put data from disparate sources into a consistent format. The database contains data from most or all of an organization's operational applications and is made consistent.
• Time-variant : The changes to the data in the database are tracked and recorded to produce reports on data changed over time. In order to discover trends in business, analysts need large amounts of data. A data warehouse's focus on change over time is what is meant by the term time variant.
• Non-volatile : Data in the database is never over-written or deleted, once committed, the data is static, read-only, but retained for future reporting. Once entered into the warehouse, data should not change. This is logical because the purpose of a data warehouse is to enable you to analyse what has occurred.
Testing Process for Data warehouse:
Testing for a Data warehouse consists of requirements testing, unit testing, integration testing and acceptance testing.
Requirements Testing :
The main aim for doing Requirements testing is to check stated requirements for completeness. Requirements can be tested on following factors.
1. Are the requirements Complete?
2. Are the requirements Singular?
3. Are the requirements Ambiguous?
4. Are the requirements Developable?
5. Are the requirements Testable?
In a Data warehouse, the requirements are mostly around reporting. Hence it becomes more important to verify whether these reporting requirements can be catered using the data available.
Successful requirements are those structured closely to business rules and address functionality and performance. These business rules and requirements provide a solid foundation to the data architects. Using the defined requirements and business rules, high level design of the data model is created. Once requirements and business rules are available, rough scripts can be drafted to validate the data model constraints against the defined business rules.
Unit Testing :
Unit testing for data warehouses is WHITEBOX. It should check the ETL procedures/mappings/jobs and the reports...