When to Use Manual Testing vs. Automated Testing
Join the DZone community and get the full member experience.Join For Free
These days, it seems like automation is everything, but in terms of test management, not everything should undergo this process. In fact, in some cases it may be more beneficial to revert to manual testing in order to test some aspects of a project. The only issue then is for organizations to understand which method will best suit the situation. Here are a few instances when quality assurance teams should use manual testing instead of automation:
1) When flexibility is needed
Although manual testing is not always as accurate as automation, manual processes allow testers to have more flexibility in their operations. Because automated testing is inherently useful for repeated cases, this often means that the same code and scripts will be leveraged every time. If testers have an idea they want to work on right away, however, doing it with automation requires establishing test cases, programming them with the automation tool and then running the test, which takes a lot of time, according to Base36. In this case, it would be easier - and faster - to execute through manual operations.
"With manual testing, you can just quickly test and see the results," Base36 stated. "Automatic tests take more time to set up, which doesn't allow you to test ideas quickly and easily."
2) When short-term projects are active
Automation requires a lot of investment and planning, both of which can be extraneous in short-term projects. In an interview with TechTarget, John Overbaugh, senior SDET lead at Microsoft, stated that automated testing doesn't make sense in this case because of the costs. The upfront price of automating a project like this could be too high for the return on investment and value offered by the finished product. For this instance, manual testing would be cheaper and more beneficial overall to the bottom line.
"Automated testing doesn't make sense on short-term projects where the expense of setting up automation exceeds the value," Overbaugh said. "I have been involved in small projects that added a minor feature set with little or no code shared with other portions of the project and which would, in all likelihood, never be iterated on."
3) When usability is being tested
The success or failure of an application is largely dependent on its usability. However, this extends far beyond just running automated tests to ensure that no defects exist. Computers do not have original thought - they run actions that are programmed and cannot provide the type of feedback that a human user would give when using an app. For example, automated tests can easily find errors in code, but it could not tell how users would interact with a certain feature or how well people will be able to navigate the program.
If users find that a tool in the software does not work the way they need it to, this could be a critical factor in determining whether others adopt the app. This is the type of information that manual testing would generate. Software development consultant Kevlin Henney noted that exploratory and usability testing will both need human perceptions as machines "are great at faultless repetition, but less effective at exploring and following hunches." This could help quickly catch and mitigate defects that emerge when users engage with the app in certain ways.
Automated testing has numerous advantages for testing, but manual testing can be more beneficial in certain instances. By understanding which method is best for the situation, QA teams can streamline operations, boost productivity and improve overall quality.
Published at DZone with permission of Sanjay Zalavadia, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.