Test data management is a term used in the context of software test life cycle during which a huge amount of data generates as a result of testing the application under development/test. Test data is simply an input fed into the system to verify the output.
The term 'Test Data Management' is used in reference to the process of ensuring that the data conforms to accuracy and quality as well as working in the correct format within the right environment. Test data management can be implemented efficiently if planned well, that is, identifying the ways of utilising data either manually or with the help of some tool.
The foremost thing is to identify type of data requirement for a given project, after which testers can come to a conclusion regarding the preparation of test data management strategy. A strategy could be somewhat like the following:
Extracting information from multiple tables through SQL queries.
Creating files on the basis of mapping rules, modifying production data etc.
We know test data management is about managing data to be used for testing. Now we can observe the pattern of data usage in different types of testing.
Test data management in Functional Testing: Some of the facts that need to be considered while perform test data management for 'functional testing'.
Coverage: Functional testing must cover all possible scenarios within the application be it positive or negative, checking all possible extreme values i.e. boundary conditions. Therefore covering the application's testing in entirety is what coverage aims at in the context of functional testing.
Low volumes: A single test data is sufficient to test a particular scenario and no repetitive test data is required for similar type of test cases.
High reuse: There are certain types of data that can be reused every time testing is performed. For eg. Country code, user id's, phone no. etc. can be used for a number of test cases.
Tools: A tool is considered effective in this regard only when it aids in accumulating quite a wide spectrum of data which meets all the data requirements and those can be used across different releases, is a beneficial choice.
Test Data Management in Performance testing: During performance testing, there are a number of issues that come into the picture such as huge volume requirements that can provide maximum coverage, limited environment availability and so on. The application of test data management thus requires the team to set up tools and techniques that provide solutions for bulk data generation.
Characteristics of TDM in Performance Testing:
High volume of data: Well, performance testing is all about attacking the system with huge amounts of users or data at a certain time and check the endurance capacity of the system. Thus multiple data sets are required simultaneously to hit the system with a burst of load.
Quick consumption of test data: The load on a system under test is produced by a wide number of users, which is consumed quite rapidly.
Very short data provisioning cycle: After every cycle of execution, new set of data is required before beginning with the next cycle. Thus the idea is to make provision to create data within a short span of time and avoid unavailability of data to the maximum extent.
Workload distribution: Well for testing a system, there could be a number of test cases. In such a situation where different types of data is required, the complexity of data creation increases to a great extent.
Test data management in Automation Testing:The very essence of automation testing is its data. To test a scenario one needs a good amount of test data for verifying the different scenarios. Factors that affect automation testing are-
Fast consumption of test data: Data exhaustion is a common phenomenon in both performance and automation testing. Thus data accommodation is a factor worth consideration.
High coverage: In automation there are a wide variety of scenarios just as it is in the case of functional testing. Thus test data requirement differs with each scenario.
Test Data Management Checklist:
Few points are worth paying attention to while planning for test data management:
Allocate test data after prioritising the same as per need.
Group common test data elements.
Create and implement business rules wherever appropriate.
Build a master data plan which includes an exhaustive list of the different types of data to be covered.
Benefits of Test Data Management:
Minimise risk of data breach:TDM is a great way of discovering integrated sensitive data, business classification and data masking. TDM ensure safe replication of production data and can be deployed on cloud and on premises
Accelerate testing cycles: The approach of TDM enables targeting specific datasets to cater to specific needs. TDM ensures an environment of testing that does not face much delay and saves time.
Lower infrastructure cost:Due to the fact that the team targets only the specific categories, thus creating 'right-sized' test databases, which in turn eliminates chances of incurring huge costs.
Rapid deployment of packaged application:In case one needs to use applications like Oracle EBS, PeopleSoft, SAP, Seibel, there are pre-built accelerators for such tools, which helps maintain integrity of data.
Less Resources:As the access to database or file is confined to the TDM team, the degree of privacy and security also increases.