Skip to main content
MANUAL QA / 150 Q&A10 chapters150 questions

Testing Foundations Interview Questions: Manual QA, Testing Principles, and Quality Engineering

A senior-level interview-prep lesson for explaining software testing principles, test techniques, defect vocabulary, SDLC integration, test planning, risk management, static testing, non-functional testing, and the thinking patterns that distinguish a strong QA engineer from a script executor.

Metadata

FieldDetails
TypeInterview-prep lesson
Primary ToolManual testing, test analysis, test design
LanguagePlatform-agnostic
PlatformAny — applicable to web, mobile, API, and desktop products
PrerequisitesNone — this is the entry point for all QA disciplines
Time6–10 hours of focused practice
Question Count150 questions

Learning Objectives

By the end of this lesson, you should be able to:

↳ Explain software testing principles, objectives, and vocabulary with precision in interview language.↳ Describe the Software Testing Life Cycle and how it integrates with Agile, Waterfall, and DevOps delivery models.↳ Apply black-box, white-box, and experience-based test techniques to real scenarios.↳ Design test cases using equivalence partitioning, boundary value analysis, decision tables, and state transition diagrams.↳ Plan, prioritize, and communicate testing risk to technical and non-technical stakeholders.↳ Write defect reports that are precise, reproducible, and actionable.↳ Answer senior-level questions about test strategy, quality trade-offs, and release decision-making.

The Problem

Most QA interviews fail not because the candidate lacks tool experience, but because they cannot explain their testing decisions like an engineer. A candidate who says "I test to find bugs" will lose to one who says "I test to reduce the risk of shipping the wrong behavior to users — and I prioritize by business impact, defect history, and change surface."

A strong Manual QA answer explains:

↳ Why you chose a particular test technique for a particular problem.↳ How you decide what to test when time is limited.↳ What a defect report needs to contain to be useful rather than annoying.↳ How you communicate quality risk in business language, not test jargon.↳ What distinguishes a useful test from an execution that merely produces a pass.

The Concept

StepWhat to sayWhy it matters
DefineTesting is the process of evaluating a system to provide information about quality, identify defects, and reduce the risk of shipping broken behavior.Shows you understand testing as risk reduction, not just bug finding.
ApplyApply test techniques — EP, BVA, state transition, decision tables — based on the shape of the problem, not out of habit.Demonstrates technique selection judgment rather than mechanical application.
Trade offTesting cannot be exhaustive. Prioritize by risk, business impact, and change surface — and communicate trade-offs explicitly.Proves you understand that test coverage is always a resource allocation decision.
VerifyA test that passes without a meaningful assertion, or a defect report without reproduction steps, is not useful evidence.Signals you care about signal quality, not just test count.

Build It

A minimal but credible test plan section for a new feature starts with risk, not test cases.

Feature: User password reset flow

Risk analysis:
  - High: Account takeover via token replay (security, business)
  - High: Reset email never arrives or arrives with wrong link (customer impact)
  - Medium: Token expiry not enforced (security)
  - Medium: UI form validation missing or incorrect (UX)
  - Low: Email formatting on edge-case addresses

Test design decisions:
  - Token replay: security-focused negative test, invalid/expired/reused tokens
  - Email delivery: API-level confirmation + manual spot-check on staging
  - Expiry: boundary value analysis on token TTL (e.g. 59 min, 60 min, 61 min)
  - Validation: equivalence partitioning on email input classes
  - Not automating email formatting on edge addresses — low risk, slow ROI

Entry criteria: Reset API endpoint deployed to staging, email service mocked
Exit criteria: All high-risk scenarios executed, zero Critical/High open defects

Minimal defect report structure:

Title: Password reset token accepted after 60-minute expiry

Environment: Staging, Chrome 124, macOS 14.4
Build: v2.31.0 (commit a1b2c3)

Steps to reproduce:
  1. Request a password reset at 14:00
  2. Do not open the link until 15:01
  3. Click the reset link from the email
  4. Enter a new password and submit

Expected: "This link has expired" error shown, reset rejected
Actual: Password reset succeeds — link accepted after TTL exceeded

Severity: High — security vulnerability
Priority: P1 — must fix before release

Evidence: Screen recording attached (reset_token_expiry.mp4)

Chapter Index

ChapterTitleQuestions
1Testing Principles, Objectives, and Vocabulary15
2Software Testing Life Cycle and SDLC Integration15
3Test Analysis, Test Design, and Technique Selection15
4Black-Box Techniques: EP, BVA, Decision Tables, State Transition15
5White-Box and Experience-Based Techniques15
6Static Testing, Reviews, and Defect Prevention15
7Test Planning, Estimation, Risk, and Prioritization15
8Defect Management, Root Cause Analysis, and Reporting15
9Non-Functional Testing: Performance, Security, Usability, and Accessibility15
10Senior Manual QA Interview Scenarios and Test Strategy Design15
Total150

Chapter 1 - Testing Principles, Objectives, and Vocabulary

Q001. What is software testing?

Software testing is the process of evaluating a system or component to determine whether it satisfies specified requirements, behaves as intended, and does not produce unexpected side effects. In interviews, avoid saying testing is "finding bugs." A stronger answer is: testing provides objective information about quality, surfaces risk, and helps stakeholders make informed decisions about whether to ship, delay, or accept known defects. Testing cannot prove a product is defect-free — it can only demonstrate that specific scenarios behaved as expected under specific conditions.

Q002. What are common test objectives?

Test objectives depend on context but typically include: detecting defects before users do, verifying that a system meets specified requirements, validating that it meets real user needs, reducing release risk, building stakeholder confidence, and providing evidence for compliance or audit. The key interview point is that the objective shapes everything else — what you test, how deep you go, what evidence you collect. A safety-critical system needs different objectives and evidence than an internal dashboard.

Q003. What is the difference between verification and validation?

Verification asks "are we building the product right?" — it checks conformance to specifications, designs, and requirements through reviews, inspections, and static analysis. Validation asks "are we building the right product?" — it tests the working software against actual user needs and business goals. Verification is static; validation is dynamic. Both are necessary: verification catches requirement and design defects early, while validation confirms the product delivers real value. Skipping verification leaves defects for validation to find expensively.

Q004. What is the difference between an error, a defect, and a failure?

An error is a human mistake — a developer misunderstands a requirement and writes incorrect logic. A defect (also called a bug or fault) is the result of that error — incorrect code in the artifact. A failure is externally observable incorrect behavior when the system runs — the user sees the wrong result. Not every defect causes an observable failure; some defects only manifest under specific conditions. Understanding this chain matters in postmortems: you trace the failure to the defect, then trace the defect to the error, then ask why the error was not caught earlier.

Q005. What is a root cause?

A root cause is the underlying reason that a defect was introduced or not caught. The root cause is often not the code itself — it may be a missing requirement, an ambiguous acceptance criterion, inadequate review, insufficient test coverage, or a broken communication between disciplines. Root cause analysis drives process improvement. If every post-incident investigation concludes "developer wrote wrong code," you never improve the process. A senior QA engineer asks: why did this slip through, and what would reliably catch it earlier?

Q006. What are the core principles of software testing?

The seven core principles: testing shows presence of defects, not absence; exhaustive testing is impossible; early testing saves cost; defects cluster (the Pareto principle applied to defects — a small number of modules contain most defects); pesticide paradox (repeating the same tests finds fewer new defects over time); testing is context-dependent; and absence of defects is a fallacy (a working system that solves the wrong problem has zero value). In interviews, pick two and connect them to a real decision — for example, using defect clustering to guide where to focus regression testing.

Q007. How do you explain the pesticide paradox in practice?

The pesticide paradox means that a test suite run repeatedly against stable code becomes progressively less effective at finding new defects because the code has been adapted to pass those specific tests. In practice, this means regression suites should be periodically revised: retired when the risk they covered no longer exists, updated when the feature changes, and supplemented with new exploratory sessions and new scenarios. A regression suite that never changes is a false confidence generator.

Q008. What is the difference between testing and quality assurance?

Testing is product-oriented — it evaluates the artifact (code, system, feature) through execution and review, detecting defects and providing quality information. Quality assurance (QA) is process-oriented — it audits and improves the processes by which the team designs, builds, and tests software, with the goal of preventing defects rather than finding them. A senior QA engineer does both: writes and executes tests, and also asks "why did this defect get this far" and "what process change prevents the next one."

Q009. What is a test basis?

A test basis is any documentation, artifact, or source of information from which test conditions and test cases are derived. Examples include: requirements specifications, user stories, acceptance criteria, design documents, wireframes, code (for white-box testing), data models, and risk analysis. A missing or ambiguous test basis is itself a defect — if you cannot define what a pass or fail looks like, the feature is not ready to test.

Q010. What is a test condition?

A test condition is a testable aspect of a component or system derived from the test basis — a specific situation, behavior, rule, or characteristic that can be verified by one or more test cases. For example, from the requirement "users must be able to reset their password," test conditions include: reset via valid email, reset via unknown email, token expiry behavior, second use of the same token, and concurrent reset requests. Identifying test conditions before writing test cases ensures you think about coverage before mechanics.

Q011. What is test coverage?

Test coverage is the degree to which test conditions, requirements, code branches, or risk areas are exercised by the test suite. Coverage can be measured at many levels: requirement coverage, test condition coverage, branch coverage, decision coverage, and path coverage. High coverage is not the same as high quality — you can achieve 100% line coverage while asserting nothing meaningful. Coverage is a necessary signal, not a sufficient one.

Q012. What is the test oracle problem?

The test oracle problem arises when there is no authoritative source for the expected result of a test. Without an oracle, you cannot definitively say whether a test passed or failed. Common oracles include: specifications, user stories, comparable products, statistical models, and human judgment. When oracles are absent or ambiguous — for example, testing a machine learning model output or a visual rendering — QA must work with stakeholders to define acceptable thresholds and approval processes rather than binary pass/fail verdicts.

Q013. What are the consequences of skipping testing?

Defects that escape to production cost dramatically more to fix than defects caught during development: more users are affected, incident response consumes engineering time, customer trust erodes, and regulatory consequences may apply for compliance-critical systems. Beyond cost, untested software erodes team confidence in deployment — teams that do not trust their test suite add manual approval gates, slow release cadence, and build technical debt in validation processes. Testing is not a cost; it is a risk management investment.

