The Katalon Blog

Manual testing: A Complete Guide With Examples

Written by Vincent N. | Jun 13, 2023 4:45:00 AM

Manual testing is the "default" kind of testing. Opening up a website and simply clicking on a button to see if it works already counts as manual testing.

In this article, we'll explore the concept of manual testing and what makes it different from its counterpart (automation testing).

What is manual testing?

Manual testing is a testing approach where testers manually interact with software/app to check its quality without the help of automated testing tools or test scripts.

Manual testers interact with the system like how an end user would to identify bugs in the software that can create friction in the user experience.

For large-scale testing project where there are thousands and millions of items and features to test, QA teams usually automate their work to boost efficiency. However, manual testing is still needed for scenarios where it's impossible to automate.

 

Types of manual testing

Any type of testing can be executed both manually and with the help of an automation tool. The final decision to choose which approach lies in the nature of that specific test case.

However, there are some testing types that usually can't be automated, and must be done manually. They are:

  • Exploratory testing: testers explore the application or software freely, without a plan, to see if they can "discover" any bugs in the process.
  • Ad-hoc testing: testers perform a targeted test on a certain feature because they suspect that there might be some issues there.
  • Usability testing: testers check if the application is usable. "Usability" is an elusive and hard-to-define term, so manual testing is a much better fit compared to the rigid and hard-coded nature of automation testing.

Characteristics of manual testing

  • Human execution: Testers manually execute test cases without automation tools, relying on their own observation and analysis.
  • Exploratory approach: Allows testers to explore the application dynamically, identifying unexpected issues beyond predefined test cases.
  • Flexibility: Manual testing is highly adaptable to changing requirements, making it useful for ad-hoc, usability, and UI testing, which are testing types that are more challenging to automate.
  • Time-consuming: Manual testing requires more effort and time compared to automation, especially for repetitive test cases.

Benefits of manual testing

1. Manual testing allows for more human input

To be human is to be creative and intuitive, and in certain types of testing those 2 factors are a must-have.

Manual testing allows testers to ask questions like “What if I do it this way?”, and this liberty of experimentation is something automation testing just won’t be able to deliver.

Remember: automation testing only follows a predetermined set of test steps. It can only do what we script it to do. Meanwhile, manual testing allows testers to do whatever they want, including breaking the app, which usually reveals bugs nobody knows to have existed in the first place.

Let's take a look at this Venn diagram to better understand Manual Testing:

We start with the Unknown Known, meaning we only think a feature might be broken.

After testing, we reach the Known Known. We now know for sure whether the feature works or not. This is as far as automation can go because it only follows predefined steps.

Manual testing goes further by encouraging curiosity. A tester might ask, “What happens if I click this button 100 times?” By experimenting in unexpected ways, they can uncover Unknown Unknown. They are bugs that no one knew existed until someone tried something unusual.

If you want to witness the power (and joy) of manual testing, check out the Let's Game It Out channel. The man behind the channel plays games, but he always interacts with it in the most boundary-breaking ways to uncover bugs in it:

2. Manual testing leaves room for changing requirements

Manual testing is flexible. If the requirements change, testers can quickly adjust their approach without needing to update scripts or code. This makes it easier to test new or modified features on the spot.

3. Manual testing has lower learning curve than automated testing

To do manual testing is to experience the application in the same way an end user would, and almost anyone can become an end user.

Of course, manual testers must have enough technical knowledge and experience to know how to best “break” the app, but other than that they don’t need programming skills or engineering expertise to create test scripts like an automation tester. The low learning curve of this approach allows teams to start testing quickly at limited resources.

4. Low maintenance cost

One of the biggest challenges for teams adopting automation testing is the ongoing maintenance effort it requires. When code changes, test scripts often need to be updated as well, otherwise they quickly become outdated and unreliable.

That is not an issue with manual testing, since each test execution is a new execution.

Challenges of manual testing

1. Time-consuming

Manual testing requires testers to execute each and every step manually. It is fine for small projects, but for those with hundreds to thousands of test cases, manual testing is just counter-productive.

Moreover, humans cannot process data as fast as machines, and we are prone to fatigue and distraction. If a mistake occurs, testers must repeat steps, further extending the testing time.

2. Limited test reusability

Each manual test execution is independent. A new execution requires testers to repeat all steps from the beginning. This leads to:

  • Inconsistent Results: Different testers may follow slightly different approaches, leading to variations in test outcomes.
  • Scalability Issues: As test cases increase, more testers are needed, making it inefficient for large-scale projects. In contrast, automation allows test scripts to be reused across multiple runs.

3. Hidden costs

While manual testing does not require specialized tools or scripting, the long-term cost can be high due to the need for more testers, longer testing cycles, and repeated effort for the same test cases. Companies often underestimate these costs when scaling their testing process.

 

4. Delays in bug identification

Manual testing takes longer to identify and report defects. Since execution is slower, bugs may be discovered late in the development cycle, increasing the effort required for debugging and fixing them. This delay can impact release schedules and software quality.

How to do manual testing?

Manual testers follow the Software Testing Life Cycle to check the system.

1. Requirement analysis

  • Testers hold a meeting with stakeholders to review software requirements.
  • Together they define which areas to be tested and clarify any ambiguities.

2. Test Planning

3. Test Case Development

  • Write detailed test cases based on the requirements.
  • Prepare test data needed for execution.
  • Review and refine test cases.
  • Get test cases reviewed and approved by leads or peers.

4. Environment setup

  • Coordinate with the development and IT teams to set up the test environment.
  • Ensure required hardware, software, and network configurations are available.

5. Test execution

  • Execute test cases manually based on predefined steps.
  • If a bug is found, testers report them with detailed steps to recreate the bug. Screenshots, videos, or logs are included if needed.
  • The devs fix the bugs. Testers retest fixed defects and confirm if they are solved.
  • Testers log test results and document any unexpected behaviors.

📚 Read More: How to execute tests?

6. Test Cycle Closure

  • Analyze test execution reports and summarize findings.
  • Participate in test closure meetings to discuss lessons learned.
  • Prepare test summary reports for stakeholders.
  • Archive test cases, results, and documentation for future reference.

Manual Testing vs Automation Testing

Automation testing involves executing test cases automatically either through reusable test scripts or with the help  of automation testing tools. It is the much needed counterpart of manual testing.

Both manual testing and automation testing have their strengths and weaknesses. In practice, a combination of both approaches often yields the best results, with manual testing for exploratory and usability aspects and automation testing for repetitive and resource-intensive tasks.

You can have a look at the table below to better understand the differences between the 2 approaches: 
 

Aspect

Manual Testing

Automation Testing

Tester Involvement

Human testers execute test cases manually.

Automated tools execute test cases automatically.

Test Case Execution

Test cases executed manually without tools.

Test cases executed by automation scripts.

Suitable for

Exploratory testing, usability testing,

Regression testing, performance testing,

Testing Types

Ad-hoc testing, small projects.

Large-scale testing, repetitive tasks.

Human Intervention

Requires human intervention for each test case.

Limited human intervention after script setup.

Error Prone

Prone to human errors and subjectivity.

Reduces human errors, increases repeatability.

Project Scale

Suitable for small projects or when test cases change frequently.

Suitable for large and complex projects with consistent requirements.

Efficiency

Time-consuming for repetitive or large-scale testing.

Efficient for repetitive tasks and regression testing.

Initial Setup

Simpler initial setup; doesn't require scripting skills.

Initial setup requires scripting skills and may take longer.

Adaptability

Offers more flexibility in adapting to changes.

Less adaptable to changes in the application.

Speed of Execution

Slower compared to automated testing.

Faster test execution once scripts are set up.

 

📚 Read More: Manual Testing vs Automation Testing

When to choose manual testing over automation?

Based on the nature of manual testing, here are the scenarios it is best suited for:

  • Exploratory testing that relies on creativity and intuition

  • Usability testing where human judgment is required

  • Ad‑hoc testing with undefined or frequently changing test cases

  • Early development stages when features are unstable

  • Short‑lived features or one‑time tests that don’t justify automation

  • Visual validation of layout, design, or user experience elements

  • Situations where testers need to think like end users and experiment freely

Is manual testing becoming obsolete with AI?

Many testers fear the rise of automation and AI, saying that it is going to replace them. However, that is far from the truth. Check out what Christiano Caetano, founder of Zephyr, thinks about this topic:

Test management for manual testing

To ensure that the manual testing process go smoothly, the QA team should have solid test management practices in place. Google Sheet has a default template for test management that you can use for reference.

Why this sheet works:

  1. You can list down test cases and what test steps to perform for each.
  2. You can clarify expected results and fill in the actual test result. This allows you to track execution status (Pass, Fail, Blocked, etc.)
  3. You can include screenshots of the defects so the devs can have an easier time troubleshooting. 
  4. You can generate detailed test reports to show stakeholders.

Note: this spreadsheet is only suitable for small-scale testing project. For large-scale testing project, it is recommended to have a dedicated test case management system.

Popular test case management tools include:

  • Katalon TestOps – Test management with analytics and automation testing features for web, mobile, API.
  • TestRail – Comprehensive test case management with integrations for Jira and automation tools.
  • XRay – AI-driven test case management with strong automation support.

How to do manual testing in Katalon?

Katalon is a comprehensive quality management platform supporting test management for both manual testing and automation testing on web, API, mobile across a wide variety of environments, all in 1 place, with minimal engineering and programming skill requirements.

Katalon is a great addition to your manual testing tech-stack, helping you manage your day-to-day testing activities such as:

  • Preparing test cases
  • Executing tests
  • Storing results
  • Report generation for analytics
  • Bug tracking
  • Import/export test cases
  • JIRA integration for project management.