How Self Service Test Data Enables DevOps at Scale
Software release frequencies are continuously accelerating. The latest Capgemini/Sogeti Continuous Testing Report 2020 measured the release frequencies for 500 large enterprises in North America and Europe. The results, shown in the graphic below, indicate 61% of organizations are deploying a new build on a daily or weekly basis. Another 26% deploy code hourly, while some even deploy several times per hour.
This accelerated pace of software development reflects the near-ubiquitous use of Agile practices in combination with a DevOps culture. The 14th Annual State of Agile Report found that 95% of organizations are using Agile methodologies and 76% have implemented a DevOps initiative.
While Agile and DevOps have become standard operating procedure for modern software development, most organizations haven’t yet reached an advanced level of maturity. The research shows that for more than half of all organizations, the Agile journey is still a work in progress.
As for DevOps maturity, most organizations are stuck in the middle stages of their DevOps evolution. In the 2020 State of DevOps report, over 2,400 participants around the world working in IT, software development, information security and related areas were surveyed to assess their state of DevOps deployment.
A 5-stage DevOps Evolution Model was used to represent their level of DevOps maturity. The model defines a progression of best practices, such as the use of version control, the standardization of systems and technologies, the independence of teams, and the reusability of deployment patterns for applications and services. The full model is provided below.
Most organizations have difficulty completing stages 4 and 5. These advanced stages represent full automation of the software delivery process and the implementation of internal self service platforms to unlock the productivity of their DevOps teams.
The use of automation and self service platforms must be the primary focus for achieving the full benefit of Agile and DevOps at enterprise scale
The 2020 State of DevOps report found that highly evolved firms are 6 times more likely to use internal self service platforms than firms at a lower level of DevOps evolution. As a result, organizations are now sharply focused on the implementation of multiple internal self service platforms to scale their DevOps operation. 63% of respondents report having at least one internal platform and of those, 60% had between 2 and 4 internal platforms.
One of the most critical areas for implementing self service capabilities is automating CI/CD workflows. Accelerating the CI/CD process is essential for increasing the frequency of software releases. It’s at the heart of achieving the ultimate goal of DevOps – the seamless integration of development and operational processes. The diagram below shows the level of implementation for various self service offerings based on an organization’s stage of DevOps evolution.
The Impact of Self Service on the CI/CD Pipeline
In a typical CI/CD workflow, development teams commit new code modules to an automated build process. This triggers automated unit and integration tests, with failed tests resulting in code going back to development for refinement. Code that passes integration testing is then packaged for automated functional testing and user acceptance testing. The final code build is configured for an operational environment and subjected to load and security testing prior to its production release. This continuous integration and delivery process is repeated for each new build.
Test Automation Requires Test Data Automation
For a long time, the missing ingredient for accelerating the CI/CD workflow has been the ability to automate the provisioning of test data required for automated testing. QA engineers would prepare test scripts for automating all categories of testing only to wait days for test data to be provisioned by a centralized test data management team.
GenRocket has modernized this test data paradigm with Test Data Automation – the ability to model, design, deploy and manage test data on-demand with an intelligent self service platform. Using GenRocket, testers can design the test data needed for any category of testing while they are designing their test cases. Test data designs are captured in a configuration file that can be called by any test script to provide fresh, controlled, and secure synthetic test data generated in real-time during test operations. In addition to accelerating the speed of data provisioning, and by extension, the entire CI/CD workflow, this approach also allows unlimited data design possibilities. Testers can quickly and easily provision any category of test data on-demand.
- Positive & negative
- Patterns & permutations
- Dynamic & stateful
- Queried & synthetic
- Rules-based & adaptive
Test Data Automation can be applied to any category of testing, such as unit, API, integration, end-to-end, security, load and compatibility testing. With Test Data Automation, the CI/CD workflow can be fully automated and accelerated. Below is the previous CI/CD pipeline workflow diagram modified to include GenRocket’s Test Data Automation technology.
With GenRocket’s Test Data Automation, all test data configurations are reusable. That way, several unit test configurations can be combined and repurposed to provide test data for integration testing. Similarly, integration and end-to-end test data configurations can be re-used for regression testing and expanded for load testing.
The GenRocket platform provides version control over test data designs and automatically refreshes the data for each test run. Additionally, GenRocket refactors each test data configuration to reflect changes in the database schema or the data definition language used to define data structures.
This use of intelligent automation to streamline and accelerate the test data provisioning process will enable QA organizations to move their DevOps environment forward to a more advanced stage of evolution. This paves the way for full enterprise scalability and the many benefits that will accompany this transformation.
- Drastically reduced cycle times
- Accelerate releases and time to market
- Reduce application backlogs and bottlenecks
- Reduce operational costs and increase operational efficiency
GenRocket is continuously adding new forms of intelligent automation to its Test Data Automation platform. To learn more about the many self service capabilities inherent in the GenRocket platform, visit our web page on Self Service Test Data Design.
To better understand how GenRocket can be seamlessly integrated into your CI/CD environment, request a live demonstration and consultation with a GenRocket Test Data Automation expert.