Testing For DW BI
Testing For DW BI
Introduction
WHY of DW/BI Testing
WHAT of DW/BI Testing
Testing Life Cycle – How of DW Testing
Test case Scenarios
Unit Testing
Performance Testing
System Testing
User Acceptance testing
Challenges:
Lack of awareness
Absence of tools
Lack of standard approach/methodology
Unwillingness on the part of DW developers
System
Testing
Define Prepare Test cases User Post
Unit
Testing Acceptanc Deployment
Testing
Strategy Prepare Test Data e Testing Testing
Performance
Testing
Test Scenarios:
Simple scenarios are those, which are relatively straightforward and
can be the first step to understand the health of the system.
examples are:
Extraction– Complete table Extraction from a core system with
robust DBMS.
Transformation – Creation of simple derived attributes
(creating complete bill amount from individual billing items)
OR creating aggregates.
Loading – Loading a dimension set with lesser attributes and
without any Transformation during Loading.
OLAP – Testing using 'Basic Functions'
Negative Testing
Checking on how the system handles the negative conditions:
Extraction – Wrong OR unexpected data in the table. (For example
you place the wrong customer ID format, character fields in what
should be numeric etc.)
Transformation- having negative sales numbers, age of 200 years
etc. This is important, as the transformation logic should not only
work on what it wants to do, but what all it could face.
Loading – Having wrong data sets. For example having data set of
dimension 'location' has two columns less OR not existing OR having
null values. There should be some fundamental checks, which need
to be run by Loading system before it goes for bulk Loading.
Test Data ranges from a small set to the complete production data.
Limited Data Warehouse test Data
This involves feeding limited transactions in the source systems (typically less than
few thousands for each data-mart').
This should ideally take care of key scenarios in terms of different Transformation
logics.
Say, if Transformation is doing some de-duping, place couple of duplicate cases. For
customer dimension (say) you can have customers of different ages, income groups
etc.
After these transactions have been processed by the source systems, the entire
processing is conducted and results are checked at each interim stage and also in
the end user tools.
The expertise here lies in making it happen with minimum transactions with
maximum scenarios. However, never try to include all scenarios. The guidelines
here are to include scenarios, which are complex OR have complex programming
logic (like 'de-dup', 'standardize')
Unit Testing:
Unit Testing is done at individual component level.
Type of unit testing are
Extraction Testing
Transformation Testing
Loading Testing
End User Browsing and OLAP Testing
Ad-hoc Query Testing
Down Stream Flow Testing
Data Migrations Verification
Extraction Testing
This testing checks the following:
Data is able to extract the required fields.
The Extraction logic for each source system is working
Extraction scripts are granted security access to the source systems.
Updating of extract audit log and time stamping is happening.
Source to Extraction destination is working in terms of
completeness and accuracy.
Extraction is getting completed with in the expected window.
Transformation Testing
Transaction scripts are transforming the data as per the expected
logic.
The one time Transformation for historical snap-shots are working.
Detailed and aggregated data sets are created and are matching.
Transaction Audit Log and time stamping is happening.
There is no pilferage of data during Transformation process.
Transformation is getting completed with in the given window
Loading Testing
There is no pilferage during the Loading process.
Any Transformations during Loading process is working.
Data sets in staging to Loading destination is working.
One time historical snap-shots are working.
Both incremental and total refresh are working.
Loading is happening with in the expected window.
DW BO Universe Reports
Performance Testing:
Performance testing addresses an often neglected area of system
performance
It often gets neglected and is not focused on, as performance typically
does not become an issue when the application goes live and impacts
only down the line the when load on the application increases.
System Testing:
System testing is done after the integration of all the different
components and deploying it in the UAT /QA environment.
The purpose of System testing is to perform a detailed system
testing to identify and resolve all potential issues present in the
application prior to go live of the application.
Checks the end to end data flow from the source system to the
OLAP Reports is complete and accurate.
Test for all the requirements of the system are met.
This is also done during the User Acceptance Testing also
User Acceptance Testing (UAT), needs to be owned by the Client team and MindTree
team will be providing support and assistance during the process.
UAT is carried out in the QA environment.
MindTree suggests the following approaches to effectively validate the data element
values:
One-to-one comparison
To test data, reports can be generated from the source system/ existing
Business Validation - Once the values in the reports match, these reports can
then be sent to business users to validate the accuracy from a business
perspective.
Operations Validation – Operations team will test the modules from an operations
perspective. Whether the operational metadata is being captured and is
accurate, email notifications are being sent, reject handling is being done,
appropriate messages are logged in error/log files.
Parallel Testing
Parallel testing is done where the Data Warehouse is run on the
production data as it would have done in real life and its outputs are
compared with the existing set of reports to ensure that they are in
synch OR have the explained mismatches.
Security Framework testing
Check all possible aspects of Security Framework.
Does the user have access to all of the data that he is entitled to.
Does any user have access to the data that he is not entitled to.
Are the roles and security are define properly
www.dmreview.com
www.bipminstitute.com
Muralidharan Subbukutty
[email protected]
+91 98802 81785
www.mindtree.com
© 2008
© 2008MindTree Consulting
MindTree Consulting