Complete Manual Testing Tutorial

Manual testing is testing software by hand — a tester uses the application like a real user, compares what happens with what should happen, and reports the differences. It's the foundation of every QA career: automation, API testing and performance testing all build on the same skills of understanding requirements, designing good test cases and reporting defects clearly. This tutorial covers the complete fundamentals in one place, then links every in-depth manual testing tutorial on the site in learning order.

Advertisement

What Is Manual Testing — and Why It Still Matters

In manual testing, a person executes test cases without automation scripts: reading requirements, preparing test data, performing steps, observing results and logging defects.

  • New features — you can't automate something that changes daily; it's tested manually first.
  • Exploratory testing — finding the bugs nobody wrote a test case for.
  • Usability and look-and-feel — judgement that scripts can't provide.
  • Deciding what to automate — good automation starts with good manual test design.

Manual and automation testing work together. More: Manual & Automation Testing and Manual vs Automation Testing.

SDLC and STLC

The Software Development Life Cycle (SDLC) covers building the product: requirements, design, development, testing, deployment and maintenance. The Software Testing Life Cycle (STLC) is the testing part in detail:

STLC Phase What the Tester Does Output
1. Requirement analysis Study requirements, ask questions, identify what's testable Questions, testable requirements
2. Test planning Scope, approach, effort, schedule, risks Test plan, estimates
3. Test case design Write test cases and prepare test data Test cases, RTM
4. Environment setup Make sure the test environment and data are ready A ready environment
5. Test execution Run tests, log defects, retest fixes Results, defect reports
6. Test closure Summarise results, lessons learned Test summary report

More: SDLC & STLC: Models, Phases & Differences and Software Test Estimation.

Testing Levels

  • Unit testing — individual functions or classes, usually by developers.
  • Integration testing — modules working together, for example, the order service calling payments.
  • System testing — the complete application against requirements; most of a QA team's work.
  • User acceptance testing (UAT) — business users confirm it meets their needs before release.

More: Integration, System & Other Testing Types.

Types of Testing

Functional Testing — Does It Work Correctly?

  • Smoke testing — broad, shallow checks that a new build is stable enough to test.
  • Sanity testing — narrow checks of specific functionality after a fix or small change.
  • Regression testing — making sure existing features still work after changes.
  • Retesting — confirming a specific defect is fixed.

More: Functional Testing Types and Smoke vs Sanity Testing.

Non-Functional Testing — How Well Does It Work?

Performance, load and stress, security, usability, compatibility (browsers, devices, operating systems) and localization.

More: Non-Functional Testing, Compatibility & Localization and GUI Testing vs Usability Testing.

Black Box, White Box and Grey Box

Black-box testing checks behaviour without looking at the code — most manual testing. White-box testing uses knowledge of the code's internal paths. Grey-box testing uses partial knowledge, such as database structure or API contracts.

More: Black, White & Grey Box Testing.

Writing Good Test Cases

A test case describes one check precisely enough that anyone can run it and get the same result:

Field Example
ID TC_LOGIN_003
Title Login fails with a wrong password
Preconditions User asha@example.com exists and is active
Steps 1. Open the login page
2. Enter asha@example.com and "wrong123"
3. Click Log in
Expected result "Invalid email or password" is shown; the user stays on the login page
Priority High
Requirement REQ-12 (traceability)

Good test cases have one clear purpose, precise steps, a specific expected result and traceability to a requirement. The Requirement Traceability Matrix (RTM) maps requirements to test cases so nothing is missed.

More: Test Plan, Strategy & Test Cases.

Test Design Techniques

These techniques give strong coverage with fewer test cases.

Example requirement: "Age must be between 18 and 60."

  • Equivalence partitioning — split inputs into groups that behave the same and test one value from each: below 18 (e.g. 10), 18–60 (e.g. 35), above 60 (e.g. 70).
  • Boundary value analysis — bugs cluster at edges, so test 17, 18, 19 and 59, 60, 61.
  • Decision tables — for combinations of conditions, such as discount rules based on membership and order value.
  • State transition — for things with states, such as an account that locks after three failed logins.
  • Error guessing — experience-based cases: empty fields, special characters, very long input, double-clicking Submit.

More: Test Design Techniques.

Reporting Defects

A good bug report has a clear summary, environment and build, steps to reproduce, expected vs actual result, severity and priority, and evidence such as screenshots or recordings.

Defects then move through a life cycle — new, assigned, fixed, retest, closed (or reopened).

More: Defect & Bug Management, Severity vs Priority and The Complete Jira for Testers Guide.

Manual Testing in Agile Teams

In Scrum, testers join refinement to clarify acceptance criteria, estimate testing effort in sprint planning, test stories as soon as they're ready, automate regression candidates, and report quality at the sprint review.

Testing happens throughout the sprint, not at the end.

More: Agile & Scrum for Testers.

Skills and Tools of a Manual Tester

Skills

  • Reading requirements critically
  • Test design
  • Attention to detail
  • Clear writing
  • Domain knowledge
  • Communication

Tools

  • Jira for defects and stories
  • Test management tools such as Xray, Zephyr and TestRail
  • Browser DevTools
  • Postman for quick API checks
  • SQL for database validation

Explore the free manual testing tools and try realistic tasks in the Manual Testing Simulator.

The Learning Path

Part 1 — Testing Foundations

Part 2 — Process & Planning

Part 3 — Non-Functional & Specialised Testing

Part 4 — QA Concepts & Interviews

How to Use This Guide

Frequently Asked Questions

What Is Manual Testing?

Testing software by hand — executing test cases like a user, comparing actual with expected results and reporting defects — without automation scripts.

Is Manual Testing Still in Demand?

Yes, for new features, exploratory and usability testing and UAT — and manual testing skills are the foundation for automation roles.

What Is the Difference Between Smoke and Sanity Testing?

Smoke testing checks that a new build's core functions work well enough to continue testing; sanity testing checks specific functionality after a fix or minor change.

What Is the Difference Between Severity and Priority?

Severity is a defect's technical impact; priority is how urgently the business wants it fixed. A defect can be high severity and low priority, or the reverse.

What Is the Difference Between SDLC and STLC?

SDLC is the whole process of building software; STLC is the testing process within it — analysis, planning, design, environment setup, execution and closure.

What Are Test Design Techniques?

Structured ways to choose test cases — equivalence partitioning, boundary value analysis, decision tables, state transition and error guessing — to get good coverage with fewer tests.

What Is the Difference Between QA and QC?

QA is process-oriented and aims to prevent defects; QC is product-oriented and aims to find them through testing.

How Long Does It Take to Learn Manual Testing?

About 4–8 weeks of steady study and practice to cover the fundamentals and be ready for entry-level interviews.

From Real Projects

Understanding requirements, writing test cases and reviewing them with the team were the foundation of my work on Apkope, Canolog and Testsigma. I performed smoke, sanity, functional, integration, system and regression testing, tracked execution in TestRail and reported and retested defects in Jira. Solid manual testing is what makes automation worthwhile — you can only automate well what you understand well. Master requirement analysis and test case design first — every other testing skill depends on them.

📚 Official documentation: ISTQB Glossary of testing terms