Q014. What is the difference between functional and non-functional testing?

Functional testing evaluates what the system does — does the login accept valid credentials, does the checkout calculate tax correctly, does the search return relevant results? Non-functional testing evaluates how the system behaves under specific quality attributes: performance (how fast?), reliability (how often does it fail?), security (how resistant is it to attack?), usability (how easily can users complete tasks?), accessibility (can users with disabilities use it?), and compatibility (does it work across browsers and devices?). Strong test strategies address both.

Q015. What is the purpose of a test level?

Test levels organize testing activities by scope and abstraction. Component testing validates individual units in isolation. Integration testing validates how components interact. System testing validates the complete system against requirements. Acceptance testing validates that the system meets business and user needs. Each level has different owners, environments, tools, and defect types. A well-designed strategy covers all levels rather than concentrating everything in end-to-end testing, which is expensive and slow for finding component-level bugs.

Chapter 2 - Software Testing Life Cycle and SDLC Integration

Q016. What are the phases of the Software Testing Life Cycle?

The STLC phases are: Requirement Analysis → Test Planning → Test Case Design → Test Environment Setup → Test Execution → Test Cycle Closure. Each phase produces specific artifacts: an RTM and test scenarios from analysis; a test plan from planning; test cases, scripts, and data from design; an environment readiness report from setup; defect logs and execution reports from execution; and a test summary report from closure. QA involvement should begin at requirement analysis — the earlier defects are found, the cheaper they are to fix.

Q017. How does testing fit into a Waterfall SDLC?

In Waterfall, phases are sequential: requirements, design, development, testing, deployment. Testing typically begins after development completes, which means defects discovered in testing require expensive rework of finished code. The mitigation in Waterfall QA is heavy upfront static testing — requirements reviews, design reviews, and walkthrough sessions — so that the test execution phase validates built-right product rather than discovering fundamental gaps.

Q018. How does testing fit into an Agile SDLC?

In Agile, testing is embedded within each sprint rather than relegated to a final phase. QA participates in story refinement to surface testability and acceptance criteria gaps. Three Amigos sessions (developer, QA, product owner) define done criteria and examples before development starts. Test cases are written and automated as part of the definition of done. Exploratory testing runs during the sprint on completed stories. Regression automation runs in CI on every commit. The sprint review demo should demonstrate tested, releasable software — not work-in-progress.

Q019. What is shift-left testing?

Shift-left testing moves quality activities earlier in the development process — toward requirements, design, and coding — rather than concentrating testing after development completes. Practical shift-left activities include: reviewing requirements for testability and ambiguity, writing acceptance criteria before development starts, writing unit tests before or alongside code, static code analysis in CI on every commit, and early exploratory testing of prototypes. Shift-left reduces the cost of defects because they are found before they compound through multiple development phases.

Q020. What is the definition of done in Agile testing?

The definition of done (DoD) is a team agreement about what criteria a user story must meet before it can be considered complete. A QA-informed DoD typically includes: unit tests written and passing, integration tests updated, regression suite passing, exploratory testing completed, acceptance criteria verified, no open Critical or High defects, documentation updated if needed, and accessibility check passed. The DoD prevents stories from being "done" from a development perspective while still having unresolved test obligations.

Q021. What are acceptance criteria and why do they matter for QA?

Acceptance criteria define the observable, measurable conditions that a feature must satisfy to be accepted by the product owner and users. Good acceptance criteria are testable (you can write a test that will pass or fail), specific (no ambiguity about expected behavior), and user-outcome-focused (what the user can do, not how the code is structured). Missing or vague acceptance criteria are the most common source of late defects — requirements that seemed clear to developers were interpreted differently by QA, product, and users.

Q022. What is Three Amigos and how does it improve quality?

Three Amigos is a practice where a developer, QA engineer, and product owner review a user story together before development begins. The QA engineer asks "how will I know this is working?" to surface ambiguities and edge cases. The developer asks "how is this implemented?" to identify technical constraints. The product owner clarifies the business intent. The result is shared understanding, better acceptance criteria, and fewer defects caused by assumptions. Stories that go through Three Amigos require less rework.

Q023. How does CI/CD change the role of manual testing?

CI/CD automates the fast, repeatable checks — unit tests, integration tests, regression suites — and executes them on every code change. This shifts the value of manual testing toward activities automation cannot perform well: exploratory testing (investigating unknowns), usability assessment (human judgment about experience quality), context-specific risk-based sessions (probing new features), accessibility review, and release readiness confirmation. Manual testers in CI/CD environments add the most value through testing strategy, risk analysis, and exploratory coverage — not repetitive execution.

Q024. What is regression testing and when should it run?

Regression testing re-validates previously working functionality after changes to ensure nothing that worked before is now broken. It should run after every significant code change: feature additions, bug fixes, refactors, and dependency upgrades. Automated regression suites in CI catch regressions within minutes of a change. For manual regression — when full automation is not yet in place — prioritize high-risk, high-user-impact areas and areas touched by the change. Regression scope should be reviewed regularly to retire outdated scenarios.

Q025. What is smoke testing and how does it differ from sanity testing?

Smoke testing is a broad, shallow test pass run immediately after a new build to verify that the most critical functions work before deeper testing begins. It answers "is this build stable enough to test?" Sanity testing is narrow and targeted — run after a specific bug fix or change to confirm the fix works without breaking adjacent behavior. Smoke is wide breadth; sanity is targeted depth. Both are quick gates, but sanity is reactive to a specific change while smoke validates the overall build baseline.

Q026. What is exploratory testing and when is it most valuable?

Exploratory testing is simultaneous test design and execution driven by the tester's domain knowledge, intuition, and real-time observations rather than a pre-scripted test case. The tester sets a mission and time-box, observes the system, forms hypotheses, and follows interesting threads. Most valuable when: requirements are incomplete, a new feature ships without full specifications, the scoped regression tests have all passed and you want to find what they missed, and when investigating defect clusters to understand their full scope. Good exploratory testing is purposeful, observable (via notes or session recordings), and reproducible.

Q027. What is a test charter?

A test charter defines the mission, scope, and focus for an exploratory testing session. A well-written charter includes: the area under investigation, the specific risk or question being probed, the environment and tools, and the time budget. Example: "Explore the checkout flow for a first-time user on mobile Safari, focusing on error handling when payment fails, for 45 minutes." Charters make exploratory testing reportable and comparable across sessions without eliminating adaptability.

Q028. What is maintenance testing and what triggers it?

Maintenance testing is performed on an existing system after changes — enhancements, bug fixes, patches, environment changes, OS upgrades, database migrations, or library version changes. The key challenge is scope: what does a library upgrade or infrastructure change potentially affect? Impact analysis — tracing the change to all affected areas — drives scope decisions. Maintenance testing that ignores impact analysis often misses regression paths through unchanged but affected code.

Q029. What is confirmation testing?

Confirmation testing (also called re-testing) verifies that a specific defect has been fixed. It executes the exact steps that originally exposed the failure and confirms the expected result is now produced. Confirmation testing alone is not sufficient after a fix — regression testing must also run to ensure the fix did not break adjacent behavior. A common failure mode is developers marking a defect as fixed, confirmation testing passing, but a regression test revealing that the fix broke something else.

Q030. How do you test in a DevOps environment?

In DevOps, testing is embedded in the pipeline as a series of automated gates: unit tests on commit, integration tests on PR merge, E2E smoke on staging deploy. Manual testing focuses on what automation cannot cover: exploratory sessions on new features, usability assessment, release readiness review. QA engineers own the quality gates — defining what passes and what blocks — and monitor pipeline health. A flaky gate that fires on every PR is worse than no gate, because the team learns to ignore it.

Chapter 3 - Test Analysis, Test Design, and Technique Selection

Q031. What is the difference between test analysis and test design?

Test analysis identifies what needs to be tested — deriving test conditions from the test basis (requirements, acceptance criteria, designs, risks). Test design determines how to test those conditions — selecting techniques, writing test cases, specifying test data, and defining expected results. A weak test process skips analysis and writes test cases directly from happy-path requirements, missing edge cases, negative scenarios, and implicit behavior. Strong analysis asks: what could go wrong, what are the boundaries, what rules apply, what states can the system be in?

Q032. How do you decide which test technique to use?

Select techniques based on the shape of the problem. Equivalence partitioning: when inputs divide into groups with identical behavior. Boundary value analysis: when boundaries between groups are the likeliest defect location. Decision table testing: when behavior depends on combinations of conditions. State transition testing: when the system has discrete states and defined transitions between them. Exploratory testing: when requirements are unclear or you want to investigate unknown risk areas. Use structure (the test basis shape) to select the technique, not habit.

Q033. How do you derive test conditions from a user story?

Start from the acceptance criteria and ask five questions: what is the happy path (valid input, expected outcome)? What are the invalid inputs (wrong type, out of range, missing required field)? What are the boundary cases? What states must the system be in for this to work? What happens when a dependent service fails? Each answer is a test condition. Map test conditions to acceptance criteria in a traceability matrix so that coverage gaps are visible before execution begins.

Q034. What is a test case and what should it contain?

A test case is a documented set of conditions, inputs, actions, and expected results designed to verify a specific test condition. A well-written test case contains: a unique ID, descriptive title, preconditions (what must be true before the test starts), test steps (specific, numbered, minimal), test data (specific values, not "valid email"), expected result (observable, specific), and actual result (filled in during execution). A test case without specific expected results is not a test case — it is a script that produces undefined outcomes.

Q035. What is the difference between a test case and a test script?

A test case defines what to test and what outcome to expect. A test script is the implementation of that case as executable steps — whether manual instructions or automated code. One test case may produce multiple scripts for different environments or configurations. The distinction matters because test cases are the durable specification of coverage; scripts are the execution mechanism. Test cases should be reviewable by non-technical stakeholders; scripts are implementation details.

Q036. What is a traceability matrix and why is it valuable?

A requirements traceability matrix (RTM) maps requirements or user stories to test conditions and test cases. It answers: which requirements are covered by tests, which have no coverage, and which test cases are orphaned (no longer mapping to a requirement). The RTM is valuable for coverage gap analysis before execution, change impact analysis when requirements change, and release evidence demonstrating that every acceptance criterion has been tested.

Q037. How do you design test cases for a login form?

Starting from the test conditions: valid credentials → successful login. Invalid email format → validation error. Correct email, wrong password → authentication failure (not account info leak). Correct email, wrong password repeated → lockout behavior. SQL injection in email/password fields → no injection executed. Empty fields → required field error. Extremely long inputs → handled without crash. Remember-me functionality → session persistence. Logout → session invalidation. Concurrent sessions → policy enforced. Each condition becomes a test case with specific inputs and expected results.

Q038. How do you write test cases for an API endpoint?

Test conditions for a POST /users endpoint: valid payload → 201 Created with expected response body. Missing required fields → 400 Bad Request with specific error message per missing field. Wrong data type (integer where string expected) → 400 with type error. Duplicate unique field (email already exists) → 409 Conflict. Oversized payload → 413 or 400. No authentication header → 401. Valid auth, insufficient permission → 403. Valid request with extra unknown fields → accepted or rejected per API contract. Each test case specifies the exact request headers, body, and expected response code plus body assertions.

Q039. What is a test condition for negative testing?

A negative test condition specifies invalid, unexpected, or boundary-crossing input designed to verify that the system handles errors correctly — not just happy paths. Examples: input below minimum, above maximum, null where required, wrong data type, expired authentication token, missing required header, concurrent conflicting operations, external service returns error mid-flow. Negative testing finds the failure modes that users will eventually hit. A system with only positive test coverage will fail unexpectedly in production.

Q040. How do you prioritize which test cases to execute in a time-limited sprint?

Prioritize by: (1) business risk — which features would cause the most customer or revenue harm if broken; (2) change surface — which code areas were touched in this sprint; (3) critical user paths — checkout, login, payment; (4) regression value — scenarios that have caught bugs before. Use a risk matrix (impact × likelihood) to rank explicitly. Communicate coverage trade-offs to the product owner before execution, not after a production incident. The decision to skip a test scenario is a business decision, not a QA decision.

Q041. What is boundary value analysis and how do you apply it?

Boundary value analysis tests values at the edges of equivalence partitions — where most off-by-one and range-handling defects occur. For a field accepting values 1–100: test below lower boundary (0), at lower boundary (1), just inside lower boundary (2), just inside upper boundary (99), at upper boundary (100), above upper boundary (101). For 2-value BVA, test at and just outside each boundary. The insight is that boundaries are where developer logic most often has subtle errors — the condition is < versus <= in the implementation.

Q042. What is equivalence partitioning and when does it reduce test case count effectively?

Equivalence partitioning divides input data into groups (classes) where all values in a class are expected to produce identical system behavior — so testing one representative per class is sufficient. For an age field accepting minors (under 18) and adults (18+): partitions are invalid negative, valid minor, valid adult, invalid over-maximum. Test one value from each partition rather than every possible value. EP reduces test case count while maintaining coverage of distinct behavioral classes. Combine with BVA for the boundary values between partitions.

Q043. How do you test a field with multiple validation rules?

Apply decision table testing. List all conditions (required, correct type, within range, matching format, unique in database) and enumerate the combinations that matter. For each combination, specify the expected outcome. Decision tables ensure you test combinations of rules, not just each rule in isolation. A field that is both out-of-range and incorrectly formatted may produce a different error than each condition tested alone — the decision table captures that interaction.

Q044. What is state transition testing and when do you use it?

State transition testing models a system as a set of states with defined transitions triggered by events. It is most useful for workflows, permissions, order lifecycles, user account states, and multi-step forms. Example: a user account with states New, Active, Suspended, Deleted. Events: email verified, admin suspend, reactivate, delete. Test cases cover valid transitions (Active → Suspended), invalid transitions (Deleted → Active), and boundary-crossing sequences (Suspended → Suspended, no-op or error). State transition testing finds defects in sequence-dependent behavior that functional testing often misses.

Q045. How do you test a multi-step checkout flow?

Use state transition modeling: cart → address → payment → review → confirmation → post-order. Test valid end-to-end flow. Test interruption at each step: back button, session timeout, browser close and resume. Test invalid progression: skip payment step, reuse completed order token. Test boundary conditions: maximum items in cart, minimum order value, maximum coupon discount. Test concurrent states: two tabs completing the same order. Test failure paths: payment declined, inventory depletion between add-to-cart and payment. A multi-step flow test plan should cover the states, transitions, and the failure behavior at each transition, not just the happy path.

Chapter 4 - Black-Box Techniques: EP, BVA, Decision Tables, State Transition

Q046. What is a black-box test technique?

A black-box test technique derives test cases from the external specification — inputs, outputs, rules, and behavior — without knowledge of the internal code structure. The tester treats the system as a black box and asks: given this input, what should happen? Black-box techniques include equivalence partitioning, boundary value analysis, decision table testing, and state transition testing. They are applicable to any testable artifact: requirements, UI, API, and database behavior.

Q047. How do you apply equivalence partitioning to a numeric input field?

Identify the valid input range and derive partitions: valid range, below valid range (invalid), above valid range (invalid). For an age field accepting 18–65: partition 1 is invalid (<18), partition 2 is valid (18–65), partition 3 is invalid (>65). Select one representative from each partition for test cases. Also define special partitions for non-numeric input and empty input, since those behaviors may differ. EP minimizes test cases while covering all distinct behavioral classes.

Q048. How do you apply equivalence partitioning to a dropdown or enumerated type?

Each valid option is a separate equivalence class — they may trigger different behavior. Also add partitions for invalid states: empty selection (if allowed), programmatic injection of an invalid option value not in the list, and null. For a country dropdown that affects tax calculation: each country with unique tax rules is a meaningful partition, not just any country. EP on enumerations requires domain knowledge about which values produce distinguishable behavior.

Q049. How do you combine equivalence partitioning and boundary value analysis?

EP defines the classes; BVA targets the boundaries between them. First partition the input space with EP. Then apply BVA to each partition boundary: test the last invalid value, the first valid value, a mid-range valid value, the last valid value, and the first invalid value. For a password length requirement of 8–20 characters: EP classes are too short, valid, too long. BVA tests: length 7 (invalid boundary), 8 (valid boundary), 9 (valid inside), 19 (valid inside), 20 (valid boundary), 21 (invalid boundary). This combination maximizes defect detection at minimum test case cost.

Q050. What is a decision table and how do you construct one?

A decision table maps all combinations of conditions to expected outcomes. Columns represent test cases (one per unique combination). Rows in the top half are conditions (true/false or specific values). Rows in the bottom half are expected actions or outcomes. For a loan approval rule with conditions age ≥ 18, credit score ≥ 700, income ≥ 50000: enumerate all 8 combinations (2³), identify which combinations result in approved, conditionally approved, or rejected. Decision tables ensure every business rule combination is tested, not just the common ones.

Q051. How do you reduce a large decision table?

Use "don't care" values (marked as "—") to collapse combinations where one condition's value does not affect the outcome. For example, if income < 50000 always results in rejection regardless of age and credit, those combinations collapse to one column. Decision tables with many conditions grow exponentially — practical tables collapse redundant combinations and focus on combinations where the outcome depends on the interaction. Document the collapsed combinations so coverage can be demonstrated.

Q052. When does decision table testing find defects that EP and BVA miss?

EP and BVA test individual input dimensions independently. Decision table testing covers combinations of conditions that interact. A defect where the system applies the wrong rule when multiple conditions are met simultaneously — approved when it should be conditional, incorrect error message when two validations fail at once — requires decision table testing to surface. Real business rules almost always involve combined conditions.

Q053. How do you construct a state transition diagram for a ticket lifecycle?

Identify states: Open, In Progress, Resolved, Closed, Reopened. Define valid transitions: Open → In Progress (developer assigned), In Progress → Resolved (fix submitted), Resolved → Closed (QA verified), Resolved → Reopened (QA rejects fix), Closed → Reopened (customer reports recurrence). Define invalid transitions: Closed → In Progress directly without Reopened, Open → Closed without resolution. Draw the diagram, then derive test cases: one per valid transition, one per key invalid transition, and representative sequences (happy path, reopen sequence, multiple resolve/reopen cycles).

Q054. How do you test invalid state transitions?

Invalid state transitions should produce an error — not a crash, not silent acceptance, and not a corrupt state. Test each invalid transition and verify: appropriate error message or status code returned, system state unchanged after the rejected transition, no partial side effects (no audit log entry created for a rejected action). Invalid transition testing catches authorization bugs (user A cannot transition ticket owned by user B) and workflow enforcement bugs (a ticket cannot be closed without passing through review).

Q055. What is pairwise testing?

Pairwise testing (also called all-pairs testing) is a combinatorial technique that reduces the number of test cases for multiple independent parameters by ensuring every pair of parameter values is covered by at least one test case. For a form with browser (3 options) × OS (4 options) × screen size (3 options) = 36 combinations, pairwise reduces coverage to approximately 10–12 test cases. The justification is that most defects are caused by interactions between pairs of parameters, not all three simultaneously.

Q056. How do you decide between pairwise, full combinatorial, and single-value testing?

Use full combinatorial when every combination represents a distinct risk — payment method × currency × tax regime may require all combinations for compliance. Use pairwise when parameters are largely independent and the goal is efficient regression coverage. Use single-value (one per EP class) when combinations are not known to interact and speed is critical. The decision is risk-driven: what defect patterns could this input space produce, and what testing strategy covers those patterns at acceptable cost?

Q057. What is use case testing and how does it relate to black-box techniques?

Use case testing derives test cases from use case specifications or user stories, focusing on actor interactions and system responses across scenarios: basic (happy) path, alternative paths, and exception paths. It is a black-box technique because it tests observable behavior rather than internal structure. Use case testing complements EP, BVA, and state transition by providing the narrative thread — the sequence of actions a user performs — while EP and BVA define the input classes within each step.

Q058. How do you test a search feature using black-box techniques?

EP partitions: empty query, single character, valid query, query with special characters, query exceeding max length, SQL/XSS injection payload. BVA: exactly at min length, one character below max, exactly at max, one above max. State-based: no results state, single result, multiple results, pagination boundary (first page, last page, single page). Decision table: combinations of filters (date range × category × sort order) and their effect on result count. Negative: search while network is slow, search during index update, concurrent identical searches.

Q059. How do you test a form submission with file upload?

Valid cases: file at minimum size, file at maximum size, accepted file types (each type individually). Boundary: exactly at size limit, one byte below, one byte above. Invalid: empty file, file above max size, rejected file type, executable with renamed extension (.exe renamed to .jpg), corrupted file, zero-byte file. Security: file containing XSS in metadata, zip bomb, malformed headers. State: upload progress interrupted mid-transfer, duplicate upload, upload while user is unauthenticated. Each scenario maps to a specific equivalence partition or risk.

Q060. How do you use black-box techniques for API testing?

Apply EP to request parameters: valid format, invalid format, out-of-range values, wrong types, missing required fields, extra fields, null values. Apply BVA to numeric fields, string lengths, date ranges, and pagination limits. Apply decision tables to parameter combinations that trigger different response codes or behaviors. Apply state transition to stateful API operations (create → update → delete, or session token lifecycle). Test the error response body — not just the status code — for specific, non-leaking error messages.

Chapter 5 - White-Box and Experience-Based Techniques

Q061. What is a white-box test technique?

A white-box test technique derives test cases from knowledge of the internal structure — code, branches, conditions, data flows, and paths. The goal is to ensure that specific structural elements of the code are exercised by tests. Common white-box techniques are statement coverage, branch coverage, condition coverage, and path testing. White-box testing is most powerful at the unit level, where the internal structure is directly accessible. It complements black-box testing, which focuses on observable behavior.

Q062. What is statement coverage?

Statement coverage measures the percentage of executable statements in the code that have been executed by the test suite. 100% statement coverage means every line has been executed at least once. The limitation is that statement coverage does not guarantee that both outcomes of a conditional (true and false branches) have been tested. A conditional that is always true in tests achieves 100% statement coverage but misses the false branch — where defects often hide.

Q063. What is branch coverage and why is it stronger than statement coverage?

Branch coverage (also called decision coverage) requires that every branch of every conditional — the true and false outcome of every if, switch case, and loop exit — is exercised by the test suite. 100% branch coverage subsumes 100% statement coverage. It is a stronger criterion because it forces testers to exercise both outcomes of every decision, which is where business logic defects are most common. 80% branch coverage is a more meaningful quality signal than 100% statement coverage.

Q064. What is condition coverage?

Condition coverage requires that each individual boolean condition in a compound expression evaluates to both true and false in at least one test. For if (A && B), condition coverage requires: A=true, A=false, B=true, B=false — in some combination. Multiple condition coverage (all combinations of A and B) is a stronger criterion. Condition coverage is important in complex business rule logic where compound conditions have subtle interaction defects.

Q065. What is path testing and when is it impractical?

Path testing derives test cases for every possible execution path through a module. For a method with N decision points, the number of paths can be 2^N. Path testing is impractical for most real-world code because loops and complex conditions create a combinatorial explosion. Modified condition/decision coverage (MC/DC), used in safety-critical aviation and automotive software, is a practical compromise that ensures each condition independently affects the decision outcome.

Q066. What is McCabe's cyclomatic complexity?

Cyclomatic complexity is a metric that counts the number of independent paths through a piece of code based on its control flow graph: CC = E - N + 2P (edges minus nodes plus two times connected components). A method with CC of 1 has no branches. A method with CC of 10 requires 10 independent test cases to achieve path coverage. High cyclomatic complexity (typically >10) correlates with higher defect density and maintenance difficulty. QA engineers use it to identify which modules deserve more test investment.

Q067. What is exploratory testing and how does it differ from scripted testing?

Exploratory testing is simultaneous learning, test design, and execution guided by the tester's observations, hypotheses, and domain knowledge. The tester adapts the next action based on the current observation. Scripted testing follows a predefined, documented sequence regardless of what is observed. Scripted testing excels for regression and compliance verification. Exploratory testing excels for investigating new features, uncovering unknown risks, and finding defects that scripted tests were not designed to find. Strong QA practices use both.

Q068. How do you structure an exploratory testing session?

Define a charter: mission (what are you investigating?), scope (which area, which risk?), time-box (45 minutes? 2 hours?), and environment. During the session: observe the system, form and test hypotheses, follow interesting threads, record what you tested, what you found, and what you did not test. After the session: document findings, note coverage, and flag scenarios that should become scripted tests or automation candidates. Session notes make exploratory testing reportable and the coverage visible to the team.

Q069. What is error guessing?

Error guessing is an experience-based technique where the tester uses knowledge of the system, domain, common defect patterns, and past bugs to design additional test cases beyond what formal techniques produce. A tester who has seen divide-by-zero errors will test zero denominators. A tester who has seen date parsing failures will test leap years, timezone transitions, and year rollover. Error guessing is powerful when combined with formal techniques — it fills the gaps that systematic techniques do not specifically target.

Q070. What is checklist-based testing?

Checklist-based testing uses a structured list of items to verify during a test session. Checklists can cover: functionality, usability, accessibility, security basics, cross-browser behavior, offline behavior, or any repeated concern. The advantage is consistency and knowledge sharing — new team members follow the same checklist as experts. The risk is that checklists become stale: items that no longer apply, missing items for new risk areas. Treat checklists as living documents reviewed each sprint or quarterly.

Q071. What is fault-based testing?

Fault-based testing designs test cases specifically targeted at the types of defects most likely to occur in a given context. If historical data shows 30% of defects in a payments module are off-by-one in currency calculation, design tests specifically for rounding at boundary values, currency conversion edge cases, and precision issues. Fault-based testing uses defect history as a test case oracle — if a class of defect has occurred, it will likely occur again unless explicitly targeted.

Q072. How do you test error handling code?

Error handling is code that executes under failure conditions — database connection lost, network timeout, third-party service returns 500, file not found, authentication revoked mid-session. Testing it requires deliberately inducing those failure conditions: kill the database connection mid-transaction, return timeout from a mocked service, return an unexpected status code. Test: does the application display a useful, non-technical error message? Does it recover or degrade gracefully? Does it log the error with enough context for diagnosis? Does it avoid leaking implementation details in the error message?

Q073. What is mutation testing and what does it reveal that coverage metrics cannot?

Mutation testing automatically introduces small code changes (mutations) — flipping a < to <=, changing && to ||, removing a line — and checks whether the test suite detects them. A mutation that is not caught by any test (a surviving mutant) reveals an assertion gap: the test executed the mutated code but did not verify the behavior changed. Mutation score (mutations killed / total mutations) measures test suite effectiveness at detecting behavioral changes — which coverage metrics do not capture. A 90% mutation score is a meaningfully stronger signal than 90% branch coverage.

Q074. When do you use white-box techniques versus black-box techniques?

White-box techniques are most effective at the unit and component level, where the internal structure is accessible and important for coverage analysis. Black-box techniques are most effective at the system and acceptance level, where the tester validates observable behavior against specifications. Most real test design uses both: black-box techniques to derive behavior-based test conditions from requirements, and white-box techniques to confirm that the implementation paths covering those conditions are exercised. Neither technique alone is sufficient for comprehensive coverage.

Q075. How do you apply white-box thinking to API testing without source code access?

Even without source code, you can apply structural thinking by inferring the likely implementation from the API behavior. If a field accepts integers, the code likely has range checks — test the boundaries. If an endpoint returns different response shapes based on user role, there is likely a conditional branch per role — test every role. If a workflow has multiple steps, there are likely guard conditions preventing invalid transitions — test each guard. White-box thinking without code access uses reverse engineering and inference to find the structural patterns that matter.

Chapter 6 - Static Testing, Reviews, and Defect Prevention

Q076. What is static testing?

Static testing evaluates work products — requirements, user stories, designs, code, test cases, architecture documents, configuration files — without executing the software. It finds defects in artifacts before they become code, before they become expensive failures, and before they reach the customer. Static testing includes both informal review (casual feedback) and formal processes (walkthroughs, inspections). The key insight is that defects introduced in requirements cost far more to fix after development than defects caught in a requirements review.

Q077. What kinds of defects does static testing find that dynamic testing typically misses?

Static testing finds: ambiguous or contradictory requirements, missing requirements, incorrect business rules in specifications, inconsistencies between design and requirements, dead code and unreachable paths, security vulnerabilities (injection risks, hardcoded credentials, insecure defaults) in code reviews, incorrect logic in test cases before they are executed, documentation errors, and configuration issues. These are often impossible to find through execution because they represent the absence of correct behavior, not the presence of incorrect behavior.

Q078. What is a walkthrough and when do you use it?

A walkthrough is an informal review where the author leads participants through the work product, explaining the content and rationale. Participants raise questions, concerns, and potential defects. Walkthroughs are low-formality and good for knowledge sharing, early requirement alignment, and team education. They do not require extensive preparation or produce formal defect logs. Use walkthroughs for new features in early definition, new team member onboarding, and draft documents that need directional feedback.

Q079. What is an inspection and how does it differ from a walkthrough?

An inspection is a formal, structured review with defined roles (author, moderator, reviewers, scribe), preparation requirements (reviewers study the document before the meeting), defined entry and exit criteria, and a formal defect log. The moderator facilitates; participants do not deviate into fixing defects during the meeting — only finding them. Inspections are used for high-risk, high-value artifacts: safety-critical requirements, security-sensitive designs, and compliance documentation. The formality overhead is justified by the higher defect detection rate compared to informal reviews.

Q080. What is the role of a moderator in a formal review?

The moderator plans and leads the review meeting, keeps participants focused on defect identification rather than solution design, ensures preparation was done, manages time, records defects and their classification, tracks follow-up actions, and determines whether rework requires a re-review. A strong moderator prevents two common failure modes: reviews that become design discussions (too early) and reviews that approve documents with known defects because time ran out.

Q081. What is a requirements review and what should QA look for?

In a requirements review, QA should look for: testability (can an observable pass/fail criterion be defined?), completeness (are all scenarios, error paths, and edge cases specified?), consistency (do requirements contradict each other?), unambiguous wording (does the requirement have one interpretation?), traceability (does this requirement map to a business goal?), and feasibility (is this requirement technically achievable?). A QA engineer who participates in requirements reviews prevents defects at the cheapest possible stage.

Q082. What are common defects found in requirements?

Missing requirements (scenarios not covered), ambiguous requirements ("the system should be fast"), contradictory requirements (two requirements that cannot both be true), infeasible requirements (technically or legally impossible), untestable requirements (no observable criterion), undefined error behavior (what happens when X fails?), and missing non-functional requirements (no performance, security, or accessibility criteria stated). A QA engineer who cannot find at least one defect in a requirements review was not reading critically.

