A Guide To Manual Testing

By Indeed Editorial Team

Updated March 31, 2021

Published February 25, 2020

The Indeed Editorial Team comprises a diverse and talented team of writers, researchers and subject matter experts equipped with Indeed's data and insights to deliver useful tips to help guide your career journey.

Once a software application has been created, it needs to be tested by developers to ensure it is both effective and functional. There are many ways to test software, but the two primary approaches are automated and manual testing. Though both approaches are effective in their own way, manual testing is the most comprehensive yet time-consuming form of software testing, allowing developers to assess every aspect of a software application's functionality. In this article, we define what manual testing is, list the different types of manual testing and detail how to complete software testing manually.

Related: Job Search Guide: Product Management and Software Engineering

What is manual testing?

Manual testing is the necessary yet time-consuming process of comparing the behavior and features of a developed piece of code to its expected behavior and functionality, often referred to as the software's requirements. This testing is performed primarily on software programs and is designed to allow the tester to play the part of the end-user. This allows them to identify and solve usability issues that may have otherwise been overlooked by automated testing. Though manual testing can prove more effective in certain areas, automated testing still offers unique value and benefits and is typically still performed in conjunction with manual testing protocols.

When conducting manual testing, a tester, typically a member of the software development team, manually conducts assessments on the software by establishing and then following a series of predetermined test cases. These test cases are designed to thoroughly explore every aspect of the software application. Along with the test cases, the tester also prepares a test plan that details the systematic approach that will be used to conduct the software's testing.

Unlike automated testing, this type of testing has an increased chance of locating and solving real issues that will interfere with usability. It also provides way more flexibility to the tester, allowing them to try various things spontaneously throughout the testing process. All of this is done in hopes that the tester will be able to discover any potential bugs or defects within the software program before making it available to consumers.

After testing, the actual results are then compared to the desired outcomes. Any differences between the two are treated as defects within the software. The development team identifies these issues and attempts to resolve them. From there, the software is retested to ensure that it is free of bugs and defects, allowing it to function correctly for its users.

Related: Learn About Being a Software Engineer

Types of manual testing

In most cases, it is recommended to use both manual and automated testing tools to ensure that all defects have been discovered. Within manual testing, there is an array of testing types. Here are some of the more common options:

  • Acceptance testing

  • Integration testing

  • System testing

  • Unit testing

  • White box testing

  • Black box testing

Related: Learn About Being a Software Developer

How to perform manual testing

Follow these steps to effectively perform manual testing on a developed software:

1. Understand the software's requirements

To ensure the software is free of bugs and defects, you first need to familiarize yourself with the functionalities and requirements of the software. This information will inform the process, identify the areas that need to be tested and help you figure out what classifies as a defect for this particular software.

2. Write test cases

After you have a full understanding of a software's requirements, you can begin writing test cases. Test cases are a crucial aspect of manual testing because they guide the tester through a series of steps, allowing them to test various scenarios and functions within a software application. Effectively written test cases are imperative to the process as they ensure the test has comprehensive coverage of all aspects of the software application and that the actual testing runs as smoothly and efficiently as possible. Additionally, good test cases should be able to be repeated, allowing opportunities for future testing.

3. Conduct the tests

Once you have written the test cases and prepared the testing environment, you can begin testing. Keep thorough records of whether the test cases failed, passed or were skipped altogether, as well as any other pertinent information gleaned during the process. For example, say a test fails. What exactly happened?

The more detailed the notes, the easier it will be to identify the cause of the problem and develop a solution.

4. Thoroughly log all defects and bugs

As we mentioned in the previous step, maintaining exhaustive notes throughout the testing process will aid in addressing the issues that arise. As bugs arise, detail the specifics and appearance of the defect. These notes will prove useful to you and your team when it comes time to address the issues.

There are several aspects of an effective "bug report," such as a strong title, the steps necessary to replicate the defects (these are typically just the test case steps), the expected result as well as what actually happened and any other relevant data that will aid in the software development team fully understanding the issue. This can come in the form of screen recordings, screenshots, exported files and so forth.

5. Report the results

Aside from detailing the defects found when testing the software, it is also useful to keep track of the overall results. For example, your notes should answer questions like:

  • How many tests were run overall?

  • How many of the tests were skipped? Why were these tests skipped rather than conducted?

  • How many of the tests failed?

  • How many of the tests passed?

All of this information must then be passed along to the software development team and used to address any issues that were discovered during testing.

6. If applicable, retest

After testing has been completed and the bugs have been resolved, you must then retest the software application to ensure it has reached full functionality. This is an example of a time when the exhaustively detailed test cases that you wrote previously will be beneficial. If the test passes, you know that the problem has been solved. However, if the test fails, you will need to attempt to address the defect again and repeat the process.

Explore more articles