A Gartner survey suggests that 50% were using DevOps by the end of 2016. DevOps, which is the application of agile principles for faster development, ensures faster time-to-market/delivery. While breaking the wall separating development and operations, it also has more regulatory compliance’s to deal with. In addition, it enables, by integrating the QA processes throughout the development cycle, timely detection and quicker correction of defects.
But to be able to do that in a meaningful and relevant manner, the QA strategy needs to be devised right from the word go – from the requirement stage to design, development, release and maintenance, taking care of every aspect of the development life cycle.
Therefore, Day ‘0’ planning for QA in DevOps becomes not just critical but mandatory even. It must be rooted in the question, ‘What could go wrong?’
Preparing for QA Integration
DevOps implementation needs commitment at the management level since it involves momentous decisions right from whether the implementation should be end to end or modular. There are ready-to-use DevOps solutions available from leading vendors for end-to-end development, but the cost can be formidable and may or may not meet the needs of customers. In such cases, the management may opt for customized solutions that meet their unique needs at more affordable costs.
Once the decision is taken, the development, operations and testing teams need to set the objectives of the project as well as capture the storyboard for the different features to enable all three teams to align their perspectives for the success of the project. This is captured in a blueprint that guides the entire life cycle, and also has a deep impact on the testing plan, which in turn will decide the project’s success and ROI. The progress will need to be monitored and reviewed by a neutral team drawn from all the three aspects of DevOps (development, operations and testing) throughout.
The collaborative teams together devise the blueprint that acts as the beacon for development, operations and testing. For the blueprint design, the testing team provides the following inputs:
- The processes it needs to follow
- The tools needed for testing
- Tools to test for integration
- Provisioning for build validation scripts
- Provisioning for automated testing
- Identifying related processes that can be automated
This will require an understanding of what the development and operations teams require from a QA perspective, what the customer expectation of the product is and preparing for aspects that can be automated and that need manual testing.
It will need laying down of QA objectives, defining the scope, designing the test strategy for QA, creating the schedule, delineating the functions to be tested, allocating resources, and elucidating the deliverables while identifying the dependencies and the risks.
What Can Indium Do
At the heart of DevOps is not only reaching the product quickly to the customer, but also delivering a quality product that functions well and provides customer satisfaction.
Indium has experience working in the DevOps environment and puts user experience as the theme around which it plans and implements its testing process. It has streamlined its QA processes to be an integral partner in the DevOps process by:
- Getting QA integrated with DevOps
- Helping implement QA cycle in DevOps
- Ensuring seamless integration of all modules for the smooth functioning of the entire product
Even after roll out, it attains maturity over multiple iterations, which is an ongoing process. Indium has codified its learning in its IP-driven test automation framework, iSafe. Successfully implemented in several DevOps environment, it has helped reduce defects by as much as 60 per cent while also reduce the development times by nearly 20-40 per cent.
Day 0 planning prepares the DevOps team to better monitor the progress of the project and ensure that the goals are met while taking care of the possible pitfalls, defects and bugs. The involvement of the testing team is especially critical in identifying the possible scenarios and providing the right inputs that help in efficient and effective development and implementation.
The underlying benefit is that with proper integration of testing in DevOps environment right from Day 0, the time to market is reduced. With support from automation framework such as iSafe from Indium, DevOps productivity improves dramatically and cost of quality is lowered. iSafe enables fail-fast, fail-safe and fail-smart through its instant, automated alert on detecting an error, with information relevant to help the development and/or operations team, as relevant.
Over the years, the framework also enables test process automation that can be customised for the DevOps project underway, including:
- Starting/shutting down hub machines and Servers
- Setup: Environment/Data/Dependencies
- Registering and deregistering of nodes
- Checkout code from repository and build process
- Manual editing/updates of configuration files like testing.xml, property files, etc.
- Defect analysis and categorization
Involvement of QA in Day 0 planning helps identify the manual and automated testing needs of the project and recommend ways to reduce the manual component process where possible. This further contributes to reduce the development cycle and meet the DevOps objectives.