Manual Tester’s Guide to Automated Testing

10

Transcript of Manual Tester’s Guide to Automated Testing

Page 1: Manual Tester’s Guide to Automated Testing
Page 2: Manual Tester’s Guide to Automated Testing

2

Manual Tester’s Guide to Automated Testing

ContentsIntroduction ........................................................................................3Knowing the Differences ....................................................................3Common Misconceptions About Automated Testing .........................4How to Transition to a Blended Manual/Automated Approach ..........7Top Reasons to Introduce Automated Testing into Your Company....8Automated Testing Allows You to Focus on More Important Tasks ...9

Page 3: Manual Tester’s Guide to Automated Testing

3

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.

Page 4: Manual Tester’s Guide to Automated Testing

4

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.

Page 5: Manual Tester’s Guide to Automated Testing

5

2. The Cost of Automated Testing is Too High

At first, the investment in automated testing might seem cost-prohibitive, 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.

Page 6: Manual Tester’s Guide to Automated Testing

6

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.

Page 7: Manual Tester’s Guide to Automated Testing

7

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

Page 8: Manual Tester’s Guide to Automated Testing

8

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

Page 9: Manual Tester’s Guide to Automated Testing

9

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.

Page 10: Manual Tester’s Guide to Automated Testing

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 award-winning 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