Professional Documents
Culture Documents
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
• The Business views and dashboard are displaying the data as expected.
• The scheduled reports are accurate and complete.
• The scheduled reports and other batch operations like view refresh etc. is happening in the
expected window.
• 'Analysis Functions' and 'Data Analysis' are working.
• There is no pilferage of data between the source systems and the views.
• Data is extracted from the data warehouse and updated in the down-stream systems/data marts.
• There is no pilferage.
• End to end data flow from the source system to the down stream system is complete and accurate.
This part of testing will involve, placing maximum volume OR failure points to check the robustness and
capacity of the system. The level of stress testing depends upon the configuration of the test environment
and the level of capacity planning done. Here are some examples from the ideal world:
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.
Most of the web based testing is by processing of individual transactions, which are driven by some inputs
from the users like Application Form or Servicing Request.. There are very few test cycles, which cover the
system-triggered scenarios Like claims processing or adjudication Valuation.
In data Warehouse, most of the testing is system triggered as per the scripts for ETL ('Extraction,
Transformation and Loading'), the view refresh scripts etc.
Therefore typically Data-Warehouse testing is divided into two parts--> 'Back-end' testing where the source
systems data is compared to the end-result data in Loaded area, and 'Front-end' testing where the user
checks the data by comparing their services with the data displayed by the end-user tools like OLAP.
A web based testing will provide instant OR at least overnight gratification to the users, when user enter a
transaction, which either processed online OR maximum via overnight batch. In the case of data-
warehouse, most of the action is happening in the back-end and users have to trace the individual
transactions based on services and views produced by the OLAP tools. This is the same challenge, when
you ask users to test the month-end mammoth reports/financial statements churned out by the transaction
systems.
The test data in web based application testing is very small sample of the overall production data. Typically
to keep the matters simple, Testing include as many test cases as needed to comprehensively include all
possible test scenarios, in a limited set of test data..
Where as Data Warehouse testing needs typically large test data to fill-up maximum possible combinations
and permutations of dimensions and facts.
For example, if we are testing the location dimension, we would like the location-wise revenue report to
have some revenue figures for most of the regions in 55 states. This would mean that we have to have
thousands of transaction data at regional office level (assuming that regional office is lowest level of
granularity for location dimension).
In web based testing lets say hundred different scenarios; the valid and possible combination of those
scenarios will be limited. However, in case of Data Warehouse, the permutations and combinations can
possibly unlimited due to the core objective of Data Warehouse and is to allow all possible views of Data. In
other words, 'You can never fully test a data Warehouse'
Therefore one has to be creative in designing the test scenarios to gain a high level of confidence.
This is linked to the point of possible test scenarios and volume of data. Data- warehouse needs lots of
effort required to prepare test data and is much more.
In case of web based testing , users/business analysts typically test the output of the system. However, in
case of data warehouse, as most of the action is happening at the back-end, and most of the 'Data
Warehouse data Quality testing and its done at 'Extraction, Transformation and Loading' which will be by
running separate stand-alone scripts.
Users roles come in play, when their help is needed to analyze the same (if designers OR business analysts
are not able to figure it out).