Educational Blog

How to Perform Manual Testing

A practical guide to planning and running manual testing sessions.

Manual testing is the part of quality assurance where a human checks the product the way a real user would: clicking, typing, navigating, comparing results, and looking for anything that feels off. It is simple to describe and easy to underestimate. In practice, good manual testing needs structure, observation, patience, and a clear idea of what ?correct? means for a given feature.

If you are learning how to perform manual testing, the goal is not to memorize a checklist and repeat it mechanically. The real skill is to design a small, reliable investigation: understand the requirement, prepare the environment, execute realistic actions, compare actual behavior to expected behavior, and document what you found in a way that helps the team fix issues quickly.

What manual testing is for

Manual testing serves a few different purposes at once:

  • It validates that a feature behaves as intended from a user perspective.
  • It catches usability issues that automated checks often miss.
  • It explores edge cases that are hard to encode in a scripted test.
  • It gives fast feedback when a product is changing quickly.

Automation is important, but it does not replace manual testing. Automated tests are strongest when the behavior is stable and repeatable. Manual testing is strongest when the product is new, the design is changing, the workflow is complex, or the team needs human judgment.

The manual testing workflow

A practical manual testing session usually follows the same basic loop.

  1. Understand the requirement or user story.
  2. Decide what the expected result should be.
  3. Set up the test environment and data.
  4. Execute the test steps.
  5. Observe the actual result carefully.
  6. Compare actual vs expected.
  7. Record defects, questions, or follow-up checks.

That may sound obvious, but many weak test sessions fail because one of those steps is skipped. For example, a tester may click through a feature without first deciding what success looks like. In that case, it is hard to know whether a visible outcome is truly correct or just ?seems fine.?

A simple framework for testing any feature

When you sit down to test a feature manually, use a compact model like this.

StepWhat you doWhy it matters
Requirement reviewRead the ticket, spec, or acceptance criteriaPrevents testing the wrong thing
Test designList normal, edge, and negative casesExpands coverage without guesswork
SetupPrepare accounts, data, browser, device, and stateReduces false failures
ExecutionFollow the flow and vary inputsExposes behavioral gaps
ValidationCheck UI, data, messages, and side effectsConfirms the real result
ReportingLog clear defects with evidenceMakes fixes faster

This table is useful because it keeps the work focused. Manual testing is not just ?try it and see.? It is a controlled activity with a beginning, middle, and end.

How to prepare before testing

Good preparation saves time later. Before you start, make sure you know:

  • The feature?s purpose.
  • The expected behavior.
  • The environment you should use.
  • Any known limitations or dependencies.
  • What data you need to create or reset.

For example, if you are testing a signup flow, you may need:

  • A fresh email address.
  • Access to the inbox for verification.
  • A test account with no prior profile data.
  • A browser window with cached data cleared if the test depends on first-time behavior.

If you skip preparation, you can waste half the session troubleshooting your own environment instead of the product.

Types of manual test cases to run

A good manual test pass usually mixes several test types.

Happy path testing

Start with the normal user journey. This confirms the feature works under expected conditions. If the happy path fails, there is no reason to spend much time on edge cases yet.

Example for a login form:

  • Enter a valid email and password.
  • Submit the form.
  • Confirm the user lands on the correct page.
  • Confirm the session stays active after refresh if that is expected.

Negative testing

Negative tests check how the system responds to bad or incomplete input.

Examples:

  • Empty required fields.
  • Invalid email format.
  • Wrong password.
  • Unexpected file type upload.
  • Very long text input.

The goal is not to break the product for fun. The goal is to confirm the system rejects bad input cleanly and explains what went wrong.

Boundary testing

Boundary tests focus on values near the limits.

Examples:

  • Minimum and maximum password length.
  • Zero, one, and maximum quantity in a cart.
  • Date ranges at the beginning and end of allowed periods.

Many bugs hide at boundaries because developers often validate the obvious case but miss the edge.

Exploratory testing

Exploratory testing is where manual testing becomes especially valuable. Instead of following a strict script, you investigate the product like a curious user.

Ask questions such as:

  • What happens if I refresh here?
  • What if I open this in another tab?
  • What if I go backward in the browser?
  • What if I submit twice?
  • What if I change the data in the middle of the flow?

This style often reveals issues that no fixed checklist would catch.

What to look for while testing

