What is it? Is it even a thing?
To me, QAOps is about integrating quality into the CI/CD process. This involves working effectively with developers (and others involved in the CI/CD process) to make sure the right automated tests are being run at the right time, and in the right way. This means we automate as much as possible by using the testing pyramid as a guide. i.e. more unit tests and less e2e/UI tests and these tests are executed at the right point in the CI/CD process. For example, you should be running all of your unit tests whenever merging to your master branch so you at least get alerted if you have introduced a breaking change. It’s worth mentioning that testers shouldn’t be limited to getting involved in the deployment phase, they can get involved as far back as requirements gathering and user story mapping by “shifting in all directions”
How can you drive quality?
We can drive quality throughout each stage of the SDLC, we don’t need to limit testing activities to just a dedicated testing phase. To me, assuring quality isn’t limited to just identifying bugs in code but actually about delivering the best possible experience to our end users which could mean suggesting tweaks to the behaviour of a feature or the UI. It could even mean suggesting improvements to how your data is being returned via an API and how it’s being consumed by the client. One of the easiest way to encourage this behaviour is ensuring that 3 amigos sessions are involving the tester(s) or you spend some time pairing with developers in order to help encourage the quality mindset. We can also focus on QA activities post production via monitoring, testing in production and A/B testing to name a few
How do you integrate QA in development and operations?
During the 3 amigos sessions/story kick offs (whatever you wish to call it), automated tests can be discussed at that point so before a developer even starts writing code, they have already agreed what test automation will be covered and at what layer (think of the testing pyramid) and the testers can pair with the developers to write them. This does a number of things: It encourages collaboration between testers and developers, it also gives insight into how testers test that ultimately impacts the quality of the application and it encourages a shared ownership of quality across the team
What are the benefits of using QAOps?
QAs won’t be working in a silo and can get involved earlier on in the SDLC to help drive quality activities. This also encourages pairing between testers and developers. It helps with a shift toward an approach where testers get involved earlier if they aren’t already (as opposed to just being a part of the “testing” phase) and should encourage developers to write more/better automated tests that will be run as part of the CI/CD process. Also, quite simply, for those organisations that don’t have a dedicated testing resource, it’s a great opportunity to get conversations about quality going and to start introducing (more) automated tests.
Similarly, what are the drawbacks?
Personally, I don’t see any drawbacks in considering quality in the deployment phase, any opportunity to talk about testing and implement better test automation is great! However, there could be some challenges, for example: Shift in mindset for QA. Traditionally testers have been used to focussing on the “testing” phase, with a shift to closer collaboration with developers, this may seem daunting. Also, your CI/CD process may not be set up for test automation, although straightforward enough to do, it is an additional overhead. It could also be difficult due to organisational restraints (getting buy in from the business).
What is the future of QAOps in a business?
Principles are taken from DevOps and applied to QA so if anything, it’s just a word that will help conversations about quality to get started for those that need it. “QAOps” is just a part of shifting testing in all directions, there is so much more that testers can do for their organisations and teams.
If organisations have adopted DevOps (as many have) QAOps should be inherited. If it isn’t, it’s a great opportunity for organisations to focus on their QA operations and how quality can be improved as part of the CI/CD process.
TL;DR QAOps is part of DevOps, if you haven’t adopted DevOps, it is a good starting point