Test data includes all information in an information system needed to test this system to be successful. According to the International Software Testing Qualifications Board, the definition of test data is: ‘Data that is present (e.g. in a database) before a test is performed and affect (or affected by) a component or system under test’. Recently Dutch ICT business magazine Computable published an article on the topic ‘Test data‘, in conjunction with Accenture’s Paul van den Broek and myself.
While system testing is increasingly professionalized, the subject ‘Test data’ remains often underexposed. When there is too little attention for test data during the planning phase, the need for data and administration during the preparation and execution of different tests can vary greatly, and the general description in the test plan is not sufficient enough. The lack of proper planning and approach in test plan or strategy leads to inconsistencies and errors in the data correction, with major consequences for effort and duration. In order to bridge the gap between theory and practice of test levels and data, Accenture developed a model that helps to get grip on the required test data to better control the preparation and execution of a test program. The model consists of a description of test data along two axes: data types and data-life cycle.
Three types of data and lifecycle phases
In every information system (and thus in each test phase) there are three types of necessary data: system configuration data, master data and transactional data.
- ‘System configuration data’ controls the operation of the system. Decisions and logic within the system are often determined by the configuration. An example of configuration data is the decision rules in a rules engine.
- ‘Master Data’ acts as a reference to all other data in the system and gives meaning to it. This data often has a uniform meaning for the entire organization, low rate of change and a long duration. For example: customer information, vendor information or product information.
- ‘Transactional data’ is created or transformed during the use of a system. This data has a high frequency of change and creation, often a short validity and occurs in high volumes. It’s often used in management reports, because it is a reflection of what is currently happening in the systems (and thus the organization). Few examples are: order data, invoice data, payment data and accounting data.
Regardless of the type of data, or test level, all the test data during test preparation and execution go through three major phases. These three life stages include identifying, generating and managing the data. Identifying is the stage where the main features of the data will be determined (e.g. consistency between systems and required volume). When the test data is identified, it can be generated. The required data is created or copied from a source. To generate data, there are many possibilities; It can be created manually based on test conditions, copied from a production or test system, generated by a tool, or a combination of these options. When all questions regarding identification and generation are answered, the final phase is managing the data.
Test data management model
By placing the data types and management phases against each other, a model will be created with which the test data requirements for each kind of test can be investigated and recorded. By applying this model it will be clear what specific data are needed in the process during the planning of a test program. Therefore all activities around the test data, in both the preparation and execution of the test project, can be planned in more detail. This results in fewer surprises during the project.
For more information about Test data, please read the published article here (in Dutch).




















































