With the advent of DevOps, testing and development cycles are faster than ever before. In an environment of continuous integration and continuous delivery (CI/CD), developers make changes to the code that trigger a pipeline of automated tests. The DevOps objective is to produce software in real time while making changes on the fly during or after the change (upgrade). Unfortunately, this is often not the case, and developers are now responsible for the quality of their software and need to know how to fix code errors before they are pushed into production.
Curtail ReGrade enables teams to shift both left and right at the same time. Even early in development, teams can start comparing the behavior of each release candidate to the previous one. And, in post-production environments, ReGrade’s comparison tools can continue to find unexpected defects.
Shift left is an approach to software development which strives to find and prevent defects early in the software delivery process. The aim is to improve quality by moving tasks to the left as early in the software lifecycle as possible. Shift right testing is a method of continuously testing software in a post-production environment. Also known as “testing in production,” this approach helps software developers uncover problems that may not have been detected within the development environment. DevSecOps teams really want to shift left to find bugs early and shift right for finding bugs “in production,” using production traffic inputs. They also would like to ensure that security issues are not introduced into a new release. ReGrade accommodates testing throughout the entire software development life cycle. Shift left, shift right, test early, test always!
Most organizations are focused on bringing greater efficiency to software development through test automation. Integrating ReGrade into your existing CI/CD pipeline extends traditional testing techniques with more modern “shadowing”.
Existing pipelines run unit tests and larger integration tests before deploying a new release in development and QA. ReGrade can be run as simply another test at various stages of the CI/CD pipeline. The CI/CD pipeline can run the existing automated tests against a pair of test environments, one with the old software and one with the new, by using ReGrade.
The results will provide detailed information about any unexpected changes in software behavior allowing developers to fix them. If nothing unexpected is found, the software may proceed through the pipeline.
Before launching the new software package live in a production environment, ReGrade let’s you run the upgrade in a next generation runtime shadow environment capturing every request and response in the production environment and recreating the same behavior in the next generation shadow environment. Again, the next generation shadow configuration allows a simple pass or fail result to be obtained from running against production traffic. If an unexpected difference is found, the detailed description of the behavior and what caused it can be provided to developers for triage.
Once the next generation shadow environment has run long enough to process a representative sample of production traffic, the final automated deployment step may proceed. In this way, all of the benefits of a ReGrade runtime shadow deployment can be realized in a fully automated CI/CD environment.