What is Test Data?
Test data is the input given to a software program during test execution. Usually, the test data should be very similar to production-like data used by Test Cases to test software applications. Usually, Test Data is collected into a document called Test Data Document. Below are the types of test data that is used to perform testing:
Valid Test Data: It is the positive data used for the system when generating expected results. This is a combination of all possible inputs to make sure the application is working as per the requirements.
Invalid Test Data: It is the negative data used to test unexpected or negative conditions and exceptions. Below are some examples:
- Null Values – Mandatory fields have to be tested with null values to verify system behavior.
- Out Of Range Values – Testing with the input values which is beyond the expected data limit.
- Special characters that are not allowed – Some fields like phone numbers do not allow special characters. Testing is done with the same to observe system behavior.
- Invalid data format – This could be the combination of the above three examples.
Good test data is a combination of valid and invalid data to cover all positive as well as negative Test Scenarios.
When and Who write Test Data?
Typically, the test data has to be created before testing begins and at the time of designing Test Cases. In many test environments creation of test data takes a lot of steps to configure the test environment. Another factor is, if the creation of test data is performed during the test execution phase then it could delay the test execution.
The testing team is responsible for creating software test data. But in some cases, like medical or banking software where the data is more sensitive, Business Analysts might provide masked production data as test data.
How to Create Test Data?
Test data can be created in the following way:
Manually: This is the most common way of creating test data. It is mostly created in an excel sheet, where testers need to consider test Scenarios and test conditions and according to use the conditions. Word files, Text Files, XML files can also be used to create test data.
Copy From Production: Typically, in case of Load, Stress, and Performance testing where a large amount of data is required, it is always advisable to copy the data from the production environment.
Automated test data generation tools: Automated test data tool is used like DTM Test Data generator, a customizable utility that generates data, tables (views, procedures, etc). This data is used for database testing, performance testing, functional testing, load testing, or usability testing.
Copy Test Data from Legacy client system: Many times, the test data is also copied from the legacy system to perform manual testing, performance testing, load testing, etc.
Test Data for Black Box Testing
In Black Box Testing the code is not visible to the tester. The functional testing is performed with the test cases and test data. The data should meet the following criteria:
No data: Verify system response when no data is submitted
Valid data: Verify system response when Valid test data is submitted
Invalid data: Verify system response when Invalid test data is submitted
Illegal data format: Verify system response when test data is in an invalid format
Boundary Condition Dataset: Test data meeting boundary value conditions
Equivalence Partition Data Set: Test data qualifying your equivalence partitions.
Decision Table Data Set: Test data qualifying your decision table testing strategy
State Transition Test Data Set: Test data meeting your state transition testing strategy
Use Case Test Data: Test Data in-sync with your use cases.