Q083. How do you review a test case written by another tester?

Check: does the precondition leave the system in a specific, achievable state? Are the steps numbered, specific, and minimal? Is the expected result observable and specific (not "works correctly")? Is test data specified, not implied ("valid email" should be "user@example.com")? Is the test case traceable to a requirement? Does it test what its title claims? Could a new team member execute this test and reach the same conclusion? Test case reviews catch ambiguities before execution, not during.

Q084. What is code review from a QA perspective?

QA participation in code reviews focuses on: does the code match the acceptance criteria and design specification? Are error conditions handled correctly? Are test hooks or testability gaps introduced (hardcoded values that make automated tests impossible)? Are security-sensitive areas handled carefully? Is new code accompanied by appropriate tests? QA engineers who participate in code reviews build context about how the system works and catch defects before they reach the test environment.

Q085. What is technical debt and how does it affect testing?

Technical debt is the accumulated cost of shortcuts, poor design decisions, and deferred refactoring in a codebase. It affects testing by: increasing defect rate in poorly structured areas, making test automation difficult (tightly coupled code is hard to unit test), creating environments where changes have unintended side effects (high regression risk), and increasing test maintenance burden when tests are coupled to implementation details. QA engineers should identify and communicate when technical debt is inflating test cost and defect risk.

Q086. How does static analysis tooling support QA?

Static analysis tools — linters (ESLint, Checkstyle, Pylint), security scanners (SonarQube, Snyk, CodeQL), complexity analyzers, and type checkers — automatically detect a class of defects without test execution. They run in CI on every commit and provide instant feedback. QA engineers should configure static analysis as a required pipeline gate, review the categories of issues being flagged, and work with developers to address high-severity findings before they accumulate into a category of known-but-ignored issues.

Q087. What is pair testing and when is it effective?

Pair testing puts two people — typically a QA engineer and a developer, or a QA engineer and a domain expert — testing a feature together. One drives (executes and observes), one navigates (observes, asks questions, and spots what the driver misses). Pair testing is effective for: knowledge transfer to new team members, investigating a complex or high-risk area where one perspective misses things, exploratory sessions on new features, and debugging a defect where the root cause is unclear. The overhead is the time of two people; the benefit is faster defect discovery and shared understanding.

Q088. What is peer review for test artifacts?

Peer review of test cases, test plans, and test data ensures that test coverage is complete, that test cases are executable and unambiguous, and that risks have not been overlooked. Like code review, test artifact review catches defects in the testing itself before execution reveals them — a test case with a wrong expected result wastes execution time and creates false results. Teams that only review code but not test artifacts are accepting lower-quality test coverage as a standard.

Q089. How do you give effective feedback in a review?

Effective review feedback is: specific (cite the exact line or section), objective (refer to the requirement, standard, or risk — not personal preference), constructive (suggest or ask rather than dictate), separated from solution design (flag the problem; agree on the fix separately), and classified (defect, suggestion, question). Reviews that devolve into design sessions, personal criticism, or approval without reading create the appearance of review without the substance. A good reviewer asks "what could go wrong if we ship this?"

Q090. What is the value of early static testing in an Agile context?

In Agile, stories are written and refined quickly. Early static testing — reviewing acceptance criteria before development starts, asking testability questions in refinement, flagging ambiguities in Three Amigos — prevents the most expensive category of defect: wrong requirements implemented correctly. A team that ships a feature that meets the specification but not the user need has done excellent development and failed at quality. Static testing is the earliest and cheapest quality gate in Agile.

Chapter 7 - Test Planning, Estimation, Risk, and Prioritization

Q091. What belongs in a test plan?

A test plan should contain: test objectives (what do we need to know and verify?), scope (what is in and out of testing scope, and why?), test approach (levels, types, techniques, and tools), risk assessment (product and project risks), test environment requirements, test data needs, entry and exit criteria, estimation and schedule, resource requirements, roles and responsibilities, defect management approach, metrics to be collected, and reporting cadence. The test plan should be a living document updated as the project evolves — not a one-time artifact written and ignored.

Q092. What are entry and exit criteria and how do you define them?

Entry criteria specify what must be true before a test activity can begin: build deployed to test environment, smoke test passed, test data available, test environment configuration verified, and requirements stable enough to test. Exit criteria specify what must be true before the activity is considered complete: planned test cases executed, defect thresholds met (no open Critical defects, High defects below N), coverage target achieved, and stakeholder sign-off received. Criteria make test closure objective rather than a matter of opinion.

Q093. How do you estimate test effort?

Common estimation approaches: analogy-based (compare to similar past work), three-point estimation (optimistic, most likely, pessimistic; use weighted average), work breakdown structure (decompose into identifiable tasks and estimate each), metrics-based (use historical velocity — N test cases per day — applied to the count of test conditions). For Agile, estimate relative complexity in story points and let historical velocity calibrate calendar time. Always add contingency for defect triage and retest cycles, which are often underestimated.

Q094. What is risk-based testing?

Risk-based testing prioritizes test coverage based on the likelihood and impact of potential defects. High-likelihood, high-impact areas receive the deepest testing; low-likelihood, low-impact areas receive lighter coverage or are deferred. To apply it: identify risks (brainstorming, defect history, domain knowledge), assess likelihood and impact, rank risks, and allocate test effort proportionally. Risk-based testing produces a defensible argument for coverage decisions and helps the team agree on what is acceptable to leave untested given constraints.

Q095. What is the difference between product risk and project risk in testing?

Product risk is the risk that the delivered product has defects or quality problems that affect users — for example, a payment calculation error, a security vulnerability, or an accessibility failure. Project risk is the risk that the project itself does not succeed — resource unavailability, requirement instability, environment delays, tool failures, or schedule pressure. Both affect test strategy: product risks drive test case design and prioritization; project risks drive test plan contingency and scope negotiation.

Q096. How do you communicate test risk to a non-technical product owner?

Translate risks into business language. Instead of "we have no branch coverage on the tax calculation module," say: "The checkout tax calculation has not been fully tested. If it is wrong, we will process orders with incorrect tax amounts, which creates compliance risk and customer refund obligations. I recommend two days of focused testing on that module before release." The product owner cannot act on coverage percentages but can act on business impact statements paired with a recommendation.

Q097. What is a risk matrix?

A risk matrix is a 2×2 or 3×3 grid plotting risks by likelihood (low/medium/high) and impact (low/medium/high). Risks in the high-likelihood, high-impact quadrant receive the most test investment. Risks in the low-likelihood, low-impact quadrant may be deferred or covered lightly. The matrix makes risk prioritization visual, communicable, and consistent across the team. It also documents what was consciously deferred — which protects the QA engineer when a deferred risk materializes as a production incident.

Q098. How do you negotiate scope when there is not enough time to test everything?

Present the risk matrix to stakeholders with specific statements: "If we skip testing the mobile payment flow, we accept the risk of a 15% user segment experiencing unknown defects. If we skip the accessibility checklist, we accept potential compliance risk." Give options: reduce scope of new features, extend the release date, reduce test depth on low-risk areas, or accept and document specific risks. The decision is a business decision made by the product owner with full information, not a unilateral QA decision to silently test less.

Q099. What are testing quadrants?

The testing quadrants model categorizes tests along two axes: business-facing vs. technology-facing, and supporting the team vs. critiquing the product. Quadrant 1: unit and component tests — technology-facing, support the team. Quadrant 2: functional tests, examples, story tests — business-facing, support the team. Quadrant 3: exploratory testing, usability, user acceptance — business-facing, critique the product. Quadrant 4: performance, load, security — technology-facing, critique the product. The model helps teams identify gaps: many teams do Q1 and Q2 but neglect Q3 exploratory and Q4 non-functional testing.

Q100. What are useful test metrics and which are vanity metrics?

Useful metrics: defect escape rate to production (measures detection effectiveness), defect detection rate by phase (shows where defects are found), test coverage by risk area (shows where effort was concentrated), flaky test rate (measures signal reliability), and mean time to detect (measures feedback loop speed). Vanity metrics: total test case count (more tests is not better quality), pass rate in isolation (100% pass rate on weak tests is meaningless), and defect count per sprint without context. Metrics should drive decisions — if a metric cannot change a decision, it is decorative.

Q101. How do you report test status to engineering leadership?

Report in terms of risk, not test case counts. "We have executed 250 of 300 planned test cases" tells leadership nothing about release readiness. "We have covered all high-risk scenarios. We have two open High defects in the payment service with workarounds available. Three medium-risk scenarios in the mobile flow are untested due to environment instability — this represents a risk we're accepting for this release." Leaders make business decisions; give them the information they need to make them, not QA execution statistics.

Q102. What is test monitoring and control?

Test monitoring tracks test execution progress, defect trends, coverage achieved, and schedule status against the test plan. Control is the response to monitoring — adjusting the plan when reality diverges from the plan. If execution is behind schedule, control options include: reprioritize (test highest-risk areas first), reduce scope (defer low-risk scenarios), add resources, or adjust the release date. Monitoring without control is observation theater — the value is in the response, not the tracking.

Q103. What is configuration management and why does it matter for testing?

Configuration management tracks and controls the versions of all test artifacts — test cases, test data, test environments, test tools, application builds, and test scripts. It ensures that when a test is executed, the tester knows exactly which build, which environment configuration, and which test data version were used. Without configuration management, a test result cannot be reliably interpreted — was the failure due to the code, the environment, or a stale test case? Configuration management makes test results reproducible and trustworthy.

Q104. What is a test summary report and what should it contain?

A test summary report is the closure artifact for a test cycle. It should contain: test objectives and whether they were met, scope covered and scope not covered (with reasons), test execution summary (passed, failed, blocked, skipped), defect summary (by severity, status), coverage metrics, risks accepted, recommendations for release or additional testing, and lessons learned for the next cycle. The test summary report is the QA team's professional judgment about release readiness — it should be written to inform a business decision.

Q105. What is test cycle closure and what activities does it include?

Test cycle closure includes: ensuring all test execution is complete or formally deferred, verifying all defects are resolved, closed, or accepted as known risks, archiving testware (test cases, data, reports, environment configurations) for future reference, updating automated regression suites based on findings, producing the test summary report, and conducting a retrospective on what worked and what should improve. Closure turns test execution into organisational knowledge rather than a one-time event that evaporates after release.

