From the course: Software Testing Foundations: Transitioning from Manual to Automation

Breaking down manual testing

Inherent in the design of manual testing is the need to examine the software at every level, from the nuts and bolts of the code to the colors of the user interface. Strategically speaking, manual tests are operationally equivalent to automated tests, but they're done by hand by professional testers. The manual approach distinguishes itself because it covers the foundations of test design. Writing a test plan, designing test cases, capturing bugs, and delivering results are at the core of how manual tests are performed. This means to effectively implement automation, you need a deep understanding of how manual testing techniques are employed. Automation at its base is recreating manual techniques by allowing a software application to perform a task normally performed by a tester. However, if you don't have a solid grasp of the manual test techniques being covered by your automation, you could potentially miss essential steps and struggle to understand the results of your automation. Test professionals need to be able to look at the software as a whole and design plans that incorporate tools to deliver the best product possible. When the test plan is conceived, the team is looking at white box, black box, acceptance system, unit, and integration testing. It's all being analyzed and broken down. Then opportunities for automation are evaluated. A fundamental rule of testing is that you can't automate everything. Manual testing functions exist as part of the quality process, even if they've been automated. More importantly, they're used when you can't automate. As the test plan is designed, the manual techniques are documented, but they're being performed by an automated tool. Ad-hoc tests, usability, and exploratory testing are only suited for manual testing. And in your plan, you will skip those kinds of tests as candidates for automation. You'll find quickly that you'll burn a lot of hours trying to find a way to automate these tests when they are designed to be done by a human. Autonomy, speed, and simplicity are appealing, but you need to evaluate how it will perform with your specific test cases and suites. It takes a measure of self-control and deep understanding of your product to ensure that the quality processes you decide to automate are effectively covering equal or more testing than the manual processes accomplish. There's no need to decide between automation or manual testing. If you go online, you can see tons of content arguing for one approach or the other. These arguments are not only pointless, they can also hurt the quality of the product. Both processes are tools to achieve one goal, a good quality product, and you need both to effectively test. Take time to understand the fundamentals of your manual testing approach before investing in an automation strategy. This requires being radically candid about your successes and failures. You need to evaluate each technique and see which are successful and which cause you pain, problems or aren't delivering. Automation or using artificial intelligence at their base is recreating manual techniques by allowing a software application to perform a task normally performed by a tester. However, if you don't have a solid grasp of the manual test techniques being covered by your automation, you could potentially miss essential steps and struggle understanding the results of the automation.

Contents