Upload
harishkode
View
16
Download
3
Embed Size (px)
DESCRIPTION
Data Warehouse Testing -1
Citation preview
Checklists can help with the development of the overall test strategy, the selection
and prioritization of test cases, and the successful completion of troubleshooting.
Unit testing checklist
Some programmers are not well trained as testers. They may like to program, deploy
the code, and move on to the next development task without a thorough unit test. A
checklist will aid database programmers to systematically test their code before
formal QA testing.
Check the mapping of fields that support data staging and in data marts.
Check for duplication of values generated using sequence generators.
Check the correctness of surrogate keys that uniquely identify rows of data.
Check for data-type constraints of the fields present in staging and core
levels.
Check the data loading status and error messages after ETLs (extracts,
transformations, loads).
Look for string columns that are incorrectly left or right trimmed.
Make sure all tables and specified fields were loaded from source to staging.
Verify that not-null fields were populated.
Verify that no data truncation occurred in each field.
Make sure data types and formats are as specified during database design.
Make sure there are no duplicate records in target tables.
Make sure data transformations are correctly based on business rules.
Verify that numeric fields are populated precisely.
Make sure every ETL session completed with only planned exceptions.
Verify all data cleansing, transformation, and error and exception handling.
Verify stored procedure calculations and data mappings.
Integration testing checklist
An integration test checklist helps ensure that ETL workflows are executed as
scheduled with correct dependencies.
Look for the successful execution of data-loading workflows.
Make sure target tables are correctly populated with all expected records, and
none were rejected.
Verify all dependencies among data-load workflows—including source-to-
staging, staging-to-operational data store (ODS), and staging-to-data marts—
have been properly defined.
Check all ETL error and exception log messages for correctable issues.
Verify that data-load jobs start and end at predefined times.
Performance and scalability testing checklist
As the volume of data in a warehouse grows, ETL execution times can be expected
to increase, and performance of queries often degrade. These changes can be
mitigated by having a solid technical architecture and efficient ETL design. The aim
of performance testing is to point out potential weaknesses in the ETL design, such
as reading a file multiple times or creating unnecessary intermediate files. A
performance and scalability testing checklist helps discover performance issues.
Load the database with peak expected production volumes to help ensure
that the volume of data can be loaded by the ETL process within the agreed-
on window.
Compare ETL loading times to loads performed with a smaller amount of data
to anticipate scalability issues. Compare the ETL processing times component
by component to pinpoint any areas of weakness.
Monitor the timing of the reject process, and consider how large volumes of
rejected data will be handled.
Perform simple and multiple join queries to validate query performance on
large database volumes. Work with business users to develop sample queries
and acceptable performance criteria for each query.
System testing checklist
One of the objectives of data warehouse testing is to help ensure that the required
business functions are implemented correctly. This phase includes data verification,
which tests the quality of data populated into target tables. A system-testing
checklist can help with this process.
Make sure the functionality of the system meets the business specifications.
Look for the count of records in source tables and compare them with counts
in target tables, followed by analysis of rejected records.
Check for end-to-end integration of systems and connectivity of the
infrastructure—for example, make sure hardware and network configurations
are correct.
Check all transactions, database updates, and data-flow functions for
accuracy.
Validate the functionality of the business reports.
Technical shakedown testing checklist
Because of the complexity of integrating various source data systems, you can
expect some initial problems with the environments. A technical shakedown test is
conducted before commencing system, stress and performance, and user
acceptance testing to help ensure several needs are met.
Hardware is in place and has been configured correctly including ETL tool
architecture, source system connectivity, and business objects.
All software has been migrated to the testing environments correctly.
All required connectivity between systems are in place.
End-to-end transactions—both online and batch transactions—have been
executed and do not fall over.
Testing checklist summary
The testing checklists provided here are by no means exhaustive. But I hope you see
that these kinds of lists can be valuable for a complex series of data warehouse
tests. Checklists help improve data warehouse QA success by compensating for
potential limits of human memory. They help ensure consistency and completeness
in carrying out the complex task of planning and executing data warehouse tests
that are essential to the success of your projects.