Data Testing
What is data testing?
Data testing is a critical process that involves verifying the accuracy, completeness, and consistency of data. This includes testing of functional and non-functional aspects of Business Intelligence (BI) solutions, data requests, dataflow processes and data migrations to ensure the reliability and accuracy of data used in various applications.
Why we do data testing?
Data testing is a crucial process for organisations, particularly in the context of the public sector. It ensures the quality and reliability of data used for analysis, decision-making, and service delivery.
Additionally, Data Testing is important to ensure GDS, GDPR and Government data quality principles are followed – Fit for purpose, Accessible, Secure, Sustainable and User centred.
Data Testing Framework
Our Data Testing frameworks focuses on,
Functional aspects of data testing
- Dashboard/Reports Testing: Ensures that dashboards display accurate data, business logic validation, up-to-date information and function as expected.
- Webpage Testing: Validates the functionality, usability, integration with the BI reports/dashboards and of webpages.
- Permissions Testing: Verifies that users can access only the data and features relevant to their role and access, ensuring system security.
- Data request testing: Validates that data requests are processed accurately, timely, and with appropriate access controls.
- Dataflow testing: Ensures that dataflows execute correctly, handle errors effectively, and produce accurate, consistent, and timely outputs.
- ETL/ELT Data Validation: Ensures source-to-target reconciliation, correct transformation logic, and end-to-end data integrity.
- Data Quality: Ensures that the data used and generated by the system is accurate, consistent, and relevant.
- API Testing: Checks the functionality, performance, and security of APIs, ensuring they work correctly and efficiently. (Note that the NHSBSA API Testing Framework is followed)
- Data Migration Testing: Ensures data moved from a legacy platform to a new one is complete, correct, and equivalent to the source – through source-to-target reconciliation, transformation and measure parity, access parity, and cut-over and rollback validation.
Data Migration Testing:
NHSBSA services are sometimes required to migrate data from one platform or database to another. There is a risk that data is lost, damaged or not migrated at all during a data migration process. It is therefore important to have checks in place to reconcile the target data against the source data, verify any data transformations during the migration process and ensure there is a rollback mechanism should something go wrong.
The NHSBSA DDaT Data Test Framework includes a Data Migration Framework for automated source-to-data reconciliation. Recent usage of the framework include:
SQL Server→Dataverse which can be found on GitLab here, and
Oracle→Fabric which can be found here in Confluence here
Over time these automation frameworks will be merged into one generic framework for other services to use, though each are fully adaptable in their current state.
In case details on column mappings are limited, an Automated Column Mapping tool has been built which can be utilised prior to the data migration. This is configurable for any database if required. The core logic is reusable, and enhancements are easy to make.
Non-functional aspects of data testing
NHSBSA Test Standards and Test Frameworks are followed for Data non-functional testing:
- Performance Testing
- Compatibility Testing
- Accessibility Testing
Improve the playbook
If you spot anything factually incorrect with this page or have ideas for improvement, please share your suggestions.
Before you start, you will need a GitHub account. Github is an open forum where we collect feedback.
Published: