QA Still Needs Humans More Than AI
- April 2, 2021
- Ramish Hassan
While the revolutionization of artificial intelligence (AI) continues to exceed leaps and bounds each year, the case for automating just about everything grows with it. And there’s no denying the fact that in most, but specific, cases, our primal brains simply can’t work as efficiently as artificial neural networks conjoined with code. Software testing is no exception to this fact either.
In many cases, testing has become quicker and more reliable when human input was taken out of the equation. Today, automation testing companies seem to be jumping on the bandwagon that is AI and using it to automate tests to remain competitive in a largely agile industry. Times and situations like these are when QA testers and technicians may start to feel clammy under the collar. Could AI spell the end of human testing? We don’t seem to think so. Let’s look at a few ways our robot overlords aren’t as great as us when it comes to software testing.
Humans can better understand user experiences
Harking back to the time when the internet was still in its infancy, websites were nothing but black plastered pages with white text. This text was only broken up with flashing lights and littered with – what seems now as ludicrous – underlined, bolded, or italicized words. This is too often done in the least aesthetic ways possible to the human eye. That’s all changed and let’s not spare a minute’s silence for this, shall we?
Computers fail to understand what is seen as aesthetically pleasing to the eye. The use and understanding of colors, text, designs, and patterns are all inherently biological in nature. Such an evolution in cognitive understanding cannot be reciprocated through machines. At least not yet. Once you begin to understand why your bank cards are colored gold and silver – denoting the elemental values they represent – you start to see why humans are still needed for aesthetic and cognitive decisions.
This is similar in testing too, wherewith user acceptance testing (UAT), testers try various UX/UI features to understand why your programmer’s idea of easy is actually button-click hell. Similarly, human QA testers also deploy the use of eye-tracking to understand why users aren’t clicking on obvious buttons and tabs. Such a level of understanding and forethought is parallel to how calculus is to the average adult.
While automated tests are great at spotting broken GUI elements and links, they struggle to quantify how easily navigable your software is. The average user simply does not have the time or patience to sit through a confusing mess of an application regardless of how well your automated tests perceived it as.
Humans are better at spotting errors
When the job at hand is to run repetitive tests across a wide range of web browsers on multiple systems, a computer is your best bet. When you want to tackle situations creatively, you’re going to need a human.
A good testing analogy to better understand this point is the following:
Imagine you’re testing software that is programmed to read text aloud to the user. The text shown on the page shows the day (23) and month (March), followed by a separator bar, and then a random financial transaction (588 dollars). Chances are, the software would read the text as: “March23588 dollars”. This is because the computer could not distinguish which part of the number was the date and which was the financial information.
If this process was automated, chances are no errors would be spotted because most testing tools don’t account for variables of this sort. If the text is incorrect or is misspelled, a computer won’t spot that as an error as it lacks the understanding of what the text actually means and represents. Similarly, errors like changes in fonts or a misplaced image are easier to spot by human testers as opposed to AI-based ones.
Humans write better error messages
In the time it takes to run a script, automated testing can look for and identify common defects. And while cases exist where there might not be any errors in a developer’s code, experienced QA professionals can still understand that there could be problems originating on the user’s side. Cases, where duplications occur in someone’s login name or using an obvious password choice like “Password”, are ones easily spotted and solved with the help of human intervention.
What’s especially great about using humans for this job is that they can create custom error messages that detail the issue for the user and can direct them on how to proceed to solve them. And yes, error messages are also subject to quality assurance simply due to the fact that a human can best interpret and construct an error message that explains to the user what to do next to solve an error.
Humans help save time and money
The main purpose of the existence of automation is to help alleviate some of the more time-consuming and repetitive tasks a person would have to do. What most automation testing companies disregard, however, is that in some cases, you could save more time and reduce overall costs by running tests manually.
This is especially true when considering automating one-off scenarios. Some important questions to ask yourself before going the automation route are the following:
- How difficult is it to automate a test?
- How many hours is it going to take to run this test?
- How long is the test cycle going to running for?
After answering these questions, you can better visualize the time and cost savings you can make for any test case before automation. Going the manual route can especially be helpful if your developers are struggling to meet a deadline or trying to find a specific bug in a recent build. Then, with foresight and the knowledge to equip you for the next iteration, invest in QA automation software.
Humans communicate better
The software development lifecycle involves collaboration amongst many different teams of people. This collaboration proves difficult most times on its own and is only compounded if any of the teams are outsourced or placed offshore. Synchronizing project work is thus a massive challenge for most businesses.
While difficult it may be, it isn’t impossible. This is helped if you have a team of humans (and not machines) that are great at utilizing their mouths to form recognizable noises in the form of words. In other words, to communicate. QA testers in particular are great at not just locating bugs and defects, but at providing valuable feedback when documenting these errors. At the end of the day, all QA testers are users and can make enhancements to software as any user would.
And if you’re very good at QA and at being a human, you can do all this and more all the while making unintelligible noises from your mouths, if that’s your cup of tea.
Automation has truly changed the way software testing is done today and continues to be the saving grace for most businesses when streamlining their workflows. Humans, however, are an integral part of the QA workforce and will continue to be just that at least for the foreseeable future.