There are two ways that software can be tested: manually by a human, and automatically by a computer. Each method has its advantages and disadvantages but they share the underlying goal of ensuring quality in the software. In this article, we’re going to focus on manual testing.

Manual testingWe have written about the importance of testing software manually in the past. Now, let’s define what it is, and how it’s done.

So What Is Manual Testing?

Manual testing is the process of using the functions and features of an application as an end-user would in order to verify the software is working as required. With manual testing, a tester manually conducts tests on the software by following a set of pre-defined test cases. Let’s take a close look at how this is done.

How To Do Manual Testing

Understand The Requirements

In order to successfully conduct manual tests, you first need to understand the requirements of the software. By understanding the requirements, you’ll know what needs to be tested and what classifies a defect. This is a crucial part of manual testing as the main goal is to make sure the software is bug-free.

Write Test Cases

Once you understand the requirements, you can write test cases – another crucial part to manual testing. Test cases guide the tester through a sequence of steps to test functions and different scenarios within the software application. Writing good test cases is important as it makes executing the tests go smoothly and ensures good test coverage. Good test cases should also be repeatable, which allows future testers to go in and conduct the tests without having to ask additional questions.

If you’re writing test cases and still using Excel to document them, check out TestLodge. We make it easy to write and organize test cases.

Conduct The Tests

Once the test cases are written and the testing environment is prepared, it’s time to begin testing. Using TestLodge, you can follow the test cases and mark each test as “passed”, “failed, or “skipped”. When doing manual testing, it’s important to keep notes on what happens when a test fails. TestLodge makes it easy for you to add in these details directly during the test execution.

Log Good Bug Reports

In addition to actually testing, the tester is responsible for logging bugs. As you encounter bugs, you need to log information for the development team about the defect. Writing good bug reports helps you and your team. You’ll save yourself time when answering questions about the bug later.

At its core, a good bug report should have a strong title, steps to replicate the bug (often the test case steps), an expected & actual result, and any relevant attachments that will help the development team understand the issue (screenshots, screen recordings, export files, etc).

Report On The Test Results

After running tests, it’s good to know the results of the tests at a high level. How many tests were run? How many tests failed? How many tests were skipped? TestLodge makes it easy to get a quick glance of these metrics.

When And Why To Manual Test

Manual testing requires a lot of effort. It’s easy to just say “lets skip it” or “lets automate it”. But the truth is, it is imperative to building software because automated testing can’t cover everything.

After all, humans will be using your software, therefore humans should be involved in testing your software. Manual testing is more likely to find and solve real usability issues than automated testing. It allows the tester to be flexible during the test and try different things on the fly.

This isn’t to say automated testing is useless. Automated testing has its own benefits and provides value in some areas where manual testing does not. But we’ll save that for another post.

Closing Thoughts

Although it requires a large amount of work, manual testing is necessary in order to ensure a good user experience and a high level of quality. A human tester is always going to find things an automated test cannot. The keys to successful manual testing include understanding the requirements of the software, writing good test cases, and logging thorough bug reports.