Test data automation

Test Data Management in DevOps

Challenges

Applications and databases have their own logic and unique characteristics. For test data to be useful in these contexts, it must reflect production characteristics, such as:

  • Selection Criteria (Business Rules)
  • Column attributes and transformations
  • Inter-field/key relationships (referential integrity)
  • Value ranges and cross-column calculations

Test data for production quality must also have these attributes:

  • Type – Correct Column/Field Values and Formats
  • Width – Values with Current (and Future) Ranges
  • Frequency – realistic patterns of value occurrence
  • Deep – Volumes Addressing Scalability Issues

In a fast-paced DevOps and Continuous Integration (CI)/Continuous Deployment (CD) environment, the ability to generate and automate consistent and realistic test suites, which can vary greatly in format and scope, can be a significant challenge and distract developers with tight delivery deadlines.

Solutions

Applications developed with realistic data formats and quantities are more likely to succeed in production. IRI RowGenTest data generation tool uses production metadata to create custom test sets with randomly generated data and/or randomly selected data from production sources to synthesize. The Data masking tools IRI FieldShield and IRI DarkShield can also be used to find and mask PII and other sensitive data in production to create secure targets in lower test environments.

To generate the correct values and value ranges, RowGen uses conditional selection and formatting parameters. RowGen increases the realism of test data through referential integrity, frequency distributions, and integrated transformation and formatting functions. For example, you can randomly select data and define ranges from pools of real data or weighted numbers.

For test data management in DevOps environments, also known as Continuous Integration and Continuous Deployment or Delivery (CI/CD), RowGen can synthesize test data at any stage of a development process without needing data from another stage. See linked examples for the provisioning of Test data for DevOps at the end of this page.

In addition, and in a unique way, embedded Data transformation, validation, and formatting functions can be executed simultaneously with the generated data in the same script! This can facilitate incremental application testing, ensuring backward and forward compatibility with your production versions. See this use case.

Combine random generation and selection of set files, conditions, and field-level manipulations with custom layout functions. Quickly create the intelligent data you need to stress test and validate your applications. Improve the quality and reliability of your results. Schedule jobs to repeat generation and testing operations in IRI Workbench (or your own CLI-supporting automation tool) to smooth CI and CD processes.

If you still prefer to test with data from production databases, you can also use RowGen to quickly to divide.Or you can with IRI FieldShield and IRI DarkShield an even wider range of sources mask. If you need multiple functions or test data from a variety of static or streaming sources virtualize must, you should IRI Voracity Data management platform and partners like Value Labs and view their Voracity-supporting Test Data Hub, which provides test data on demand.

And if you are using existing CI/CD pipelines, you can directly call the IRI software to provide masked, subsetted, or synthesized data for them! Check out the test data generation for DevOps examples in: Amazon CodePipelineAzure DevOpsGitLab and Jenkins. If you are using a different test data automation framework, ask us about it!