Skip to main content

Manual Testing Quick Reference

A lookup page for everyday testing work: templates to copy, a table for choosing a technique, and checklists of test ideas for common features.

How to use this page

This page is for looking things up, not for learning from scratch. New to testing? Start with the manual testing cheat sheet, which explains each idea with an exercise. For the ordered plan with practice projects, see the manual testing learning path.

Quick Navigation​

Templates: Test case Β· Bug report Β· Charter Β· Daily status Β· Test summary

Design: Which technique? Β· Boundary cheats Β· Heuristics Β· Input ideas

Checklists: Login Β· Forms Β· Search & lists Β· Cart & checkout Β· File upload Β· Any new screen

Reference: Severity scale Β· Bug life cycle Β· HTTP status codes Β· DevTools Β· Tools


Test case template​

ID:             TC-<AREA>-<NNN>
Title: <what it proves, in one line>
Priority: P0 | P1 | P2 | P3
Requirement: <REQ id or story link>
Preconditions: <state before step 1: user, data, page>
Test data: <exact values>
Steps: 1. …
2. …
Expected: <observable result per step, or at the end>
Actual: <filled in when run>
Status: Pass | Fail | Blocked | Not run

Bug report template​

Title:        [<Area>] <what goes wrong> <when / for whom>
Environment: <URL/build>, <browser + version>, <OS>, <device>, <user/role>
Severity: Blocker | Critical | Major | Minor | Trivial
Preconditions:<state needed before step 1>
Steps: 1. …
Expected: …
Actual: …
Frequency: <n/n tries>; <where it does NOT happen>
Evidence: screenshot / video / HAR / console log
Notes: <workaround, first build seen, related bugs>

Charter template​

CHARTER:   Explore <area> with <resources / data / user>
to discover <kind of information or risk>
TIME BOX: 30 | 60 | 90 minutes
TESTER: <name> DATE: <date> BUILD: <build>
NOTES: <time> <what I did> β†’ <what I saw>
BUGS: <ids>
ISSUES: <blocks, questions, things to ask>
COVERAGE: <what I did / did not get to>

Daily status template​

QA status β€” <date> β€” build <x.y.z>
βœ… Done: <areas, cases run/planned>
🐞 Bugs: <new: n (by severity)>, <top one in one line>
⏭️ Next: <tomorrow's focus>
🚧 Blocked: <what, who can unblock>
Risk: LOW | MEDIUM | HIGH β€” <one line why>

Test summary template​

Verdict:       GO | GO WITH RISKS | NO GO β€” <one sentence why>
Scope: <features, platforms, builds, dates>
Results: <cases run / passed / failed / blocked>, <charters done>
Open bugs: <by severity>; top 3 in one line each
Not tested: <what, and why>
Risks accepted:<by whom>
Recommendations: <2–4 lines>

Which technique?​

SituationTechniqueCheat sheet
A field with a range of valid valuesEquivalence partitioning + boundary valuesΒ§10, Β§11
Several conditions decide an outcomeDecision tableΒ§12
An object moves through states (order, account, ticket)State transitionΒ§13
A goal that spans several screensUser journeyΒ§14
Many settings combine (browser Γ— OS Γ— role)PairwiseΒ§15
New feature, little documentationExploratory with chartersΒ§17
Limited time, many featuresRisk-based testingΒ§22
Known weak spots, experienceError guessingΒ§16

Boundary cheats​

RuleTest
Range a–ba-1, a, a+1, b-1, b, b+1
Minimum length nn-1, n characters
Maximum length nn, n+1 characters (and paste n+1)
Money0, 0.01, max, max+0.01, negative, 3 decimal places
Datesfirst/last day of month, 29 Feb (leap and non-leap year), 31 Dec β†’ 1 Jan, time-zone midnight
Lists / pages0, 1, page size, page size + 1 items
Counts / limitslimit - 1, limit, limit + 1 (e.g. "max 3 login attempts")

Heuristics​

SFDIPOT ("San Francisco Depot", James Bach) β€” what to look at in a product:

LetterAreaAsk
SStructureWhat is it made of? Pages, services, files
FFunctionWhat does it do? Every feature and error
DDataWhat does it process? Inputs, outputs, stored data
IInterfacesHow does it connect? UI, APIs, imports/exports
PPlatformWhat does it depend on? Browser, OS, third parties
OOperationsHow is it really used? Common and rare user paths
TTimeWhat changes over time? Timeouts, dates, concurrency

