In this post we discuss about very important topic in software testing which is test data, It is key part of any software testing.
What is Test Data?
- This is the critical aspects in software testing
- Test Data is required to test the application
- During testing the application we would be required huge test data
What are the test data types?
- Null/no data – Verify by without entering data/no data – check how the system returns a proper response
- Default data: Verify the system’s behavior on default data – will it display default or any other data
- Valid/positive test data: This kind of data will be used for positive testing
- Invalid/negative test data: System respond proper response or error messages in the case for invalid data which is normally used for negative testing
- Boundary test data: Test the application with the test data for upper values and lower values. •For e.g.: 1 to 10 valid / -1,0 and 11 are invalid with extreme conditions
- Equivalence Partition Data Set: Test the Application with the Test data qualifying the equivalence partitions. •For eg. 0/invalid 1 to10 valid 11 to 99 invalid 100 invalid
- Decision Table Data Set: Test the data based on the decision table testing strategy
What are the Test Data Challenges?
1.Test Coverage
If we use test data which is created manually that leads to inefficient in testing
2.Data Versioning
If we do not maintain properly the test data version, then there will be Inconsistent test data used from one version to another version
3.Regulatory Compliances
Test data needs to be protected or managed based on the regulatory compliances such as
- Based on the different domains such as banking, insurance, life sciences regulated by federal/state laws
- Legal obligation to protect the customer information
4.Complex workflow
Certain Business complex application scenarios requires creating the complex test data to be created and maintained appropriately to test the complex scenarios
5.Lack of Automation
If we do not adapt automation in creating and maintaining the test data that might leads to tedious tasks in managing the test data
6.Lack of domain knowledge
Without having the domain knowledge, it is very difficult in identifying and preparing test data
7.Lesser time to market
- Constant Pressure on the developer / testers to release the application
- Along this pressure , testers will have additional pressure in the activities like test data identification, test environment set up etc.
What is Test Data Management(TDM)?
- TDM data creation similar (mimic) to the production data to perform the system testing
- Directly we cannot use the production data due to security and regulatory issues
- TDM makes use of data masking techniques to mask personal information
4 Test Data Management(TDM) techniques
Here are the certain techniques adapted in managing the test data
1.Exploring the test data
- Data can be in different forms/formats
- Data spread across multiple systems
- Finding/exploring the right test data sets is very crucial
2.Validating your test data
- After exploring the data
- We must validate the test data related to sensitive/personal data
3.Building test data for Reusability
- Test data generated required to be segmented/reused
- Optimized
4.Automating TDM tasks
- TDM involves scripting, data masking, generation, clone and provisioning
- All the above tasks requires to be automated for the efficient
- The automated test data requires to be linked to the appropriate tests