Effectively Combining Shift-left & Shift-right Testing Approaches to Enable Continuous Testing
Listen on the go!
Faster, better, and steadier IT performance is essential for present day business. DevOps way of working helps transform the way we develop, test, and operate. And so it’s required to build quality from the very beginning, that is, starting with requirement gathering stage till deployment and operation.
Following are a few key success factors required to deliver quality software based on these DevOps processes:
- Make testing a part of the Continuous Integration process (Shift-Left)
- Getting feedback from the actual users (Shift-Right)
- Adoption and acceptance of Testing Driven Development principles (TDD)
- Continuous refactoring of tests
- A seamless, Continuous Integration process
Speed and the ability to deliver software faster is key to survive the present day competition. And the most challenging transformation issue in organizations is constantly deploying a new patch or application in production, which propels the need for revolutionizing testing.
To overcome this challenge, it’s essential to adapt “shift-left” approach, where testing starts earlier in the process, that is, teams keep their focus on quality, work towards problem prevention instead of detection, and prepones the testing schedule. All the project stakeholders share an understanding of what a successful implementation means, where acceptance tests define the completion of the project and effectively drive the development.
What is Shift-Right?
Building quality from the very beginning is not enough. Getting continuous feedback from users is equally significant in the testing process. This is the shift-right process. The tester is a pioneer to help in requirements elicitation phase and also should learn and find the way users use the product.
Benefits of adopting shift-left and shift-right processes
A few benefits of adopting the shift-left and shift-right processes are:
- Bugs are found and fixed early
- Helps save effort and time
- High test coverage
- Fosters team work with developers and testers
- Hastens delivery of software
- Being Cost effectiveness
Shifting-right helps address Mean-Time-Between-Failure, Uptime and Response time. A test strategy can be created by incorporating techniques of Shifting Left and Right, thus making the process faster, better, steadier and cost effective for Continuous Delivery.
TDD & BDD
Adoption of Acceptance Testing Driven Development (TDD) principles implies refactoring tests continuously, just like code, and testing the code as a part of the Continuous Integration process. Behaviour Driven Development (BDD) is an opportunity for the Product Owner to align with the business value of the capability. The user story explains the desired outcome, but the BDD scenario describes the acceptance test. TDD & BDD enable teams to build CD – Continuous Delivery pipeline first, so every test written can be run automatically.
It is a process where automated tests are executed as part of the software delivery pipeline to gain immediate feedback on the business risks concerning a software release candidate. Continuous Testing in DevOps encourages a systematic approach toward process improvement. Continuous Testing takes a leap beyond mere automation and includes all practices comprising factors like tooling and cultural change to mitigate risks before proceeding towards subsequent Software Development Lifecycle stages.
DevOps practices help organizations save time and money, while increasing quality and time to market. Though it does involve spending time and resources to setup automation initially, but done with the right partner and weighing the cost and benefits, this will be an investment which you won’t regret. Learn more about Cigniti’s DevOps expertise.
Additionally, if you want to know more about how to effectively combine shift-left & shift-right testing approaches to enable continuous testing, attend a Webinar on ‘Accelerating Digital Transformation Journey with Digital Assurance QA’ on 20th July 2016, 11AM EST by Sai Chintala, Senior Vice President, Global Pre-Sales. Reserve your slot here.
|About the Author: Ramakrishna Annavazala, Lead Consultant – ATS, Cigniti Technologies, is a result-driven professional with over 15+ years of rich experience in Project Management for Information Technology Management, Project Management activities and Technical Support. He has in-depth understanding of software Quality Standards/Models/Methodologies (CMMI, ISO, ITIL, SoX and Agile), Development and Support of Projects and Statistical Process Control (SPC), is involved in Business Process Management (BPM) activities of strategizing functions and processes, defining baseline for the process or the process improvement, analyzing to help improvement and finally controlling to deploy implementation and create dashboards to monitor the improvement.