Chapter 8 - Defect Management, Root Cause Analysis, and Reporting

Q106. What is defect management?

Defect management is the process of recording, classifying, prioritising, tracking, and resolving defects found during testing. It provides the team with a shared, traceable record of quality issues. The outputs of defect management — defect reports, defect trends, escape rate data, root cause patterns — are inputs to test planning, process improvement, and release decisions. Defect management done well turns individual bugs into organisational quality data.

Q107. What are the elements of an effective defect report?

An effective defect report contains: a concise, specific title (not "login is broken" but "Login fails with 500 error for users with apostrophes in email"), unique ID, date and reporter, environment (OS, browser, app version, build number), severity and priority, steps to reproduce (numbered, minimal, specific), expected behavior, actual behavior, evidence (screenshot, video, log), and related defects or requirements. A defect report that cannot be reproduced by a developer who was not present when the defect was found is not yet complete.

Q108. What is the difference between severity and priority?

Severity describes the impact of the defect on the system — how broken is the behavior? Typical levels: Critical (system unusable, data loss, security breach), High (major feature broken, no workaround), Medium (partial feature broken, workaround available), Low (cosmetic or minor inconvenience). Priority describes the urgency of fixing — when should this be fixed? A cosmetic defect on the login page may be Low severity but High priority because it affects the first impression for all users. A data corruption defect in a rarely-used admin tool may be Critical severity but Medium priority if it affects one user per month.

Q109. What is the defect lifecycle?

The defect lifecycle tracks a defect from discovery through resolution: New (reported) → Assigned (developer assigned) → In Progress (being investigated or fixed) → Fixed (developer marks resolved) → Ready for Retest → Verified (QA confirms fix) → Closed (accepted resolution). Additional states: Rejected (not a defect, by design, or cannot reproduce), Deferred (valid but scheduled for a future release), Duplicate (same as existing defect). Each transition should require specific evidence: "Fixed" requires a code change; "Verified" requires QA confirmation; "Rejected" requires a documented reason.

Q110. How do you write a reproduction case that a developer can action?

A reproducible defect report uses specific values, not generalizations. Wrong: "Enter a long text and click submit." Right: "Enter 251 characters (above the 250-character limit) in the bio field and click Save." Include: the exact URL or screen, the exact user account state (admin, new user, user with two-factor enabled), all steps in sequence, and the environment details. If reproduction is intermittent, report the frequency and any correlation you observed (time of day, specific user, specific data value). Developers cannot fix what they cannot reproduce.

Q111. How do you triage a defect dispute with a developer?

Approach it as a shared quality problem, not a personal dispute. First, provide the reproducible defect report with evidence. If the developer believes the behavior is intentional, escalate to the product owner with the requirement or acceptance criterion as the reference — frame it as "this behavior does not match the stated acceptance criteria; a decision is needed." If the behavior is agreed to be a defect but disagreement exists about severity, present the user impact and business risk rather than asserting the classification. Document the resolution regardless of outcome.

Q112. What is a known defect?

A known defect is a defect that has been identified, documented, and consciously accepted by the team rather than fixed before release — typically because the risk is low, a workaround exists, or fix cost exceeds benefit. Known defects should be in the defect tracking system with status "Accepted" or "Deferred," documented with the business reason for acceptance, and reviewed periodically to determine if circumstances have changed. Shipping known defects without documentation is irresponsible; shipping them with documented acceptance and stakeholder sign-off is a managed business decision.

Q113. What is root cause analysis and when should it be applied to defects?

Root cause analysis (RCA) is the process of identifying the underlying systemic cause of a defect — not just what broke, but why it was introduced and why it was not caught earlier. Apply RCA to: production incidents, escaped defects, defect clusters (multiple defects from the same module), defects that violated a review process that should have caught them, and defects that recur in the same area repeatedly. RCA outputs should be process improvements: a new test, a new review checklist item, a new static analysis rule, or a team training need — not blame.

Q114. How do you use defect data to improve test strategy?

Analyse defect data along three dimensions: where (which features, modules, or components have the highest defect density), when (which phase was the defect introduced, which phase detected it), and what (which defect types recur — boundary errors, null handling, auth failures). High-defect-density areas need more test investment. Defects introduced in design but detected in system testing signal a gap in static testing or earlier review. Recurrent defect types signal a systematic gap in technique selection or developer practice. Use this analysis to update the test plan quarterly.

Q115. What defect metrics are most useful for QA and engineering leadership?

Defect escape rate (defects found in production vs. total defects found — measures how well the test process catches defects before release), defect injection rate by phase (shows where defects are introduced most), mean time to detect (MTTD — how quickly the test process surfaces defects after introduction), defect removal efficiency (percentage of defects removed before release), and open defect age (how long defects remain unresolved). These metrics, tracked over time, show whether the quality process is improving or degrading — which is the real answer to "how is QA doing?"

Q116. How do you document a defect that is difficult to reproduce?

Document: the exact conditions under which you observed the failure (user account, data state, environment, time, concurrent activity), the frequency of reproduction (3 of 5 attempts, 1 of 10), any correlation with specific configurations or data values, all evidence captured during the failing run (screenshot, video, log). Avoid the instinct to close or not file intermittent defects — they are often the most serious because they surface production issues that are hard to isolate. Flag as "Intermittent" and continue investigation rather than marking as Cannot Reproduce.

Q117. What is a defect cluster?

A defect cluster is a concentration of defects in a small area of the system — typically a single module, service, or developer's code. Defect clustering is one of the core testing principles: 80% of defects tend to come from 20% of the code. When you identify a cluster, increase test depth in that area and investigate whether the cluster indicates a systemic problem: complex logic, technical debt, misunderstood requirements, or inadequate unit tests. A defect cluster is a signal to investigate, not just to fix the reported defects.

Q118. How do you handle a defect that cannot be reproduced?

Document as much context as possible from the original report, including environment, data state, and evidence. Request the developer to investigate even without a reliable reproduction — sometimes code review of the suspected area reveals the defect without execution. Increase logging or monitoring in the suspect area if possible. Attempt reproduction in multiple environments and configurations. If the defect is still not reproducible after significant investigation, mark as "Cannot Reproduce" with full documentation — do not silently close it. Monitor for recurrence.

Q119. What is the purpose of a post-release defect review?

A post-release defect review (or escaped defect review) analyses defects found in production after release to answer: which defect, when was it introduced, what testing should have caught it, and why it did not. The output is a specific, actionable process change — not a general statement like "we should test more." Was it caught in production because no test covered that scenario? Add the test. Was it caught because a test was flaky and ignored? Fix the test. Was it caught because the environment was misconfigured? Improve environment validation. Close the loop between production incidents and test improvement.

Q120. How do you prevent defect re-injection?

When a defect is fixed, the fix itself may introduce new defects (regression) or incompletely resolve the original defect (re-injection). Prevention strategies: require the developer to add a regression test that proves the fix and prevents future regression; require QA to test not just the fixed behavior but adjacent behaviors that the fix may have affected; run the full regression suite on the fixed build before re-marking as resolved; and track re-opened defect rate as a quality metric. High re-open rates indicate either insufficient fix quality review or insufficient regression test coverage.

Chapter 9 - Non-Functional Testing: Performance, Security, Usability, and Accessibility

Q121. What is non-functional testing?

Non-functional testing evaluates system qualities beyond what the system does — how it behaves under various conditions. Key quality attributes include: performance (speed and throughput), reliability (availability and fault tolerance), security (resistance to attack and unauthorized access), usability (ease of use and learnability), accessibility (usability for people with disabilities), maintainability (ease of change), compatibility (behavior across environments), and scalability (behavior as load increases). Non-functional defects are often the most visible to users but are frequently under-tested.

Q122. What is the difference between performance testing, load testing, stress testing, and soak testing?

Performance testing measures system behavior under expected load — does it meet defined latency and throughput targets? Load testing applies expected peak production load to confirm stability and performance under realistic conditions. Stress testing pushes beyond capacity to identify the failure point and observe how the system fails — does it crash, degrade gracefully, or recover? Soak testing (endurance testing) runs the system under normal load for an extended period (hours or days) to detect memory leaks, connection pool exhaustion, and gradual degradation.

Q123. What are performance acceptance criteria and how do you define them?

Performance acceptance criteria should be defined before performance tests are designed — not derived from whatever the system happens to achieve. Example criteria: p50 response time < 200ms, p95 response time < 500ms, p99 response time < 1000ms at 500 concurrent users; error rate < 0.1% under peak load; throughput > 1000 requests per second for the search endpoint. Define criteria with stakeholders by asking: at what response time do users abandon the flow? What load is expected at peak season? What is the SLA? Criteria without business context produce tests that measure but do not validate.

Q124. What is security testing and what does it cover?

Security testing evaluates whether the system protects against unauthorized access, data exposure, and malicious input. Key areas: authentication (are identity checks correct and robust?), authorization (can users access only what they should?), input validation (does the application sanitize all inputs against injection?), data exposure (is sensitive data encrypted at rest and in transit?), session management (are tokens unique, expiring, and invalidated on logout?), and third-party dependencies (are known vulnerable libraries present?). Security testing in QA focuses on application-level controls; penetration testing by security specialists goes deeper.

Q125. What is OWASP and why does a QA engineer need to know it?

The OWASP (Open Web Application Security Project) Top 10 is a list of the most critical web application security risks: injection (SQL, command), broken authentication, sensitive data exposure, XML external entities, broken access control, security misconfiguration, cross-site scripting (XSS), insecure deserialization, using components with known vulnerabilities, and insufficient logging. A QA engineer should use the OWASP Top 10 as a security test checklist for every web application. Not performing security testing because "security is a separate team" is no longer an acceptable position for a senior QA.

Q126. How do you test for SQL injection?

SQL injection tests submit SQL syntax in user-controlled input fields to attempt to alter query logic. Test payloads for manual verification: ' OR '1'='1, '; DROP TABLE users; --, 1; SELECT * FROM users. For each test: observe whether the application returns an error (which may reveal database details), returns unexpected data, or processes the input correctly and returns an appropriate error. Also test: numeric fields, hidden form fields, URL parameters, and HTTP headers. Any unparameterized query is a potential injection vector.

Q127. How do you test for cross-site scripting (XSS)?

