Strategies for Test Data Preparation
We know by everyday practice that the players in the industry of testing are continuously experiencing different ways and means to enhance testing efforts and most importantly its cost efficiency. In the short course of Information and Technology evolution, we have seen when tools are incorporated into the production/testing environments the level of output substantially increased. When we talk about the completeness and the full coverage of testing, it mainly depends on to the quality of the test data. As testing is the backbone for attaining the quality of the software, test data is the core element in the process of testing.
It is always practical to create the subset of the data you need from the production environment where developers designed and coded the application. Indeed, this approach reduces the testers’ efforts of data preparation, and it maximizes the use of the existing resources for avoiding further expenditures. Typically, we need to create the test data or at least identify the test data based on the type of the requirements each project has in the very beginning.
We can apply the following strategies handling the process of test data management:
1. Creation of flat files based on the mapping rules;
2. Data from the production environment;
3. Retrieving SQL queries that extract data from Client’s existing databases; and
4. Automated Test Data Generation Tools.
Testers in agile development teams generate the necessary test data for executing their test cases. When we talk about test cases, we mean cases for various types of testing like the white box, black box, performance, and security. At this point, we know that data for performance testing should be able to determine how fast system responds under a given workload to be very much close to real or live large volume of data with significant coverage. For white box testing, the developers prepare their required data to cover as many branches as possible, all paths in the program source code, and the negative Application Program Interface (API). When we do testing, we need to focus on elements such as confidentiality, integrity, authentication, and authorization for having complete test data to security testing. As far as test data for black box testing is concerned, it is all about the criteria like; no data, valid data, invalid data, illegal data, boundary condition data set, equivalence partition data set, and decision table set. The testers shall back up their testing with through data which they have to perform different numbers of inter-related activities of as:
• Data analysis: After the tester analyzes and develops end to end test scenarios and the relevant test cases, prepares the test data.
• Data matching production environment: You are supposed to generate and or modify your test data to fully reflect the production environment for similarity purpose.
• Continuous update of the test data: Testing is a process that consumes the data so the testers shall consider the data clean-up as an ongoing approach.
• Sensitive data: Based on the legislation and contractual obligation, the testers must identify Personally Identifiable Information (PII) of data and mask as well as protect them when taking data to the testing environment.
• Automation:This is the process in which you generate data as per your need for testing by using Data management tools.
• Continuous update of adata warehouse: It is the core methodology for storing, updating, adding, cleaning all kinds of data that you require for different types of testing. You can use its existing data after modifying per given need of your testing for your consecutive release cycles. Having the various version of data stored in a repository can significantly help you in regressing testing and overall it is the most cost-effective way of dealing with the data of your need for testing.
Eventually, we can say that everybody working in the software development life cycle (SDCL) like; BAs, Developers and product owners should be well engaged in the process of Test Data preparation. It can be sort of joint effort. As we went through test data generation activities, we will shed some light on what is corrupted and outdated data, before stepping into the Black Box Test Data.