🧭 Manual Testing · Free cheat sheet

QA Foundations — The Tester's Journey

From the first requirement to the last release — every concept a QA must own, with real examples

Manual Testing · Foundations · ISTQB-aligned · Fresher → Interview-ready

The Tester's Journey — How This Guide Flows

StopQuestion it answersTopics
1 · MindsetWhat is testing really?Definitions, 7 principles, error → defect → failure
2 · The ProcessWhere does testing fit?SDLC models, V-Model, STLC, documents
3 · The BugWhat happens after I find one?Defect life cycle, severity vs priority, bug report
4 · The LayersWhat do we test at each level?Test levels, pyramid, functional & non-functional types
5 · The TechniquesHow do I design good test cases?Black/white/grey box, EP, BVA, decision table, state transition
6 · The TeamHow do I work in Agile & CI/CD?Scrum, QA role, shift-left/right, pipelines
7 · The NumbersHow do we measure quality?Metrics & KPIs, automation decisions

Stop 1 — The Testing Mindset

1.1 What testing is (and is not)

Software testing is the activity of evaluating a product to find defects, check it against requirements and build confidence that it works. It covers two questions:

VerificationValidation
QuestionAre we building the product right?Are we building the right product?
HowReviews, walkthroughs, inspections — no executionExecuting the software against user needs
TypeStaticDynamic
ExampleReviewing the fee-refund rules in the requirement documentRaising a refund on the demo portal and checking the amount credited
Key Takeaway

Testing shows that defects are present — it can never prove that defects are absent.

1.2 Core vocabulary

TermPlain meaning
RequirementA documented need — what the system must do (functional) or how well (non-functional)
Test scenarioA high-level “what to test” — e.g. Verify a learner can switch batches after enrolling
Test casePrecise steps: preconditions, data, actions, expected result
Test suiteA group of test cases run together — e.g. Enrolment regression pack
Test dataInputs used while testing — emails, card numbers, pincodes
Test environmentHardware, software, network and data where tests run (Dev, QA, UAT, Prod)
Test planDocument of scope, approach, schedule, resources and risks

1.3 Error → Defect → Failure

StageWho / whereExample
Error (mistake)A human — developer, analyst, designerDev reads “free delivery from ₹499” as “above ₹499”
Defect (bug / fault)In an artifact — code, requirement, designThe code now says if (cartTotal > 499)
FailureVisible at runtime to a userA customer with exactly ₹499 in the cart is charged delivery
Interview Trap

Not every defect becomes a failure (the code path may never run), and not every failure comes from a defect (a network or environment problem can also cause one).

1.4 Seven principles — with a story for each

#PrincipleRemember it as
1Testing shows the presence of defectsA green regression report only says “nothing found today”, not “nothing wrong”
2Exhaustive testing is impossibleA PAN-number field alone has millions of valid combinations — pick inputs by risk
3Early testing saves time and money (shift-left)A wrong GST rule spotted in the requirement review is a one-line fix; spotted after invoices go out, it is a crisis
4Defects cluster togetherMost bugs of a release often sit in one or two complex modules — e.g. fee calculation (Pareto 80/20)
5Beware of the pesticide paradoxLike a mosquito repellent that stops working — an unchanged suite stops catching new bugs; refresh it
6Testing is context dependentA UPI payment app and a recipe blog need very different depth and techniques
7Absence-of-errors is a fallacyZero open bugs, but learners still cannot find the Enroll button = failed product

Stop 2 — The Process

2.1 SDLC models

ModelHow work flowsWhen testing happensFits
WaterfallRequirements → Design → Code → Test → Deploy, one after anotherLate, after codingSmall, fixed-scope projects
V-ModelEach development phase has a paired test phasePlanned early, executed after buildStable, regulated requirements
Agile / ScrumShort sprints delivering working incrementsEvery sprint, continuouslyMost modern products
KanbanContinuous flow with WIP limits, no sprintsAs each card movesSupport, maintenance
DevOpsDev + Ops with CI/CD pipelinesAutomated, inside the pipelineCloud apps, microservices

2.2 V-Model pairing

Development side (left, going down)Paired test level (right, going up)
Requirement analysisAcceptance testing
System designSystem testing
Architecture (high-level) designIntegration testing
Module (low-level) designUnit testing
Coding — the bottom of the V—

2.3 STLC — the six phases

PhaseKey activitiesOutput document
1 · Requirement analysisStudy requirements, find testable items, clarify doubtsRTM (traceability matrix)
2 · Test planningScope, strategy, effort, schedule, tools, risksTest plan
3 · Test designWrite scenarios & test cases, prepare dataTest cases, test data
4 · Environment setupPrepare servers, builds, accounts, toolsReady environment, smoke result
5 · Test executionRun tests, log defects, retest fixesExecution status, defect reports
6 · Test closureAnalyse metrics, lessons learnedTest summary report

