Skip to main content

The state of QA today

I recently read a blog post about the state of QA in general, and it really opened my eyes to realise that it isn't just in my current company where testing is in a state of anarchy almost, but at least for my own sanity it appears to be in a number of places.

The blog in question is here, and it references an article available here. Like the blog, I do not agree with everything in the article, but I will elaborate and discuss the key topics in this blog post.

I was going to write a similar blog post, around the state of QA contractors, however, I feel that it can now be coupled together into this blog post.

To be honest, first things first, it was a bit of a relief to realise that this is an industry wide problem, and not just isolated to where I am at currently. It is something that I care passionately about, as all too often, I see people hired by companies as QA professionals, but in reality, I have no idea how they can claim to be one.

In the blog post, it's mentioned that approximately 50% of people in software QA business shouldn't be. This is something I have felt for a long time (maybe not as high as 50%), they seem to get by going from contract to contract or job to job, and  somehow keep getting hired. I also don't believe that it's just contractors, a lot of people just don't have the passion/knowledge for the job that they should have.

I do believe that, (in my current company at least), it is being addressed, recruitment is becoming more stringent, but obviously this has an impact on resource availability if we are spending more time recruiting we have less time for other things, but hopefully we will start reaping the rewards of this, unfortunately this does not rectify the problem across the industry.

Firstly, let me state, I've had the pleasure of working with some incredibly knowledgeable QA Contractors, on the flip side to that I have also had the pain of working with bad contractors, as a matter of fact, this isn't just a QA centric post, it could be aimed at Developer contractors and even any contractor in a professional role.


The reason why it is so obviously highlighted for QA I feel, is that we are the quality check. If a developer develops bad code, then providing it isn't buggy and does what it should, then it's quite possible that by the time someone comes to work with that area of the system again, the contractor is long gone. However, if a bad QA is employed, and they write bad tests, and have bad analysis skills, then bugs will be missed, and bugs will go into production, and this in turn makes the entire QA department look bad, not just the QA Contractor, but any QA who works at the organisation.

Why are poor QAs getting hired?

I think a lot of it is down to the interview process, it's hard to gather enough information about someones QA skills in a 2 hr face to face interview, this is why where I am at currently, we have a phone interview and a written test all to be completed before attending a face to face interview. Once at the face to face interview the interviewee will complete a technical test as well as complete an oral task of analysing a made up User Story, and answering multiple questions about their experiences.

However, even with this, it is possible that mistakes are made, and the wrong people are hired for the wrong job. The important thing is that this is realised early and can be rectified.

There's also a big misunderstanding still around that of exploratory testing, which I discuss here, it's viewed that anyone can do it, and it's aimless, when in fact, it's the exact opposite. Exploratory testing is at it's most useful when it is performed by people who know the systems and have some form of charter/direction in place.

Let's also talk about qualifications, they are all well and good, they show that people know the theory of something, but they unfortunately do not show that someone understands the theory in real life scenarios, and when everyone has the same certificate, is it still useful? Is it still a useful tool for certifying someones skills?  I have worked with people in the past who have no idea how to view the source of a page, or what a 404 page was, but guess what they were certified. 

So, these are the reasons why I feel that the state of QA is in anarchy, however it has been reassuring to know that it isn't only myself who feels this way, but it's felt across the industry. I don't want this to sound too negative, as there are many positives about QA, which I will address in future posts, I promise in more detail, but I love working as a QA and there are a lot of very good QA and I am lucky enough to work with some, and have worked with many in the past, automation is really driving things forward and challenging me every day. I am sure that things will eventually change for the better, and I will be doing everything I can to help improve things sooner rather than later. I would like to think that by even reading this blog, and making people aware of the problem, then they can act on it and try and improve things themselves somehow.

Comments

Popular posts from this blog

Treating Test Code as Production Code

It's important when writing automated tests to remember that the code you write should be up to production standards, meaning any conventions that you have in place should be adhered to and that it should follow good design patterns. Too many people often say why does it have to be as good as production code, it's "Only" a test, so long as it passes then that's fine... To answer this we need to look at why we want our tests to be written in such a structured and efficient manner: - Maintainability - by making the test code structured and efficient, it becomes far easier to maintain and in doing so changes in the future can happen quickly as the test isn't linked to anything that it shouldn't be and it's easy to understand for a new set of eyes. - Durability - Again by making the tests structured they should be resistant to changes, if you change a variable name for instance then it shouldn't effect the unit test unless it absolutely has to....

Testers: Be more like a Super-Villain!

Who doesn't love a Super Hero? Talk to my son, and he'll tell you how much he loves them, talk to many adults and they'll say the same! Deep down, we all love to be the Super Hero, we all want to save the day! However, I want to talk about the flip side of Super Heroes, the Super Villains... I often play Imaginext with my son, and I (unfortunately?) am nearly always the Super Villain! Be it Lex Luthor, Joker, Two Face, Mr Freeze or The Riddler! These are all great characters and great Super Villains, but why would I want to write about Super Villains? A while ago where I worked, we had a few Super Heroes, people who would be able to come in and "fix" things that had broken and help deliver projects on time. We then shifted, we decided to do away with the Super Hero culture and try and prevent from being in that position in the first place, whilst we didn't go as far as wanting to hire Super Villains, it's definitely a story that has stuck with me and t...

Using BDD and gherkinising your Acceptance Tests

In my post Testing of Automated tests , I mention about a BDD framework which involves using BDD to drive your acceptance tests. BDD stands for Behaviour Driven Development.  One effective method of writing BDD tests are by using a format known as Gherkin language. These consist of Given, When, Thens. The main advantage of the gherkin language is that it's readable by the business, and in an ideal world forms part of the Conditions of Acceptance around a PBI. Also, using a Visual Studio plugin of SpecFlow , you can integrate your Gherkinised COAs into your solution with feature files, and then drive the automated tests, however, for this post I will focus solely on how to effectively gherkinise your acceptance tests. A Feature file consists of a feature outline, which details what the feature file is testing followed by Scenarios and examples (parameters).  The BDD scenarios are made up of a Given, When, Then... These are effectively an initial state (Given), an action (W...