Test Data Quality
In computer science, there is a long-standing notion that an incorrect or poor-quality input will always produce a faulty output. This is captured by the familiar expression “garbage in, garbage out”. The concept is especially true when considering the role of test data used in software quality assurance testing.
Test data quality is central to GenRocket’s approach to real-time synthetic test data generation. We believe the quality of the testing process is only as good as the quality of the test data being used by those tests. When generating test data for your test automation framework, it’s just as important to generate data with a very high standard of quality as it is to provision it rapidly.
The diagram below illustrates the four dimensions of test data quality delivered by GenRocket’s Test Data Generation (TDG) platform:
Patterned Test Data
The GenRocket platform provides hundreds of test data generators that can be combined to create test datasets with any pattern of data you can imagine. Here are some typical examples:
- An ordered list of user account names with any mix of alpha-numeric characters
- A realistic list of names and addresses for multiple countries, cultures and languages
- A sequential list of properly formatted social security numbers for any range of values
Simply select a combination of test data generators and invoke them from a GenRocket Scenario.
Conditioned Test Data
Perhaps your test data needs to represent a specific set of conditions to find anomalies associated with boundary conditions. Or your test case may be designed for negative testing to detect errors associated with invalid or missing data. GenRocket enables more comprehensive testing by providing conditioned test data to cover a wide variety of use cases.
- Randomized test data to detect unexpected outcomes from the code
- Edge case data to fully exercise the code for all boundary conditions
- Null test data to test an application’s response to missing data components
GenRocket allows testers to define their own test data requirements and generate conditioned test data in real-time and on-demand.
Complete Test Data
The best way to maximize code coverage is to maximize the completeness of the test data. With GenRocket, testers can generate more variations of test data than can possibly be found in a production data subset. Permutation testing, for example, is useful for finding false positives in applications with an extensive use of calculations that produce statistical results.
Another example is testing machine learning algorithms that must be trained and validated using a large test dataset that represents real-world information with a variety of values in either structured or unstructured formats.
Financial service applications that handle high-volume of transactions must be rigorously tested with a large-scale transaction history with dates in the future or in the past, and with the ability to blend synthetic data with program data that accurately reflects transaction outcomes.
- Have full control over generating of all variations and permutations of data
- Have full control over generating conditions, percentages, edge cases and null data
- Have full control over generate all variations of historical and future data
- Have full control over formats of data output
- Have full control over the volume and speed of data generation
GenRocket’s real-time synthetic test data can produce the most comprehensive test data imaginable for the most demanding application testing requirements.
Accurate Test Data
Accuracy is a measure of the precision of the data, the validity for how faithfully it represents the database and the timeliness for how often the data is refreshed and up to date. GenRocket generates test data based on the data model for the target application database. When the data model changes, GenRocket automatically updates its test data scenarios to represent the most current version of the data model.
GenRocket also maintains referential integrity for all parent-child relationships among data tables at all times throughout the TDG process. The more complex the application and its database structure, the more value QA professionals will realize from GenRocket’s ability to ensure referential integrity.
- GenRocket’s TDG engine generates test data based on your data model
- All test data is refreshed based on the most current version of the data model
- GenRocket Domain Parent-child relationships are always maintained
GenRocket eliminates the need to perform a complex data refresh process on stored datasets by generating real-time synthetic test data on-demand.