When people think of testing, they often focus only on whether something works. That is too narrow. You should also watch for details that affect product quality:

  • Visual alignment and layout shifts.
  • Misleading or unclear copy.
  • Broken links or buttons.
  • Incorrect validation messages.
  • Unexpected loading behavior.
  • Data not saving correctly.
  • Permissions or role-based access problems.
  • Mobile responsiveness issues.
  • Accessibility problems such as poor focus behavior or unreadable contrast.

A feature can technically ?work? and still be poor quality if it is confusing, inconsistent, or fragile.

How to write a good bug report

A manual test is only useful if the result is communicated clearly. A weak bug report creates back-and-forth and delays fixes. A strong bug report gives another person enough information to reproduce the issue quickly.

Include these parts:

  • Title: short and specific.
  • Environment: browser, device, build, or app version.
  • Steps to reproduce: numbered and unambiguous.
  • Expected result: what should have happened.
  • Actual result: what actually happened.
  • Evidence: screenshot, video, log, or console output if available.
  • Severity or priority: if your process uses it.

A good title is concrete, such as ?Checkout button remains disabled after valid shipping address is entered.? A weak title is vague, such as ?Checkout issue.?

Common mistakes in manual testing

Even experienced testers can fall into predictable traps. Watch for these:

  • Testing too fast and missing small failures.
  • Repeating the same input values every time.
  • Only testing the happy path.
  • Forgetting to reset state between runs.
  • Not checking side effects after the main action.
  • Writing bug reports that are hard to reproduce.
  • Assuming the UI reflects the database correctly without verifying.

The biggest mistake is treating manual testing like a formality. If the session has no focus, it produces noise instead of signal.

A practical checklist for one feature

Use this compact checklist when you need a quick but disciplined pass.

  • Read the requirement and note expected behavior.
  • Identify the main user flow.
  • Identify one or two negative cases.
  • Identify one or two boundary cases.
  • Test on the intended browser or device.
  • Verify the visible UI and the underlying result.
  • Repeat the action if the workflow supports it.
  • Record defects with exact reproduction steps.
  • Retest fixes before closing the ticket.

If you have more time, expand the checklist with role checks, accessibility checks, and cross-device checks.

Example: testing a password reset flow

Here is how manual testing looks in practice for a password reset feature.

First, confirm the user can request a reset email from the login page. Then check that the email arrives, the link opens correctly, and the token is accepted. After that, test valid and invalid password combinations, confirm the success message appears, and verify the new password actually works on the next login.

Then test the edge cases:

  • Use an expired reset link.
  • Use the same link twice.
  • Submit mismatched passwords.
  • Enter a password that fails complexity rules.
  • Refresh the page during the reset process.

This one feature gives you a good picture of how manual testing works because it mixes UI, email delivery, security handling, and state transitions.

Manual testing vs automation

Manual testing and automation are not competitors. They solve different problems.

AreaManual testingAutomated testing
Best forNew features, UX, exploration, judgmentRepeated regression, stable flows
SpeedSlower per runFaster at scale
FlexibilityHighLower unless maintained
Setup costLow to moderateHigher upfront
Human insightStrongLimited

A mature QA process uses both. Manual testing helps you discover what matters. Automation helps you preserve it.

How to get better at manual testing

Improvement comes from repetition plus reflection. After each session, ask yourself:

  • Did I understand the requirement well enough?
  • Did I test enough negative and boundary cases?
  • Did I notice anything I almost missed?
  • Were my bug reports easy to reproduce?
  • Did I find issues that were genuinely useful to the team?

Over time, you will get faster at spotting weak spots in a feature. You will also learn which risks are worth investigating first.

A simple habit that helps a lot is to vary your approach. Do not always start from the top of the page. Do not always use the same data. Do not always test in the same browser. Small variations expose hidden assumptions.

Final thoughts

To perform manual testing well, think like both a user and an investigator. A user asks, ?Does this do what I need?? An investigator asks, ?What could go wrong here, and how would I prove it??

If you keep the process structured, document what you find clearly, and resist the temptation to stop at the obvious path, manual testing becomes one of the most effective tools in software quality work. It is not just about checking boxes. It is about discovering whether the product is truly ready for people to use.

Written by

sasqag.org Editorial Team

Editorial team

sasqag.org publishes practical how-to guides and educational articles with clear steps and useful context.