Stop 3 — Life of a Bug

3.1 Defect life cycle

StatusWho moves itMeaning
NewTesterBug logged
AssignedLead / managerGiven to a developer
OpenDeveloperAnalysis / fix in progress
FixedDeveloperFix delivered in a build
RetestTesterVerifying the fix
ClosedTesterFix verified
ReopenedTesterFix did not work → goes back to developer

Side exits: Rejected (not a bug / works as designed), Duplicate (already logged), Deferred (fix in a later release), Not reproducible (dev cannot recreate it).

3.2 Severity vs priority

SeverityPriority
MeaningTechnical impact on the systemBusiness urgency to fix
Set byTester (mostly)Product owner / lead
LevelsCritical · Major · Minor · TrivialP1 Urgent · P2 High · P3 Medium · P4 Low
CombinationExample
High severity, high priorityCheckout crashes for every user
High severity, low priorityYear-end audit export corrupts the Excel file — report is used once a year
Low severity, high priorityDiwali offer banner still shows last year's date on launch morning
Low severity, low priorityTooltip text wraps awkwardly on one tablet size

3.3 Writing a bug report that gets fixed

FieldAutomateWithUs example
Bug IDAWU-DEF-2207
TitleSeats-left counter does not refresh after a learner cancels an enrolment
EnvironmentQA build 4.2.0 · Edge 129 · Android 14 tablet
Severity / PriorityMajor / P1 (batch starts Monday)
Steps1. Open Playwright Nov batch (shows 5 seats left) 2. Enroll 3. Cancel the enrolment from My Batches 4. Re-open the batch page
ExpectedCounter returns to 5 seats left
ActualCounter stays at 4 until the server cache expires (~30 min)
AttachmentsScreen recording, API response of /seats, HAR file

Stop 4 — The Layers of Testing

4.1 Test levels

LevelWhat is testedUsually byTools
UnitOne function / class in isolationDevelopersJUnit, TestNG, pytest, Jest
IntegrationInterfaces between modules, services, APIsDevelopers / QAPostman, REST Assured, Playwright API
SystemComplete product against requirementsQA teamSelenium, Playwright, manual
Acceptance (UAT)Business workflows by real usersBusiness users / clientManual, BDD tools

4.2 Integration approaches — stubs & drivers

ApproachStart fromMissing piece replaced by
Top-downUpper modules firstStub — a dummy called module that returns canned data
Bottom-upLower modules firstDriver — a dummy calling module that invokes the code under test
Big-bangEverything at onceNothing — but failures are hard to isolate
SandwichBoth ends toward the middleStubs and drivers

4.3 The test pyramid

Roughly 70% unit, 20% integration/API, 10% UI/E2E. Lower layers are faster, cheaper and less flaky; the top layer is slow and costly, so keep it for critical journeys only.

4.4 Functional testing types

TypePurposeTypical trigger
SmokeAre the critical features alive? Accept/reject the buildEvery new build
SanityIs this specific fix/area working?Small change or bug fix
Re-testingRun the exact failed case againAfter a fix
RegressionDid the change break anything else?After every change
IntegrationDo modules talk correctly?After module completion
System / E2EDoes the whole flow work end to end?Before release
UATDoes it meet business needs?Before go-live
ExploratoryLearn, design and execute togetherUnclear specs, new features
Ad-hocInformal, unplanned checksQuick checks under time pressure
SmokeSanityRegression
BreadthWide, shallowNarrow, deepWide, deep
WhenNew buildMinor fixAny change
DecidesCan testing start?Is this area stable?Is everything still OK?
Mumbai local analogyTrain starts and doors openThe repaired coach fan worksFull rake inspection at the car shed
Interview Trap

Re-testing ≠ regression. Re-testing confirms the fix; regression confirms nothing else broke. Re-testing is planned for specific defects; regression is a broad, often automated suite.

4.5 Non-functional testing types

TypeQuestionTools
PerformanceResponse time & throughput under normal load?JMeter, k6, Gatling
LoadBehaviour at expected peak users?JMeter, Locust
StressWhere does it break beyond capacity?JMeter, Gatling
SpikeSudden jumps — e.g. sale at 12:00?k6, JMeter
VolumeHuge data sets?Custom scripts
ScalabilityDoes adding resources add capacity?Cloud load tools
SecurityXSS, SQL injection, broken auth?OWASP ZAP, Burp Suite
UsabilityIs it easy and intuitive?Manual sessions
CompatibilityBrowsers, OS, devices, resolutions?BrowserStack, Sauce Labs
AccessibilityUsable with disabilities (WCAG)?axe, Lighthouse, WAVE

