During my early morning scan through email posts I came across a thread in the Software Testing and Quality Insurance LinkedIn group that was called “Manual testing is obsolete, let automation take over.” This provocative title turned out to be a question for the participants of the subgroup, “Automated Functional Testing.”
Wait a second - the members of this group must be automation geeks like me, ready to script or record whatever can be automated. Surely there is going to be a heated discussion about the need for expansion of automated software testing.
Test automation is not new and it is not reserved just for high-tech projects. Take IKEA shopping experience, for instance. At numerous store locations around the world (including the one here in Massachusetts), there's a sample testing tool for chairs. This machine continuously presses 175 lbs. onto said chairs in order to simulate year-long continuous use of the furniture. Genius, right? Why would they need humans to sit down and stand up over and over again just to validate design and manufacturing of each chair?
So, back to that LinkedIn group. Forgive me, but I assumed that the majority of the people in this particular group must have answered that particular polling question with an emphatic “Yes, these days, everyone uses automated testing!”
Based on the feedback from the experts in test automation, the answer is actually a resounding "No," because both manual testing and test automation “have their own benefits.” That was the option selected by 83% of the participants in the Automated Functional Testing group! At the time this article was written, the provocative post had accumulated a whopping 278 responses!
If you are a manual tester, it’s a moment to release a silent sigh of relief, and if you're deciding about the investment in your QA organization, this is also something to think about. We've had decades of software development, software controls robotic missions all over our Solar System, yet we still need manual testing.
The reason for that need is the complexity of the task at hand and the intellectual power required for real-time decisions that allow testers to think while they work so that they can focus on the most important use cases, historical pitfalls, new untested development bits and various implications of the current actions, which allows them to guide the process of testing and required corrections until the satisfactory levels of quality can be reached in a limited period of time. Software testing is not a trivial task!
At the same time there are some areas of testing that scream for test automation - where readily available and affordable technology can do the job for us so that we can focus on more intellectually challenging problems. Here are some examples of activities that can be quickly automated with test automation tools:
- Install and uninstall of software
- User login/logout
- Setup of test environment before testing and clean-up after the test
- Test data generation etc.
What is your experience with combination of automated and manual testing? How do you combine the two? Share your stories in the comment section below!