Data Warehouse TestingPractical Approach : Data Warehouse TestingPractical Approach Creator:-Manoj Tiwari
Agenda : Agenda Date warehouse Definition
Challenges of Data warehouse Testing
Testing Goal
Testing Methodology
Testing Types
Test Stop Criteria
Slide 3 : Date warehouse Definition:-
"A data warehouse is a subject oriented, integrated, time variant, non volatile collection of data in support of management's decision making process".
Slide 4 : Challenges of Data warehouse Testing:
Data selection from multiple source systems and analysis that follows pose great challenge.
Volume and the complexity of the data.
Inconsistent and redundant data in a data warehouse.
Loss of data during the ETL process.
Non-Availability of comprehensive test bed
Critical Data for Business.
Slide 5 : Testing Goal:
Our main aim is to check the quality of that data.
Data completeness. Ensures that all expected data is loaded.
Data transformation. Ensures that all data is transformed correctly
according to business rules and/or design specifications.
Data quality. Ensures that the ETL application correctly rejects,
substitutes default values, corrects or ignores and reports invalid data.
Slide 6 : Testing Methodology :
To perform testing better
Use of Traceability matrix to enable full test coverage of Business Requirements.
In depth review of Test Cases.
Manipulation of Test Data to ensure full test coverage.
Provision of appropriate tools to speed the process of Test Execution & Evaluation.
Regression Testing
Slide 7 : Testing Types:
The following are types of Testing performed for Data warehousing projects.
Unit Testing
Integration Testing
Technical Shakedown Testing
System Testing
Operation readiness Testing
User Acceptance Testing
Regression Testing
Slide 8 : Integration Testing
Its major objective is to verify the
data produced and validate the design
Slide 9 : Prerequisite:
Implementation Checklist for move from development to test.
All unit testing completed and summarized.
Migration to the test environment from the development environment.
Data available in the test environment.
Objectives:
Validate the business requirements, functional requirements
Validate the data for correct business rules that correct number of rows are transferred and verify load volumes.
Ensure mapping order is correct and dependencies among workflows are in place.
Slide 10 : Validate target tables are populated with correct number of records.
To Check for Error log messages in appropriate file.
To check for restarting of Jobs in case of failures.
Validate the execution of workflows and data at the following stages
Source to Staging .
Staging to ODS.
ODS to Data Mart
Verify integration of new mappings with existing mappings.
Validate proper functionality of mapping variables and parameter files.
Testing the individual mappings to verify the transformations and also at the workflow level.
Slide 11 : Inputs:
Project Plan,Business requirements document
Test cases and steps
Access to personal files on the network
Executed and approved unit test cases or peer review reports
Source to Target Matrices(STM)
Extract and Load Order document
Note: The project manager is responsible for ensuring all the input criteria are completed by the appropriate project team member as defined in the project Deliverables Matrix prior to each phase of testing
Slide 12 : Environment:
Integration testing is performed in the test environment.
Tools:
Data access tools (e.g., TOAD, PL/SQL) are used to analyze content of tables and to analyze results of loads.
ETL Tools(e.g. Informatica,Datastage).
Test management tool(e.g. Test Director ,QC) that maintains and tracks the requirements, test cases, defects and traceability matrix.
Slide 13 : Deliverables:
Executed Integration Test Case documents, i.e., documented actual results against each test, signed and dated by the tester(s).
Signed and approved Test Case Index & Results document which contains results of executed Integration test scripts.
Updated Requirements Traceability Matrix
Slide 14 : Test Case Index and Results:
The DW&BI team should use the Test Case Index and Results document to report result of testing. The document tracks the following
Test Case #: Enter a test case number in sequential outline format (e.g., 1, 1.1, 2, 2.1, 3).
Description: Provide a brief description that covers each test case instance as fully as possible.
Requirement # and Description: List each requirement number that corresponds to the listed test case number and briefly describe.
Criticality: Provide a relative criticality ranking for each test case instance (Low, Medium, High).
Result: Indicate each test case result (Pass [test case meets acceptable criteria], Fail [test case does not meet acceptable criteria], Hold [test case requires additional data for result to be determined].)
Fail Description Reference SPR#: For each failed test case, list the assigned Software Process Report (SPR) #, briefly describe what caused the failure.
Robot / SQL Script Name: Indicate the assigned SQL script name, as applicable.
Slide 15 : Technical Shakedown Test:
A Technical Shakedown Test will be conducted prior to System Testing
Objective:
Software has been configured correctly (including Informatica architecture, Source system connectivity and Business Objects).
All the code has been migrated to the QA environments correctly.
All required connectivity between systems are in place.
Slide 16 : System Testing
System Testing is performed to prove that the system meets
the Functional Specifications from an end to end perspective.
The testing team will verify that the data in the source system databases and
the data in the Target is consistent through out the process
Slide 17 : Prerequisite:
Finalized Implementation Checklist
All integration testing should be completed
Migration from the Test environment to the QA environment, as applicable
Production configuration and data available
Input:
Project Plan,Business requirements document
System Test Cases and steps
Updated Operations Manual
Signed and approved integration Test Case Index, Test Case documents, and scripts
Slide 18 : Objectives:
Verify the QA environment is an exact replica of Production prior to running the system test
Run end-to-end system test starting from the source databases to target and verify the data output.
Record initialization and incremental load statistics
Verify functionality of the system meets the business specifications
Verify error handling and reconciliation processes are functioning properly
Slide 19 : Environment:-
System testing is performed in the QA environment
Tools:
Data access tools (e.g., TOAD, PL/SQL) are used to analyze content of tables and to analyze results of loads.
ETL Tools(e.g. Informatica,Datastage).
Test management tool(e.g. Test Director ,QC) that maintains and tracks the requirements, test cases, defects and traceability matrix
Data:
Production replicated data
Slide 20 : Deliverables:
Executed System Test Cases, i.e., documented actual results against each test, signed and dated by the tester(s)
Signed and approved Test Case Index & Results document which contains results of executed system test scripts
Requirements Traceability Matrix
A summary report
Slide 21 : User Acceptance Testing:
The objective of this testing to ensure that System meets the expectations of the business users.
It aims to prove that the entire system operates effectively in a production environment and that the system successfully supports the business processes from a user's perspective.
The tests will also include functions that involve source systems connectivity, jobs scheduling and Business reports functionality.
Slide 22 : Operational Readiness Testing (ORT):
This is the final phase of testing which focuses on verifying the deployment of software and the operational readiness of the application.
Deployment Test
Tests the deployment of the solution .
Tests overall technical deployment “checklist” and timeframes .
Tests the security aspects of the system including user authentication and authorization, and user-access levels.
Tests the operability of the system including job control and scheduling
Slide 23 : Regression Testing:
Performed after a defect reported is fixed by the developer.
Performed when a Change Request is implemented on an existing production system.
Inputs :-
Impact analysis workbook prepared by the developer
STM developed by the Business Analyst as for designing the test cases for the CR.
Test Result Report of SIT ,if Change Request is implemented on an existing production system.
Slide 24 : Test Stop Criteria:
Reaching deadlines, e.g.: release deadlines, testing deadlines
Test Cases completed with certain percentage passed
Test budget has been depleted
Coverage of code or requirements reaches a specified point
Defects rate falls below a certain level
Testing stops when the result is unproductive (No. of errors per person per day reduces)
Slide 25 : Thank You
Prepared by :-Manoj Tiwari