The hottest buzz words in quality assurance right now are “automation” and “moving left”. Automated tests do beat manual ones as far as saving time goes, but there’s no sense in adding extra automated tests just to increase your test coverage.
David Morgan, a QA leader, is here to tell us how to build a quality software engineering organization from scratch and implement behavior-driven development. David has worked as both a developer and QA, so he is able to recognize the challenges that both sides encounter.
The Buzz Around “Automation” and “Moving Left” in QA
Morgan: "A lot of people these days talk about shifting left or QA automation. Those are the big buzzwords of what the QA people are trying to do. But I think some of that is a little misunderstood. A lot of them are taking manual test cases and then automating UI test cases, and then they go, Ha, ha! We shifted left."
David points out that that isn’t really where you want to be. Although QA automation is obviously better than manual testing when it comes to saving your team time, he says “You can go way farther left than just having a whole bunch of UI automation.”
But what does shifting left mean in a software engineering organization?
Hire software engineers who can design quality software from the start
Define good quality requirements with your product managers, product owners, and sales people
Use a tool like Cucumber to put all of the criteria into a common format for the developers
Common Misconceptions and Mistakes When It Comes to QA Automation
A common mistake when it comes to QA automation is removing the human factor. You can have a site pass all of your QA automated tests, and still have human users struggling to add items to their cart.
Morgan: "I think people tend to focus so hard on an automation that they tend to lose some of that human touch to the testing"
QA automation is great for redundant components, but it hasn’t fully replaced the functionality of manual testing. There are lots of reasons that manual QA testing cannot be replaced yet. Automated tests aren’t able to find errors they weren’t looking for. Humans are able to conduct tests that go beyond “pass or fail”. Conducting scenario-based manual tests will confirm that your user experience is positive, and show you what areas could be improved.
The assumption is that you’re doing quality work but you are not actually implementing quality. The problem with just hiring developers is that these people don’t necessarily have a testing mindset. They are more focused on creating new features rather than ensuring that all new features work exactly as they should.
What to Consider in Hiring?
David recommends hiring according to the “three A’s”, focusing on them in this order:
Attitude is one of the most important things when it comes to creating a team, because you want enthusiastic people who work well with others. Aptitude matters because even if someone has never done any testing before, they can learn and have that QA mindset ingrained in what they do. Ability is important, of course, but attitude and aptitude are what will create a great team.
Create, Improve & Repeat
When it comes to QA moving left, your main focus should be creating a quality software engineering organization from the start. Hire the right people to form a team that has a QA mindset and is focused on making sure features work exactly how they should.
Shift your QA left by focusing on quality first, automating where you can, and continuing to conduct scenario-based manual tests to improve UX.