XSS tests inject script payloads into user-controlled inputs to verify the application does not execute them in the browser. Basic payload: <script>alert('XSS')</script>. Also test: <img src=x onerror=alert(1)>, javascript:alert(1) in URL fields, and encoded variants. Test locations: form fields, URL parameters, search queries, profile display fields, comment sections, and any output that renders user input. Confirm that the payload is sanitized in both the immediate response and any stored/displayed location (stored XSS risk). An alert box appearing in the browser is a clear fail.

Q128. How do you test authentication and session management?

Authentication tests: valid credentials → access granted; invalid password → 401, not 200 with empty body; expired token → 401; token for user A used by user B → 403; brute force → rate limiting enforced after N attempts; password reset token used twice → second use rejected; concurrent logins → policy enforced. Session tests: logout → session invalidated (old token returns 401); session timeout → expired session rejected; session token uniqueness (each login issues a new token); token not in URL (leaks in logs and referrer headers). Authorization tests: user A accessing user B's resources → 403.

Q129. What is usability testing and what does a QA engineer's role look like?

Usability testing evaluates how easily real users can complete tasks and achieve goals — not whether the system functions correctly. A QA engineer's contribution to usability includes: reviewing flows for unnecessary steps or confusing navigation, testing error messages for clarity (does the error tell users what to do next?), testing for consistency in terminology and UI patterns, checking for appropriate feedback (loading states, success confirmation), and participating in usability sessions by observing and noting friction points. Usability defects are often Low severity but High priority — they affect every user on every interaction.

Q130. What is accessibility testing and why is it a QA concern?

Accessibility testing ensures that users with disabilities — visual, motor, auditory, cognitive — can use the product effectively. Legal frameworks including WCAG (Web Content Accessibility Guidelines), ADA (US), and EAA (EU) require compliance, creating legal risk if ignored. Manual accessibility checks include: keyboard-only navigation (can every feature be used without a mouse?), screen reader compatibility (do all images have meaningful alt text? are forms labelled?), colour contrast ratios (WCAG requires 4.5:1 for normal text), focus management in modals, and error identification for form submissions. Automated tools like Axe catch 30–40% of issues; human review is required for the rest.

Q131. How do you test keyboard navigation?

Tab through every interactive element: buttons, links, form fields, modals, dropdowns, and navigation menus. Verify: every element receives focus in a logical order, focus is visible (not invisible or obscured), every action performable with a mouse is performable with keyboard (Enter or Space to activate buttons, Escape to close modals), focus is not trapped (users can navigate out of every component), and focus returns to a logical position after modal close. A common failure: modal opens, focus is not moved into the modal, screen reader users do not know the modal appeared.

Q132. What is compatibility testing?

Compatibility testing verifies that the system works correctly across different environments: browsers (Chrome, Firefox, Safari, Edge), operating systems (Windows, macOS, Linux, iOS, Android), screen resolutions, device types (desktop, tablet, mobile), network conditions (fast wifi, slow 3G), and software versions (browser versions, OS versions). Compatibility defects are often low severity but widely visible — a layout that breaks on Safari affects a significant percentage of users on Apple devices. Prioritize the browser/OS combinations your user analytics show are most common.

Q133. How do you test for responsive design?

Test at standard breakpoints: desktop (1280px+), tablet (768–1024px), and mobile (320–375px). For each breakpoint: verify layout does not overflow or clip, text remains readable without horizontal scrolling, interactive targets (buttons, links) meet minimum touch target size (44×44px recommended), images scale without distortion, navigation adapts correctly (hamburger menu on mobile), and tables either scroll or reformat for narrow screens. Test at intermediate breakpoints too, not just the defined targets — layout breaks often occur between breakpoints.

Q134. How do you measure and report on non-functional test results?

Non-functional results require quantitative thresholds, not pass/fail binary verdicts. Performance: report P50, P95, P99 latency, throughput, and error rate at defined load levels — compare against acceptance criteria and baseline. Security: report vulnerabilities by CVSS severity and OWASP category — list open items with recommended mitigations. Accessibility: report violations by WCAG success criterion and severity — include the number of affected elements and user flow impact. Non-functional test results must answer "is this acceptable for release?" not just "here are the numbers."

Q135. How do you advocate for non-functional testing investment in a team that prioritises feature delivery?

Connect non-functional defects to business outcomes the team already cares about. Performance: "a 100ms increase in checkout page load time correlates with a 1% drop in conversion — at our traffic level, that is X revenue per month." Security: "the average cost of a data breach is 4.45M USD; this XSS vulnerability would allow session hijacking of any logged-in user." Accessibility: "WCAG compliance is a legal requirement; non-compliance creates litigation and remediation risk." Frame the conversation around what the team loses by skipping non-functional testing, not what QA wants for completeness.

Chapter 10 - Senior Manual QA Interview Scenarios and Test Strategy Design

Q136. How would you design a test strategy for a product being built from scratch?

Start with risk analysis: what would hurt most if broken? Payment and authentication carry the highest business and security risk — they receive the deepest testing. Map the test levels appropriate to the architecture: unit tests for business logic, integration tests for service contracts, E2E tests for critical user journeys. Define quality gates early: no story is done without tests, no sprint ships with open Critical defects. Establish defect triage cadence. Define what non-functional testing is required before release — performance baselines, security scan, accessibility audit. Review the strategy quarterly as the product evolves.

Q137. How would you handle a scenario where the product owner wants to ship with known High defects?

Present the risk clearly and documentably: what the defect is, who it affects, what the probability of user impact is, and what the business consequence of that impact would be. Give options: fix and delay by N days, ship with a feature flag that disables the affected path, ship with a known workaround and customer communication plan, or accept the risk with full stakeholder sign-off and a tracked remediation ticket. Never make the release decision unilaterally — your role is to provide complete, accurate risk information. Require the acceptance to be documented. Escalate if you believe the risk is being understated.

Q138. How would you test a feature with no requirements?

This is a real scenario in Agile teams — a feature built from a verbal conversation or a design mockup with no written acceptance criteria. Your first action is to write the acceptance criteria yourself based on what you can observe, derive from business context, and confirm with the developer and product owner. Then test against them. Also conduct exploratory testing to discover behavior that falls outside the scope of what you could specify. Document what you tested and what you assumed — flag the assumptions as acceptance criteria gaps that need product owner confirmation.

Q139. How would you improve test coverage on a legacy system with no test documentation?

Start with risk-based discovery: which modules have the highest defect history? Which are touched most frequently by changes? Talk to developers and support teams to identify known fragile areas. Then apply three layers: automated regression on the critical user paths (even simple happy-path E2E tests provide immediate value), exploratory sessions on high-risk modules using available documentation and domain knowledge, and static review of any available specifications. Create tests as you go, targeting the highest-risk areas first. Avoid the trap of trying to document everything before testing anything.

Q140. How would you deal with a flaky automated regression suite that the team has stopped trusting?

First, triage the flake: categorize failures as test code defects (timing issues, shared state), infrastructure instability (environment flakiness), or actual product defects that are intermittent. Fix the confirmed infrastructure and test code flakes immediately — they are the most damaging to team trust. Quarantine confirmed flaky tests from the blocking suite until fixed. Run a flake detection pass: execute the suite 10 times against a stable build and identify tests that do not produce consistent results. Communicate the improvement plan to the team. A trusted suite with 80 tests is more valuable than a mistrusted suite with 800.

Q141. How would you set up QA processes for a team that currently has none?

Phase 1 (week 1–2): introduce a definition of done that includes basic test criteria, and start writing defect reports with full reproduction steps. This alone improves velocity by reducing developer context-switch time on "not a bug" debates. Phase 2 (month 1): introduce acceptance criteria as a required artifact before development starts. Phase 3 (month 2): implement a basic regression suite for the top three critical user paths. Phase 4 (month 3): introduce exploratory testing sessions for each sprint's new features. Build iteratively — trying to implement everything at once creates resistance and abandonment.

Q142. How would you create a test plan for a major release in a two-week window?

Day 1–2: risk analysis — identify the highest-risk areas changed in this release and the highest-risk existing areas that could regress. Day 3: define entry/exit criteria, assign test areas to team members, confirm environment availability. Day 4–8: execute risk-prioritized test cases, starting with Critical and High risk scenarios. Day 9: regression sweep on top 20 most important user paths. Day 10: exploratory session focused on the integration points between new and existing features. Day 11: performance and security spot-checks. Day 12: defect retest and confirmation. Day 13: final review, defect triage, go/no-go decision support. Day 14: release readiness report.

Q143. How would you respond when a developer says "QA should have caught this" after a production incident?

Use it constructively rather than defensively. Ask: which test coverage gap allowed this to escape? Was there a test case that should have caught it but did not? Was there a risk that was not tested due to time constraint? Investigate without blame. If a test gap exists, add it. If a test existed but was flaky, fix it. If it was a conscious risk acceptance, review the risk acceptance process. If the incident reveals a systemic testing gap — a whole category of scenarios not tested — update the test strategy. Then address the culture: a post-incident response that focuses on individual fault rather than systemic improvement will not improve quality.

Q144. How do you test an AI or machine learning feature?

ML features require a different approach because there is no single correct answer — the oracle problem is central. Define acceptance criteria in terms of acceptable performance metrics (accuracy, precision, recall, F1 score) on a representative test dataset. Test for: performance on known categories (expected behavior), performance on edge cases and rare inputs, degradation detection (is the model performing worse than baseline?), bias detection (does the model behave equitably across demographic groups?), explainability (for regulated domains, can outputs be explained?), and fallback behavior (when confidence is low, does the system degrade gracefully or assert incorrectly?). ML testing requires collaboration between QA, data scientists, and domain experts.

Q145. How would you design a test strategy for an API product?

Cover four layers: contract testing (does the API schema match the published specification?), functional testing (does each endpoint return the correct response for valid and invalid inputs?), integration testing (does the API interact correctly with its dependencies under realistic conditions?), and non-functional testing (performance under load, security — authentication, authorization, injection protection, rate limiting, sensitive data handling). Define backward compatibility as a test objective — breaking API changes affect consumers. Automate contract and functional tests; run integration and non-functional tests on deployment to staging.

Q146. How do you measure and demonstrate the value of your QA work?

