“The one who owns information, owns the world”
Data is one of the main assets for a company. Corrupted, inaccurate, or invalid data can lead to loss of the reputation, money, clients or other business artifacts. That’s the reason why Data Validation and Verification provision may be among the top-priority business objectives.
Data Validation and Verification can be considered from different points of view depending on business needs and expectations. This means that Data Validation and Verification is context-dependent, and one of the basic test principles rests upon this statement. So, any testing in this area should start from identification of testing direction(s), and this is a required condition for achieving predefined business objectives. The following list represents possible fields where Data Validation and Verification can be performed:
• Database Testing
• Input/Import/Export Process Testing
• System Testing
• Maintenance Testing
• Validation of the Data Itself
Testing within the above mentioned directions is much broader actually, but Data Validation and Verification makes a significant part of it. Each testing has a unique set of business objectives and, as a result, distinct goals, test approaches and test types.
Let’s review some examples for obtaining a better understanding.
Database testing can be related to different kinds of databases (e.g. OLTP, DW, OLAP). The following list represents some objectives which can be set for this area:
– Verify that the data is stored in the correct format and is mapped as required (structural testing).
– Verify that the procedures/functions/triggers handle the data appropriately (object validation testing).
– Verify that the transactions handle the concurrent sessions as required (transaction testing).
Input/Import/Export Process Testing
This testing is related to different kinds of insert or extract data processes (e.g. import/export files into/from database, ETL). Testing efforts might be concentrated on the following aspects:
– Verify that all records, fields, and full contents of each field are loaded into destination (data completeness testing).
– Verify that the data is transformed correctly (data transformation testing).
– Verify that the data is loaded into the destination without loss and that the application rejects, substitutes default values, fixes, ignores, and reports invalid data as required (data quality testing).
This testing is related to software solutions verification (e.g. for a web app or a mobile app) and includes a wide range of common testing types. Here, a possible objective might be verification data in reports/pages/dashboards.
Various tasks arise during maintenance. Because of that, testing approach and testing types selected will depend on specific situation. For example, it might be needed to check whether data is influenced somehow (during the compatibility testing) or whether data have migrated correctly to destination resource.
Validation of the Data Itself
This type is absolutely different from all testing types mentioned above. Its specific nature resides in the fact that requirements (storage, extract, transmit, load) do not exist here. We only have an array of data and set of knowledge about some aspects of data nature. As result, we need to analyze it in terms of some deviations or anomalies.