It can seem like Quality Assurance is covered once you’ve assigned responsibilities to each capable development team member. After all, they’re creating the program, they know how to test whether it will perform the best that it can for the user.
Value of QA in the Development Process
However, even with the best possible team, there will still be interaction with the modules that each individual software developer may not anticipate.You need an independent third party to come along and make sure that the final product actually meets the business requirements that are specified.
When a Quality Assurance (hereafter QA) engineer assists with testing, he or she will try the happy path, or the easy way of achieving something, that most group members would test. But then a QA person will also try all the things the program is not supposed to do, to make sure that it fails gracefully. In short: a software QA engineer will probably think of a lot more ways to try to break the software than the engineer would.
Additionally, a software QA professional is the advocate for the user because a certain feature can be technically implemented but it may not have a good usability quotient. The QA professional can provide valuable feedback so that the software not only conforms to the technical spec but also provides a user-friendly experience.
Manual vs. Automated Testing
When a QA engineer tests a program, there are both manual and automated tests that the engineer carries out. While it seems like it would make most sense to automate as many tests as possible, that isn’t a very viable option.
There are always tests that require a human to sit down and think: “Okay, if I were a user and I were to approach this, and I needed to perform the following tasks, how obvious are the steps to do these tasks? Can I find the information I need to make this happen in a relatively short period of time? Does it seem intuitive? Are there too many repeated steps? Do I have to copy and paste information just to speed things up? Why would I need to do that type of thing?” That is one type of manual testing that you cannot really automate. So, automated testing remains a tool that is useful for some tests, but 100% automation is not yet possible.
Automated testing remains a tool that should free up the QA team to do the things that humans are better at. It allows the team to continue to have the right kind of broad test coverage that they need.
Find out more about 5 Things You Need to Know for Manual and Automated Testing Success in our new ebook.