Manual Tester s Guide to Automated Testing Contents Introduction...3 Knowing the Differences...3 Common Misconceptions About Automated Testing...4 How to Transition to a Blended Manual/Automated Approach...7 Top Reasons to Introduce Automated Testing into Your Company...8 Automated Testing Allows You to Focus on More Important Tasks...9 2
Introduction When it comes to automated testing, there are generally two camps those who think it s indispensable and those who think that manual testing accomplishes everything they need. The truth is, each form of testing brings something to the table. And in the end, they both contribute to the final goal software that works as well as it possibly can. What follows is information that can help you understand the benefits of both approaches. We ve designed this e-book as a tool that you can use to analyze each option and make the decision that s right for you. So, with that in mind, let s get started! Knowing the Differences As most people in the software industry know, there are distinct differences between manual testing and automated testing. Manual testing requires physical time and effort to ensure the software code does everything it s supposed to do. In addition, manual testers have to make a record of their findings. This involves checking log files, external services and the database for errors. If you re familiar with manual testing, you know this process can be extremely time-consuming and repetitive. Automated testing is, well, automated. This differs from manual testing where a human being is responsible for single-handedly testing the functionality of the software in the way a user would. Because automated testing is done through an automation tool, less time is needed in exploratory tests and more time is needed in maintaining test scripts while increasing overall test coverage. 3
The benefit of manual testing is that it allows a human mind to draw insights from a test that might otherwise be missed by an automated testing program. Automated testing is well-suited for large projects; projects that require testing the same areas over and over; and projects that have already been through an initial manual testing process. Common Misconceptions About Automated Testing There are five common misconceptions about automated testing that manual testers should be aware of: 1. Automation will provide you with more free time The misconception that automated testing will give you more free time is both true and false. In manual testing, most of the time is devoted to exploratory and functional testing where you would manually search for errors. Once that process is complete, the manual tester must repeatedly go through the same steps over again. With automated testing, that time is cut drastically. The work for automated testers is instead spent coding the tests and making improvements to these tests repeatedly as adjustments are needed. Once the test is complete, however, automated testing allows for the recycled use of tests so that they do not have to go through this whole process again. In essence, the time spent on the mundane tasks and repetition a manual tester would go through is instead spent focusing on larger, more important issues involving the software you re developing. 4
2. The Cost of Automated Testing is Too High At first, the investment in automated testing might seem costprohibitive, especially if you re a smaller company. But analysis has shown that, over time, automated testing pays for itself. As mentioned previously, automated testing frees you up to focus on larger issues such as customer needs, functionality and improvements. Automated testing also reduces the cost and need for multiple code revisions, so over the course of time, the investment pays out. In addition, each time the source code is modified, the software tests can be repeated. Manually repeating these tests is costly and time-consuming, but automated tests can be run over and over again at no additional cost. 3. Automated Testing is Better Than Manual Testing The reality is, there is no better or worse in the automated vs. manual debate, there s just different. Each approach has its own advantages and disadvantages. Manual testing is performed by a human sitting in front of a computer carefully going through application via SQL and log analysis, trying various usage and input combinations, comparing the results to the expected behavior and recording the results. Automated testing is often used after the initial software has been developed. Lengthy tests that are often avoided during manual testing can be run unattended. They can even be run on multiple computers with different configurations. In the end, both manual and automated testing have their roles, especially if the software you re developing is too large and too complex to rely just on the manual approach. 5
4. Automated Testing Inhibits Human Interaction Another common misconception about automated testing is that it undermines human interaction. In all honesty, automated testing is more clear-cut and faster than what humans could do without suffering extensive human errors, so this misconception is understandable. That said, products like TestComplete are designed to facilitate a collaborative approach by including features that allow co-workers to go through a piece of test coding and comment on the script. This doesn t replace the face-to-face communication that s a necessary part of software development. Instead, it enhances that aspect by providing another channel through which to communicate. Think of it this way email didn t replace the telephone, it was just an additional tool that could be used to communicate. The same holds true with tools like TestComplete by SmartBear they re not replacements for face-to-face communication as much as they re ways to improve communication. 5. All Manual Tests can be Converted to Automated Tests Wouldn t it be nice if you could use automated testing for everything? Unfortunately, that s not the case. Although many tasks can be automated, there are still some important things that can only be done manually. This is especially true in the early developmental process when the software isn t ready for prime time or when only certain portions of the software have been created. Again, this leads us back to our key point automated testing doesn t replace all aspects of manual testing. Instead, it can be used to enhance what you do so that you re free to focus on larger, less mundane tasks. 6
How to Transition to a Blended Manual/Automated Approach Unfortunately, there s no school for automated testing. Instead, the best way to learn automated testing is by rolling up your shirtsleeves and putting it into action. And since tools like TestComplete allow you to record your testing and play back the results, learning how to use it is a simple process. The record, replay, repeat tool in TestComplete is a recording engine that provides the tester a way to conduct tests. It s a perfect tool for manual testers learning to adapt to automated testing. Working with the application during tests, TestComplete records these actions so you can later play them back or modify them. These actions can be recorded as keyword tests, script code or low-level procedures. A great starting point is with keyword tests, which are the simplest form of automated tests that you can develop. They are easier and faster to create than script code because it does not require knowledge of scripting language. With script code, TestComplete has a unique ability to record user actions as scripting instructions that form complex automated test coding. While recording, you have the ability to replay and discard unwanted actions making it easy to learn and read. At the base of the recording features are low-level procedures that allow you to record every aspect of the testing process made by the user including mouse clicks, motions, and keyboard activity. TestComplete also has a Test Visualizer program that captures screenshots of the application during every possible step of your testing, providing a visual overview of the created test flow. It highlights each object that is currently being tested in individual frames that allow the tester to ease into learning automated testing context. You can also add new operations and compare the added features to the test alongside 7
the original, making it easy to identify how the changes in coding affect the original test that was developed. These features make the seemingly arduous task of learning automated testing simpler and easier to understand. With manual testing in your background, you bring to the table key components that original automated testers were not trained to do. Among the debugging techniques mentioned earlier, manual testers are more discerning and able to see software through the eyes of a user. In addition, they provide their own judgment and human touch to the software. Top Reasons to Introduce Automated Testing into Your Company As hard as you may try, it s difficult to catch every defect in a software program. By introducing automated testing into the process, you can reduce the number of bugs and defects in the programs you create. What follows are several reasons you should consider introducing a tool like TestComplete into your testing program: Automated testing saves time and money: Admittedly, there s an initial up-front cost to purchase an automated testing program like TestComplete. But studies have shown that in the long run, the initial investment pays for itself again and again. Automated testing improves the quality of your software: Automated software testing can look deep inside an application and see memory contents, data tables, file contents and internal program states to determine if the product is behaving as it should before it s released to market. Automated testing accomplishes things manual testing can t: No matter how large your software department, it s nearly 8
impossible to perform controlled web application tests simulating thousands or even hundreds of thousands of users. Automated software testing can do all that and more. Automated testing makes developer and tester jobs simpler. Shared tests can be used by developers and testers to catch problems quickly before sending them to QA. Tests can even run automatically whenever source code changes. This has a direct impact on the quality of the end product. Automated Testing Allows You to Focus on More Important Tasks With tools like TestComplete, the evolution from manual to automated testing does not have to be difficult. By allowing you to see every action you make, either while generating test code or in administering tests, manual testers can see exactly where to make adjustments while they re learning. After using automated testing tools and techniques, manual testing has proven to be an effective way of double-checking the software to make sure there is no stone left unturned. In that sense, manual and automated testing go hand-in-hand and, when used properly, can ensure that the final product is as good as it can be. 9
About SmartBear Software More than one million developers, testers and operations professionals use SmartBear tools to ensure the quality and performance of their APIs, desktop, mobile, Web and cloud-based applications. SmartBear products are easy to use and deploy, are affordable and available for trial at the website. Learn more about SmartBear, the company s awardwinning tools or join the active user community at http://smartbear.com, on Facebook or follow us on Twitter @smartbear and Google+. SmartBear Software, Inc. 100 Cummings Center, Suite 234N Beverly, MA 01915 +1 978.236.7900 www.smartbear.com 2013 by SmartBear Software, Inc. Specifications subject to change. SB-DCBT-052213-WEB