Types of Test Data Used During Software Testing
Test execution is a complex process that contains numerous stages. Data creation is one of the key activities for the test environment preparation. Each type of software testing requires different data, equally proper and sufficient. The largest amount of data is needed for performance, stress, and load testing.
The appropriate background must be provided for every test case. According to the IBM 2016 research, test engineers spend 30%-60% of their time producing data. One shouldn’t rely on standard test data as it is better to create the custom ones. Their preparation helps to assure sufficient test coverage and make the project more accomplished.
Test data can be grouped according to different parameters. As for their importance, there can be distinguished:
- test-specific data: influence the system behavior and reveal the case specifics under the test
- test-reference data: have little influence on the test performance
- application reference data: irrelevant to the behavior under test, and are needed to start the application
Test data commonly include the following types
- Valid test data. It is necessary to verify whether the system functions are in compliance with the requirements, and the system processes and stores the data as intended.
- Invalid test data. QA engineers should inspect whether the software correctly processes invalid values, shows the relevant messages, and notifies the user that the data are improper.
- Boundary test data. Help to reveal the defects connected with processing boundary values.
- Wrong data. Testers have to check how the system reacts on entering the data of inappropriate format, whether it shows the correct error messages.
- Absent data. It is a good practice to verify how the product handles entering a blank field in the course of software testing.
Ways to create the test data
- Import from the production environment
- Duplication from prior customer systems
- Using test automation tools
To effectively manage test data, here is the framework to be used.