DevOps is designed to enable a culture where development and operations come together to build, test and deploy the applications in order to reduce the overall deployment time. As the DevOps movement gathers pace, there is sometimes the impression that QA doesn’t have a natural home anymore.
What now, QA?
While waterfall and agile testing had an explicit home for QA, where is its home in DevOps? Most of the talk is around continuous development, continuous integration and continuous delivery. Newer discussion of continuous quality (something we are championing at InfoStretch) isn’t mainstream yet.
What you do hear plenty about is test automation. In a world of nightly or weekend regression runs, clearly the volume of testing has increased substantially. And with this increased volume of testing comes the imperative of test automation. To put it bluntly, DevOps cannot succeed if it still requires a large number of test cases to be executed manually.
So whose job is test automation?
With DevOps, quality becomes everybody’s concern. In theory, that’s great news. However, there’s a great Chinese proverb which translates to “The shared courtyard never gets swept”. Meaning that if something is everybody’s problem, then no-one is responsible. And therein lies the danger.
Test automation is not something that magically happens on its own, as any experienced DevOps or agile developer or tester will tell you. A lot of the hard work in test automation typically comes at the beginning, in building out the test cases. Thankfully of course, there are companies like InfoStretch that can handle the complete set-up. But still, whose responsibility is it internally?
From testers to test automation engineers
The reality of test automation is that it is not something that anyone can easily pick up. It’s technically complex and arguably where most immature DevOps operations fall down. A test automation engineer needs to know test automation tools, know how scripts can be created in parallel with development, know how scripts can be executed with the help of CI/CD tools and collaborate well with both development and operations.
So, assuming you don’t already have qualified test automation engineers on staff, there are three simple options. Use a company like InfoStretch that has hundreds of test automation engineers and agree your engagement. Hire from outside of your organization — not the easiest route because of the scarcity of talent and experience. Or retrain your existing testers into test automation engineers — again, that is something that InfoStretch does for a number of our customers who don’t have the experience to do so.
What happens now?
In true DevOps style, the development and test automation engineers need to work together so that the instrumented code of the development team helps the automation tester write their scripts to ensure maximum testing coverage. These scripts and code, supported by CI/CD tools, are used to generate builds automatically, deploy them and test them.
A more strategic role for test automation is possible too where people have the technical and management experience. This role means defining the quality strategy in line with the DevOps culture which include assisting in fine-tuning requirements, defining strategies where 100% automation coverage is not possible, defining quality metrics and subsequently measuring and analyzing those metrics. In this role, it is more a case of not just finding the bugs but becoming responsible for preventing bugs. This is a higher role, a more strategic role — continuous quality.
All of this may sound challenging. It is, but it is worth it. DevOps is a worthy, but tough, path to bring the whole business into making better software quicker and one of the keys to success is test automation. Getting test automation right is one of the strongest indicators that you are a mature DevOps or agile operation and that you will be successful, despite the challenges. As Aristotle wrote, a couple of thousand years before DevOps arrived, “Quality is not an act, it is a habit.”
To find out how InfoStretch can help with test automation and mobile quality, click here.