6

I have read an article about DevOps and it sparked my curiousity on what would be the role of a QA here. Though I would like to quote this from the article:

In the end, if there is a layer of people in the middle between development and operations, then you cannot perform CI and CD seamlessly and, therefore, cannot do DevOps. To run a proper DevOps operation, you cannot have QA at all. - https://devops.com/devops-killed-qa/

Is this talking about a traditional, manual QA? OR does it talk about QA in general? I thought QA's role in DevOps is to prevent bugs, not finding them.

  • what do you mean by traditional manual QA and QA in general? How do you define and differentiate the 2? – IAmMilinPatel Nov 17 '16 at 4:25
  • traditional manual QA - manual QA. QA in general - Quality Control/QA, manual testers, automation tester, software dev in test – Marj Nov 17 '16 at 13:49
  • 1
    I am floored that this is an article.....DevOps will not be replacing QA any time soon – DEnumber50 Nov 17 '16 at 17:15
  • 1
    @DEnumber50 At least is wasn't "Something is changing QA departments around the world. You won't believe what it is!!" or "They tried to streamline their deployment pipeline. What happens next will shock you!" – corsiKa Nov 17 '16 at 18:53
  • @Marj, I'm not looking for tags. I just wanted to know what is your understanding of the 2 terms and how you differentiate them from each other? – IAmMilinPatel Nov 18 '16 at 2:48
9

Simply put, no it hasn't. It might be changing some development shops, but not all, and even where it is changing it isn't killing anything. Or at least, it shouldn't be.

First, let's be sure to clarify the difference between QA and testing. I went over this five years ago, but I'll summarize here. Testing is being a professional user that does some crazy and some not so crazy scenarios. Quality Assurance is the broader goal of "Is the customer happy?" They're often confused because testing is so critical to a customer being happy.

With that out of the way, it's obvious that QA as a department isn't going anywhere. It will still analyze metrics and feedback to make the app better. It will still explore the app to find defects and get them back to development to be prioritized and resolved. If a company is killing its QA department because they've discovered the latest definition of DevOps (of which there are many) there won't be a company there for long.

The question now is Does manual testing remain a quality gate to production? And it's very possible the answer is no for some places. Some fast paced environments are going to look at the risk to reward and say look, we can push to prod without a battery of tests because the benefit of getting new features out immediately is critical. I've had clients in the high-frequency trading sector that were doing this in 2010 because they have to constantly adapt their algorithms to TODAY'S market conditions. By the time QA can test, those conditions are gone and the money is gobbled up.

So this is nothing new - it's just that other companies are willing to make those jumps to production too now. Nothing is getting killed. You still need testers to explore the app. They just might not stand in the way before going live. Because you can push a new build out almost instantly, some companies will choose to send it live now while testers go to town on the build. If there's a problem, development will fix it and send out a new version.

But for the vast majority of companies, this level of reaction time is not necessary and will not be profitable. Plenty of apps can go weeks or months between release, so it's no big deal to just have everything tested. So while this author is telling all the testers to start changing careers, I would tell them to exercise caution. Learn all you can about DevOps, and all the other paradigms that are gaining traction, and find out how to best support your firm with that knowledge. And keep doing the awesome things you're doing every day.

Trust me, no skies are falling.

1

QA and devops are different roles that can and should co-exist and they do that in all my recent companies.

QA

QA sees if the application works. We're not (just) talking http get requests, we're talking 'can end users and consumers use the full functionality of the software as expected'. Servers might be up and working but there can be many application specific reasons why users can't log in after a recent application change. Perhaps the key factor here is that QE and application developers should be working hand-in-hand to ensure quality during development rather than QE having a more traditional 'gatekeeper' role after development is done. This sort of role is what gets in the way in your description.

DevOps

Devops makes sure that the servers are up, memory is available, DNS is working, backups are being made, CPU's aren't overloaded, etc, etc (much more). Users might not be able to log into the application but the servers themselves might be up and running and available fine.

  • 2
    These days, though, DevOps has meant something else. It tends to describe the build and deploy pipeline that bridges development and operations. So what the article is saying is that if a build has to be sent to a QA environment before going live that it isn't DevOps anymore. – corsiKa Nov 16 '16 at 21:45
  • I've always thought devops should be doing that, supporting development operations. In my experience in several new companies though their role is more frequently about supporting production. – Michael Durrant Nov 16 '16 at 22:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.