4.6 Static vs dynamic testing

StaticDynamic
Code executed?NoYes
FindsDefects in requirements, design, codeFailures at runtime
ActivitiesReviews, walkthroughs, inspections, static analysisUnit to UAT test execution
ToolsSonarQube, ESLint, CheckstyleSelenium, Playwright, Postman
Cost of finding a bugLower (earlier)Higher (later)

Review formality, least to most: informal review (peer glance) → walkthrough (author leads) → technical review (experts evaluate) → inspection (formal roles — moderator, author, reviewer, scribe — with metrics).

Stop 5 — Test Design Techniques

5.1 Black, white and grey box

Black boxWhite boxGrey box
Code visible?NoYesPartly
Done byQADevelopersQA with technical knowledge
FocusInputs → outputsCode paths & logicBehaviour + structure
TechniquesEP, BVA, decision table, state transitionStatement, branch, path coverageMatrix, pattern testing
ExampleFunctional, system, UATUnit tests, code reviewAPI & integration testing

5.2 Black-box techniques with worked examples

TechniqueIdeaWorked example (passengers per booking: 1–6)
Equivalence PartitioningSplit inputs into groups that behave alike; test one value per groupInvalid low (0) · Valid (1–6): 3 · Invalid high (7+): 9
Boundary Value AnalysisBugs cluster at edges; test on and around each boundary0, 1, 2 · 5, 6, 7
Decision TableEvery combination of conditions → expected actionFestive coupon: registered learner × cart ≥ ₹2,000 → 4 rules (see table below)
State TransitionTest moves between states on eventsOrder: Placed → Shipped → Delivered; “Cancel” allowed only while Placed
Use CaseMain flow + alternate + exception flowsLearner enrolls → pays by UPI → UPI times out → retries with card
Error GuessingExperience-based attack on likely weak spotsOnly spaces, Marathi/Hindi characters, ₹ symbol, pasted text with line breaks, leading zeros like 0007
Decision Table — Festive Coupon

Condition | R1 | R2 | R3 | R4

--------------------------+----+----+----+----

Registered learner? | Y | Y | N | N

Cart total >= Rs 2,000? | Y | N | Y | N

--------------------------+----+----+----+----

Apply 20% festive off | X | | |

Show "add more to unlock" | | X | |

Ask learner to sign up | | | X | X

5.3 White-box coverage

CoverageGoalStrength
StatementEvery line runs at least onceMinimum
Branch / decisionEvery if/else outcome (true & false) runsRecommended
ConditionEach sub-condition evaluated true and falseStronger for complex conditions
PathEvery possible route through the codeStrongest, often impractical
LoopLoop runs 0, 1, many and max timesCatches off-by-one bugs
Key Takeaway

100% branch coverage guarantees 100% statement coverage — but not the other way round.

Stop 6 — Working in a Team

6.1 Scrum essentials

TermMeaning
SprintTime-boxed iteration, usually 1–4 weeks, delivering a usable increment
User story“As a [role], I want [feature], so that [benefit]”
Acceptance criteriaConditions a story must satisfy to be accepted
Definition of ReadyStory is clear, estimated and testable — can enter the sprint
Definition of DoneCoded, reviewed, tested, documented, deployed to staging
Sprint planningTeam picks stories and commits to the sprint goal
Daily stand-up15 minutes: done yesterday, plan today, blockers
Sprint reviewDemo the increment to stakeholders
RetrospectiveWhat went well, what did not, what we will change
Backlog groomingRefine, split and estimate upcoming stories
RoleResponsibility
Product OwnerOwns and prioritises the backlog; accepts or rejects work
Scrum MasterRemoves blockers, coaches the team, guards the process
Development teamCross-functional — developers, QA, designers — delivers the increment

QA in Agile joins grooming, questions acceptance criteria, writes tests during the sprint, automates regression and gives continuous feedback — quality is the whole team's responsibility.

6.2 CI/CD and where tests run

TermMeaning
Continuous IntegrationCode merged often; every merge triggers a build and automated tests
Continuous DeliveryEvery build is release-ready; production deploy needs a manual approval
Continuous DeploymentEvery change that passes the pipeline goes to production automatically
Shift-leftTest earlier — reviews, unit/API tests during development
Shift-rightTest in production — monitoring, canary releases, A/B tests, feature flags
Pipeline At A Glance

