Role of DEVOPS in QA
DevOps, it's all about being in-sync:
DevOps, a compendium of development and operations is an organisational strategy, focusing on a close collaboration and communication of the software developer team with the other professionals belonging to the testing and releasing teams. The planning employs automated processes in a symbiotic environment which ultimately results in building, testing and releasing the software with clockwork and guaranteed reliability.
How does QA benefit from it:
Some ten years back, QA was seen as a group disparate from the Developers' teams, with different skill sets and responsibilities and management. Fast forward into the DevOps age, and things are quite different today. Here's how we look at QA through the glasses of Devops...
1. Automated Deployment:
The conventional approach of a software "release" is now passé with devops facilitating the delivery of the product on a monthly, weekly and even hourly basis into the market through automated processes. This has been made possible through a continuous cycle of improvement where the developers, testers and operations people all working in sync and moving in the same direction.
2. Environment is now a part of the product...
Traditionally here's how the flowchart used to be like....you create a software, get it verified in a testing environment of the QA team and when the litmus test is over, so to speak, unleash it into the big bad world of the user. If anything then went wrong, it was the problem of the operations teams. Not any more....As is evident from the success of Google's Unbounce , the QA verifies the environment with their chief enabling infrastructure being the code itself. At the occurrence of any change/problem, the QA team initiates the requisite deploys, examines that the intended change, functions as expected and move over to the latest deployed code with the option of a roll back if needed.
3. Prevention is better than discovery...
In a devops environment, the priority for QA is prevention of faults and not just finding them. As opposed to let's say ten-fifteen years ago, the QA teams of today have the luxury of pushing the code on when it's fully functional and rolling it back when things go awry. This has positive ramifications in that, the QA team can continuously track the quality of the product. Thus the QA team has a profound influence on the development and operational phases of the software.
4. Less of Human error
Devops enables more of automated testing in QA thus reducing the glitches due to fatigue associated with manual testing. This also ensures 100% code coverage and quick scripting of test cases.
5. Greater teamwork and rapport....
At the individual level, the testers and the operations team get a chance to be on the same page and level as the developers. This improves co-ordination ticking the boxes for higher market outreach and efficiency gains