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.
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?β
| Situation | Technique | Cheat sheet |
|---|---|---|
| A field with a range of valid values | Equivalence partitioning + boundary values | Β§10, Β§11 |
| Several conditions decide an outcome | Decision table | Β§12 |
| An object moves through states (order, account, ticket) | State transition | Β§13 |
| A goal that spans several screens | User journey | Β§14 |
| Many settings combine (browser Γ OS Γ role) | Pairwise | Β§15 |
| New feature, little documentation | Exploratory with charters | Β§17 |
| Limited time, many features | Risk-based testing | Β§22 |
| Known weak spots, experience | Error guessing | Β§16 |
Boundary cheatsβ
| Rule | Test |
|---|---|
Range aβb | a-1, a, a+1, b-1, b, b+1 |
Minimum length n | n-1, n characters |
Maximum length n | n, n+1 characters (and paste n+1) |
| Money | 0, 0.01, max, max+0.01, negative, 3 decimal places |
| Dates | first/last day of month, 29 Feb (leap and non-leap year), 31 Dec β 1 Jan, time-zone midnight |
| Lists / pages | 0, 1, page size, page size + 1 items |
| Counts / limits | limit - 1, limit, limit + 1 (e.g. "max 3 login attempts") |
Heuristicsβ
SFDIPOT ("San Francisco Depot", James Bach) β what to look at in a product:
| Letter | Area | Ask |
|---|---|---|
| S | Structure | What is it made of? Pages, services, files |
| F | Function | What does it do? Every feature and error |
| D | Data | What does it process? Inputs, outputs, stored data |
| I | Interfaces | How does it connect? UI, APIs, imports/exports |
| P | Platform | What does it depend on? Browser, OS, third parties |
| O | Operations | How is it really used? Common and rare user paths |
| T | Time | What 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 |
|---|---|
| History | It worked in the last build |
| Image | The company's brand and tone |
| Comparable products | Other shops don't empty the cart on Back |
| Claims | The spec, help text, marketing |
| User expectations | What a reasonable user would expect |
| Product | Other parts of the same product (same price everywhere) |
| Purpose | What the feature is for |
| Statutes & standards | Laws, accessibility rules |
| Familiar problems | Bugs you have seen before |
| Explainability | You can explain the behaviour |
| World | How things work in real life (no 31 April) |
Input ideasβ
| Field type | Try |
|---|---|
| Any text | empty, 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 |
| Name | O'Brien, Anne-Marie, one letter, 100 letters |
a@b.co, a+tag@b.com, A@B.COM, missing @, two @, spaces | |
| Phone | with +91, spaces, dashes, letters, too short/long |
| Number | 0, -1, 1.5, 1,000, 1e5, 007, very large |
| Date | today, past, far future, 29/02, 31/04, other formats 2026-10-01 vs 01/10/2026 |
| Password | min-1, min, with/without digit or symbol, paste, spaces, very long |
| Postal code | valid, 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β
| Severity | Rule of thumb |
|---|---|
| Blocker | Can't test further / main feature unusable for everyone |
| Critical | Main feature broken or data lost/wrong; no workaround |
| Major | Feature works incorrectly; workaround exists |
| Minor | Small functional or UI issue |
| Trivial | Cosmetic, 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:
| Code | Meaning for a tester |
|---|---|
| 200 / 201 / 204 | Success |
| 301 / 302 | Redirect β check it goes to the right place |
| 400 / 422 | Server rejected the input β the UI should show a helpful message |
| 401 / 403 | Not logged in / not allowed |
| 404 | Not found β broken link or wrong id |
| 429 | Too many requests (rate limit) |
| 500 / 502 / 503 | Server error β always a bug report, attach the request |
DevToolsβ
| Action | Chrome / Edge | Firefox | Safari |
|---|---|---|---|
| Open DevTools | F12 / Cmd+Opt+I | F12 / Cmd+Opt+I | Enable Develop menu, then Cmd+Opt+I |
| Console | Cmd/Ctrl+Opt/Shift+J | Cmd/Ctrl+Opt/Shift+K | Cmd+Opt+C |
| Device mode | Cmd/Ctrl+Shift+M | Cmd/Ctrl+Opt/Shift+M | Develop β Enter Responsive Design Mode |
| Save network log | Network β β€ Export HAR | Network β β Save All As HAR | Network β Export |
| Throttle network | Network β "No throttling" menu | Network β throttling menu | Network β conditions |
Toolsβ
| Need | Tools |
|---|---|
| Test management | TestRail, Zephyr / Xray (Jira), Qase, a spreadsheet to start |
| Bug tracking | Jira, Linear, GitHub Issues, Azure Boards |
| Screenshots & recordings | Built-in OS tools, Loom, Jam.dev (adds console + network logs) |
| Pairwise tables | Microsoft PICT |
| Cross-browser / devices | BrowserStack, Sauce Labs, LambdaTest |
| Test data | Mockaroo, Faker libraries |
| Mind maps for test ideas | XMind, Miro |
Need more detail? Cheat sheet Β· Best practices Β· Learning path Β· Full guide