Consistency oracles (based on Michael Bolton's "FEW HICCUPPS") β€” a result is suspicious if it's inconsistent with:

Consistent with…Example
HistoryIt worked in the last build
ImageThe company's brand and tone
Comparable productsOther shops don't empty the cart on Back
ClaimsThe spec, help text, marketing
User expectationsWhat a reasonable user would expect
ProductOther parts of the same product (same price everywhere)
PurposeWhat the feature is for
Statutes & standardsLaws, accessibility rules
Familiar problemsBugs you have seen before
ExplainabilityYou can explain the behaviour
WorldHow things work in real life (no 31 April)

Input ideas​

Field typeTry
Any textempty, one space, leading/trailing spaces, max length, max+1, emoji πŸ˜€, δΈ­ζ–‡, Γ‘andΓΊ, RTL text Ω…Ψ±Ψ­Ψ¨Ψ§
Injection-like<script>alert(1)</script>, ' OR 1=1 --, {{7*7}}, ../../etc/passwd
NameO'Brien, Anne-Marie, one letter, 100 letters
Emaila@b.co, a+tag@b.com, A@B.COM, missing @, two @, spaces
Phonewith +91, spaces, dashes, letters, too short/long
Number0, -1, 1.5, 1,000, 1e5, 007, very large
Datetoday, past, far future, 29/02, 31/04, other formats 2026-10-01 vs 01/10/2026
Passwordmin-1, min, with/without digit or symbol, paste, spaces, very long
Postal codevalid, letters, too short/long, other country's format

Login checklist​

[ ] Valid credentials β†’ correct landing page
[ ] Wrong password, unknown user β†’ same generic error (no hint which one is wrong)
[ ] Empty username / empty password / both empty β†’ clear error each
[ ] Locked / disabled user β†’ clear error
[ ] Username case and surrounding spaces handled as the spec says
[ ] Password is masked; show/hide toggle works
[ ] Enter key submits
[ ] Too many attempts β†’ lockout or delay
[ ] Session survives refresh; ends on logout; Back after logout doesn't show private pages
[ ] Direct URL to a private page when logged out β†’ redirected to login
[ ] Password manager and paste work

Forms checklist​

[ ] Required fields marked; error appears next to the field, in words
[ ] Focus moves to the first error
[ ] Valid data from every partition accepted; boundaries tested
[ ] Data kept after a validation error (user doesn't retype everything)
[ ] Double-click submit β†’ only one record
[ ] Back button after submit β†’ no resubmission
[ ] Tab order follows the visual order; all fields keyboard-reachable
[ ] Labels read by screen readers; autofill works
[ ] Long input doesn't break the layout

Search & lists checklist​

[ ] Exact match, partial match, no results (helpful message)
[ ] Case, accents, extra spaces, special characters
[ ] Sorting: every option, ties, sort + filter together, sort kept after Back
[ ] Filters combined; clear filters
[ ] Pagination: first, last, empty page, page size + 1 items
[ ] Very long names wrap or truncate cleanly

Cart & checkout checklist​

[ ] Add/remove from list and from cart; badge always correct
[ ] Same price in list, product page, cart and overview
[ ] Total = sum of items + tax (+ shipping βˆ’ discounts); check the maths yourself
[ ] Empty cart β†’ checkout blocked or handled
[ ] Required details validated; errors clear
[ ] Cancel at each step returns to the right place with the cart intact
[ ] Finish β†’ confirmation; cart emptied; Back doesn't create a second order
[ ] Cart after logout/login, refresh, and in a second tab

File upload checklist​

[ ] Allowed types accepted; others rejected with a clear message
[ ] Size limit: just under, at, just over
[ ] Empty (0-byte) file; very long file name; name with spaces and non-English letters
[ ] File renamed to a wrong extension (.exe renamed .jpg)
[ ] Several files at once; drag-and-drop; cancel mid-upload
[ ] Slow network; upload progress shown

Any new screen checklist​

[ ] Matches design at phone, tablet and desktop widths
[ ] Every link and button goes where it should
[ ] Loading, empty, error and "lots of data" states
[ ] Keyboard only; visible focus
[ ] No console errors (DevTools β†’ Console)
[ ] Refresh, Back, deep link to this screen
[ ] Text: spelling, truncation, translations

Severity scale​

SeverityRule of thumb
BlockerCan't test further / main feature unusable for everyone
CriticalMain feature broken or data lost/wrong; no workaround
MajorFeature works incorrectly; workaround exists
MinorSmall functional or UI issue
TrivialCosmetic, typo

Bug life cycle​

New β†’ Triaged β†’ In progress β†’ Fixed β†’ Verified β†’ Closed
β”‚ β”‚
β”œβ†’ Rejected (not a bug, β””β†’ Reopened (fix didn't work) β†’ In progress
β”‚ duplicate, can't reproduce)
β””β†’ Deferred (fix in a later release)

HTTP status codes​

Seen in DevTools β†’ Network while testing:

CodeMeaning for a tester
200 / 201 / 204Success
301 / 302Redirect β€” check it goes to the right place
400 / 422Server rejected the input β€” the UI should show a helpful message
401 / 403Not logged in / not allowed
404Not found β€” broken link or wrong id
429Too many requests (rate limit)
500 / 502 / 503Server error β€” always a bug report, attach the request

DevTools​

ActionChrome / EdgeFirefoxSafari
Open DevToolsF12 / Cmd+Opt+IF12 / Cmd+Opt+IEnable Develop menu, then Cmd+Opt+I
ConsoleCmd/Ctrl+Opt/Shift+JCmd/Ctrl+Opt/Shift+KCmd+Opt+C
Device modeCmd/Ctrl+Shift+MCmd/Ctrl+Opt/Shift+MDevelop β†’ Enter Responsive Design Mode
Save network logNetwork β†’ – Export HARNetwork β†’ βš™ Save All As HARNetwork β†’ Export
Throttle networkNetwork β†’ "No throttling" menuNetwork β†’ throttling menuNetwork β†’ conditions

Tools​

NeedTools
Test managementTestRail, Zephyr / Xray (Jira), Qase, a spreadsheet to start
Bug trackingJira, Linear, GitHub Issues, Azure Boards
Screenshots & recordingsBuilt-in OS tools, Loom, Jam.dev (adds console + network logs)
Pairwise tablesMicrosoft PICT
Cross-browser / devicesBrowserStack, Sauce Labs, LambdaTest
Test dataMockaroo, Faker libraries
Mind maps for test ideasXMind, Miro

Need more detail? Cheat sheet Β· Best practices Β· Learning path Β· Full guide