Devops strategies are changing. They are moving toward automation and feedback to support the ever demanding needs of the movement to the cloud. Organizations now need testing at every stage of the software development lifecycle; this instills a continuous testing mindset where development, QA and devops work closer together than ever before. To deliver quality apps more quickly and securely, devops teams should add shift right testing into their continuous testing process.
What is shift right testing? Simply put...it’s testing in production. It helps development teams uncover new, unexpected scenarios that aren’t possible to create in a development environment by relying on real production traffic and unpredictable input. It allows for a continuous feedback loop from users and helps analyze scenarios that cannot be anticipated, like crashes, slow performance and failures. Shift right testing speeds up your ability to deliver new features.
The goal of shift right testing is to ensure correct functionality, failure tolerance, performance, user experience and availability in the production use of an application. By testing in production, you build another level of confidence in releases by adding that extra quality check around your application.
The agile movement put a focus on shift left testing which has the mantra “test early, test often”. It ensures that the quality and business requirements are met by shifting the process to the left of the development phase. This means QA is involved right at the start of the development cycle and testing is implemented throughout the cycle. Shifting left is still a valuable strategy that teams should not get rid of, but it is not enough on it’s own. Now, companies around the world are increasing their adoption of devops practices so they can realize the benefits of greater speed-to-market, improved application performance, reduced downtime, and quicker fixes. In 2019, according to Interop Reports, the top drivers for devops include:
This adoption puts more pressure on the modern software development infinite loop to ensure testing plays a major part on both sides...the left AND the right. The new mantra is now “test early, test often, test in production”.
So, what are the benefits of shift right testing?
- Wider test coverage. Testing in production allows testing of more scenarios using real data resulting in better quality, fewer bugs and customer experience.
- Reduces risk. Shift right testing practices like dark launches and canary deployments are helpful to reduce the risk of crippling your application or having degraded performance when releasing features.
- Higher confidence in applications. Testing and monitoring in production ensures quicker deployments and delivering continuous quality to users.
- Better customer experience. Quality and application stability is greatly improved by extending the continuous testing feedback loop to include production data and real user traffic giving customers an improved experience.
- Faster product delivery. More test coverage instills a higher confidence and allows the team to iterate faster.
Shift right testing seems like a no brainer, right? It doesn’t have to be a herculean effort to get started. Teams can start taking a more holistic approach to continuous testing by adding in any of the following shift right testing practices:
- API monitoring
- App monitoring
- Performance monitoring
- Semantic (a.k.a. synthetic) monitoring
- Feature toggles
- A/B testing
- Testing web services with live production traffic
- Canary testing
- Infrastructure integration testing
- Disaster recovery testing
- Fault tolerance testing
- Visual testing
- Dark launches and feature flags
- Microservices testing
- Security testing
This list might look overwhelming but the key is to start. Pick one and get started. There are many tools out there and the list is growing. Our next article will help you prioritize which tools are best for given situations.
Testing in production should be a component of a well-designed and scalable quality strategy. We should all continue testing early, often, and in production. As you start integrating these tools into your testing strategy, check out Testery to help scale your testing effort and run all your tests quickly. You’ll be delighted by the ability to view your test results across tools in one location! We are also here if you need suggestions on where and how to start. Now...go get shift-right testing!