Commit → Build & lint → Unit tests → API tests → UI smoke → Deploy to staging

(seconds) (seconds) (minutes) (minutes) (approved)

Tools: Jenkins · GitHub Actions · GitLab CI · Azure DevOps · Docker · Kubernetes

Stop 7 — Measuring Quality

7.1 Metrics you should be able to calculate

MetricFormulaTells you
Defect densityDefects ÷ size (KLOC or function points)Quality per unit of code
Pass ratePassed ÷ executed × 100Execution health
Defect leakageProduction defects ÷ total defects × 100What escaped testing
Defect rejection ratioRejected ÷ reported × 100Accuracy of bug reports
Requirement coverageRequirements covered ÷ total × 100Completeness of testing
Automation coverageAutomated cases ÷ total cases × 100Automation maturity
Mean time to resolveAverage time New → ClosedTeam responsiveness

Quick check: 200 tests executed, 184 passed → pass rate = 92%. 45 defects found in QA, 5 found in production → leakage = 5 ÷ 50 × 100 = 10%.

7.2 Automate or keep manual?

AutomateKeep manual
Regression that runs every sprintExploratory testing
Smoke & sanity on every buildUsability and look-and-feel judgement
Data-driven tests with many inputsOne-time or rarely run checks
Cross-browser / cross-device runsFeatures whose requirements change daily
API and performance checksAd-hoc investigation
Framework / toolLanguageStrength
SeleniumJava, Python, C#, JSWidely used web UI automation
PlaywrightTS/JS, Python, Java, C#Modern web UI + API, auto-waiting
CypressJavaScriptFront-end focused testing
REST AssuredJavaAPI automation
AppiumJava, Python, JSAndroid & iOS
TestNG / JUnit / pytestJava / PythonTest runners & assertions

Quick-Reference Glossary

TermMeaning
Quality AssuranceProcess-oriented, preventive — improving how we build
Quality ControlProduct-oriented, detective — testing what we built
Alpha testingInternal testing at the developer's site before beta
Beta testingReal users test in their own environment before release
Positive / negative testingValid inputs (happy path) / invalid inputs (graceful handling)
Globalization (i18n)Works across languages, currencies, time zones
Localization (L10n)Adapted correctly for a specific region
Monkey testingRandom, unplanned inputs to see if anything breaks
Gorilla testingHammering one module repeatedly
A/B testingTwo variants shown to real users to see which performs better
Canary releaseRoll out to a small % of users first
Feature flagTurn a feature on/off in production without redeploying
Test harnessTests + stubs + drivers + data needed to run automated tests
MockA fake object that imitates real behaviour for isolated tests

Templates

Test case template

FieldExample
Test case IDTC_ENROL_014
TitleVerify FESTIVE20 reduces the batch fee by 20%
PreconditionLearner signed in; Playwright batch (₹5,000) in cart
Test dataCoupon: FESTIVE20
Steps1. Open cart 2. Enter FESTIVE20 3. Click Apply
Expected resultDiscount ₹1,000 shown; payable ₹4,000
Actual result(filled during execution)
StatusPass / Fail / Blocked / Skipped
PriorityP2

Interview Questions & Answers

Q1. Verification vs validation?

Verification: building it right (reviews, static). Validation: building the right thing (execution, dynamic).

Q2. Error vs defect vs failure?

Human mistake → flaw in the artifact → wrong behaviour seen at runtime.

Q3. Smoke vs sanity?

Smoke: broad, shallow check of a new build. Sanity: narrow, deep check after a small fix.

Q4. Re-testing vs regression?

Re-testing verifies the fix; regression verifies nothing else broke.

Q5. Give a low-severity, high-priority bug.

A launch-day offer banner showing last year's date.

Q6. What is the pesticide paradox?

Repeating the same tests stops finding new bugs; tests must be reviewed and refreshed.

Q7. BVA values for a “quantity 1–50” field?

0, 1, 2 and 49, 50, 51.

Q8. Stub vs driver?

Stub replaces a called module (top-down); driver replaces a calling module (bottom-up).

Q9. What is an RTM?

A matrix mapping each requirement to its test cases to prove coverage.

Q10. What is defect leakage?

Share of defects found in production out of all defects — lower is better.

Q11. Entry and exit criteria?

Conditions to start a test phase (build deployed, smoke passed) and to finish it (critical bugs closed, coverage met).

Q12. What does QA do in a sprint?

Refine stories, define acceptance tests, test and automate during the sprint, report quality status.

Want to learn this live?

Small batches, real projects, mock interviews included. Sit in on a free demo class first.

See all coursesBook a mock interview