Track and report: defect escape rate to production (the primary QA outcome metric), defect detection phase (found in development vs. staging vs. production — earlier is better), test coverage of high-risk areas (not just lines — risk coverage), release cycle time reduction (if QA is improving, releases should become more confident and faster), and production incident rate trend. Connect each metric to a business outcome: lower escape rate = fewer production incidents = fewer customer complaints = lower support cost. QA value is not in test case counts — it is in the quality of the shipped product.

Q147. What is the most important question to ask at the start of any testing engagement?

"What would hurt most if we shipped it broken?" This question forces a risk conversation that all subsequent test strategy decisions flow from. It surfaces: which features carry the most business risk, which user populations are most affected by failures, which regulatory or compliance obligations constrain quality, and where the test investment should be concentrated. A QA engineer who starts with "what should I test?" without this context writes tests that cover what is easy to test, not what most needs testing.

Q148. How would you explain the testing process to a developer who thinks QA slows down delivery?

QA does not slow delivery — undetected defects slow delivery. A defect found in a 30-minute test session costs 1 developer-hour to fix. The same defect found in production costs 5–20 developer-hours to diagnose, fix, deploy, verify, and communicate about, plus customer trust. The cost model is the argument. Then offer collaboration rather than inspection: involve QA in story refinement, pair on exploratory testing, and build automated regression together — shift QA from a handoff-and-gate model to a throughout-the-cycle model. Development and QA have the same goal: ship working software confidently.

Q149. What is your senior-level answer to "how do you decide when a product is ready to release?"

A product is ready to release when the team has sufficient evidence that the known risks are understood and either mitigated or consciously accepted. This means: all Critical and High defects are resolved or have documented acceptance; planned test coverage for high-risk areas is complete; regression suite is passing; environment parity is confirmed; non-functional requirements are met or deviations documented; known defects are communicated to the release stakeholders; and the team can articulate what is and is not tested, not just that testing is "done." Release readiness is a risk judgement, not a completion checklist.

Q150. What is the best final interview summary for manual QA expertise?

A strong manual QA engineer is not a test executor. They are a quality risk analyst whose primary contribution is accurate, timely information about what works, what does not, and what is unknown. They choose test techniques based on the shape of the problem. They write defect reports that developers can action immediately. They communicate risk in business language that enables decisions. They participate in requirements reviews, story refinement, and Three Amigos because defect prevention is cheaper than defect detection. They use automation for repeatability and human judgment for discovery. And they treat every production incident not as a failure of their team's effort but as a signal about which improvement to the quality process will prevent the next one.

Use It

Use this lesson as a mock interview loop:

↳ Pick one chapter per session.↳ Answer each question out loud in 60–120 seconds.↳ For each answer, include one practical tradeoff and one example from your own work.↳ Rewrite weak answers using this pattern: context, constraint, design choice, tradeoff, validation.↳ Practice the senior scenario answers until you can explain them without memorizing.↳ Convert the best answers into STAR stories using real project experience.

Example practice loop:

  1. Read the question.
  2. Answer without looking.
  3. Compare with the guide.
  4. Add one specific example from your own testing work.
  5. Add one thing that went wrong and what you learned.
  6. Repeat until the answer sounds like experience, not a textbook.

Ship It

Create these practical artifacts before interviews:

↳ Risk-based test strategy template↳ One-page test plan for a sprint or release↳ Defect report template with all required fields↳ Test case template with preconditions, steps, expected result, and evidence↳ Test technique selection cheat sheet (EP, BVA, decision table, state transition)↳ Risk matrix template (2×2 likelihood × impact)↳ Test metrics dashboard outline↳ Exploratory testing session template with charter, notes, and findings↳ Release readiness checklist↳ Static review checklist for requirements and acceptance criteria

Five STAR Stories to Prepare

1. Catching a critical defect in requirements review

Situation: A payment flow requirement specified "amount must be positive" but did not define behavior for zero-value transactions. Task: Identify and resolve the ambiguity before development. Action: Raised the gap in the Three Amigos session. Product owner clarified that zero-value orders should be blocked. Updated acceptance criteria before coding started. Result: Defect caught at requirements stage. Zero rework in development, zero defects in testing.

2. Communicating test risk to a non-technical stakeholder

Situation: Insufficient time to complete the full test plan before a committed release date. Task: Make the risk visible without blocking the release. Action: Produced a risk matrix with two untested areas — mobile payment flow and offline sync — translated into business impact language. Presented options: three-day delay, ship with feature flag, or accept with documented risk. Result: Stakeholder accepted documented risk for offline sync and delayed three days for mobile payment. Production incident rate unchanged.

3. Applying boundary value analysis to find a production-class defect

Situation: A pricing calculation accepted quantity inputs. Task: Test the boundary conditions of the quantity field. Action: Applied BVA: tested quantity 0, 1, 99, 100, 101. Found that quantity 0 produced a 500 error (division by zero in discount calculation) rather than a validation error. Result: Critical defect caught before release. Fix added zero-value validation gate.

4. Turning a production incident into a test improvement

Situation: A production incident revealed that the session timeout was not enforced — users remained authenticated after the configured 30-minute idle window. Task: Investigate the test coverage gap and close it. Action: RCA: the timeout was implemented but the clock reset on every API call, including a background health-check ping. No test covered idle timeout specifically. Added test cases: idle 29 minutes (no action), idle 31 minutes (next action), idle with background requests only. Result: Timeout defect class added to test suite. Confirmed fix in staging before next release.

5. Improving team trust in a deteriorating test suite

Situation: The regression suite had a 20% flaky rate. Team members were ignoring failures and shipping without reviewing CI. Task: Restore trust in the automated regression signal. Action: Audited 40 failing tests, classified failures as: test code defects (timing), environment instability (shared test data), and actual defects. Fixed 25 test code defects. Quarantined 10 environment-dependent tests. Surfaced 5 real product defects. Result: False failure rate dropped to under 2%. Team restarted reviewing CI before merge.

Exercises

Easy Exercises

  1. Write five equivalence partitions for a date-of-birth field that accepts users aged 18–120.
  2. Apply BVA to a password field with a minimum of 8 and maximum of 64 characters.
  3. Write a defect report for the following defect: clicking "Delete account" logs the user out but does not delete the account.
  4. Create a decision table for a discount system that applies 10% for orders over $100, 20% for loyalty members, and 5% for first-time customers (combinations can stack).
  5. Draw a state transition diagram for a subscription with states: Free Trial, Active, Suspended, Cancelled.

Medium Exercises

  1. Write 10 test cases for a registration form with email, password (min 8, max 64 chars), and optional phone number.
  2. Create a test plan outline for testing a checkout flow in a two-week sprint, including risk analysis and entry/exit criteria.
  3. Write a security test checklist for a login endpoint covering authentication, session management, and injection risk.
  4. Conduct a 30-minute exploratory testing session on a calculator application and produce session notes with charter, tests run, and findings.
  5. Write acceptance criteria for a user story: "As a returning customer, I want to view my past orders so that I can reorder easily."

Hard Exercises

  1. Design a complete test strategy document for a patient-facing healthcare application that includes functional, security, performance, accessibility, and mobile coverage.
  2. Analyse a defect history report (assume 30 defects across 6 modules) and produce a test investment recommendation based on defect density.
  3. Create a risk matrix for a major e-commerce platform release including payment, search, authentication, inventory, and third-party integrations.
  4. Design and present a 10-minute "state of quality" briefing for engineering leadership covering escape rate, coverage, and three recommended improvements.
  5. Write a detailed test strategy for testing an AI recommendation engine, covering oracle problem, metrics-based acceptance criteria, bias testing, and regression strategy.

Key Terms

TermInterview meaning
TestingEvaluating a system to provide quality information and detect defects.
VerificationConfirming a product meets its specification.
ValidationConfirming a product meets user needs.
DefectA problem in a work product or code.
FailureObservable incorrect behavior at runtime.
ErrorA human mistake that causes a defect.
Root causeThe underlying systemic reason a defect was introduced or not caught.
Test basisThe source of information from which test cases are derived.
Test conditionA testable aspect of the system derived from the test basis.
Test oracleThe source of expected results for a test.
Black-box testingDeriving test cases from external behavior without knowledge of internal structure.
White-box testingDeriving test cases from internal code structure.
Equivalence partitioningGrouping inputs into classes expected to behave identically.
Boundary value analysisTesting values at the edges of equivalence partitions.
Decision table testingCovering combinations of conditions and expected outcomes.
State transition testingTesting behavior that depends on states and transitions.
Exploratory testingSimultaneous test design and execution driven by observation.
Error guessingUsing experience and defect history to design additional test cases.
Static testingEvaluating work products without executing the software.
SeverityThe impact of a defect on system behavior.
PriorityThe urgency of fixing a defect.
Risk-based testingPrioritizing test effort based on likelihood and impact of potential defects.
Test pyramidA model for balancing unit, integration, and E2E test coverage.
Defect escape ratePercentage of defects not found before reaching production.
MTTDMean time to detect — time between defect introduction and detection.
Shift-leftMoving quality activities earlier in the development lifecycle.
Regression testingRe-validating existing functionality after changes.
Smoke testingA broad, shallow test pass to verify a build is stable enough to test.
Exploratory testing charterA defined mission, scope, and time-box for an exploratory session.
WCAGWeb Content Accessibility Guidelines — the accessibility compliance standard.
OWASP Top 10The ten most critical web application security risks.
Definition of DoneA team agreement on criteria a story must meet before it is complete.

Further Reading

↳ ISTQB Certified Tester Foundation Level Syllabus v4.0.1↳ Lessons Learned in Software Testing — Cem Kaner, James Bach, Bret Pettichord↳ Explore It! — Elisabeth Hendrickson↳ How Google Tests Software — James Whittaker, Jason Arbon, Jeff Carollo↳ Agile Testing — Lisa Crispin, Janet Gregory↳ The Art of Software Testing — Glenford Myers↳ OWASP Testing Guide↳ WCAG 2.2 Quick Reference↳ Software Testing: A Craftsman's Approach — Paul Jorgensen

Source Notes

↳ This lesson is designed as a comprehensive Manual QA and Testing Foundations interview-preparation guide for QA Engineers, SDETs, Test Leads, and anyone entering or advancing in software quality roles.↳ The answers reflect modern QA practice across Agile, DevOps, and traditional delivery contexts, and draw on principles from ISTQB, context-driven testing, and industry practice.↳ Candidates should validate specific regulatory, compliance, and tool details against current official documentation relevant to their domain and jurisdiction before interviews or production application.