QA and Testing Interview Questions (2026)

The 45 QA and testing questions interviewers actually ask, with direct answers, a manual-vs-automation breakdown, and what the interviewer is listening for. Grouped by test design, test types, automation, and process.

45 questions with answers

What Does a QA and Testing Interview Cover?

Key Takeaways

  • A QA interview checks whether you can find defects on purpose: design test cases, pick what to test, and report bugs clearly enough to get them fixed.
  • Expect vocabulary from the ISTQB glossary: severity vs priority, test levels, regression, smoke, and the bug life cycle. the key signal is precise use of these terms.
  • Most rounds mix manual QA judgment (test design, exploratory testing, bug reports) with automation basics (Selenium, API testing, when to automate).
  • This page is a question bank: work through each group, say answers out loud, and have one real bug you caught ready to walk through.

A QA and testing interview checks whether you can break software methodically and report what breaks in a way developers can act on. Interviewers screen for three things: test design (turning a requirement into cases that cover the risky paths), judgment about what to test first when time is short, and communication, because a bug nobody can reproduce doesn't get fixed. The shared vocabulary comes from the ISTQB glossary, the standard reference maintained by the International Software Testing Qualifications Board, so terms like severity, priority, regression testing, and the defect life cycle carry specific meanings the question expects you to use correctly. Rounds usually blend manual QA questions (test cases, exploratory testing, bug reporting) with automation basics (Selenium, API testing, when automation pays off). This page collects the 45 questions that come up most, each with a direct answer and a note on what's really being evaluated. Increasingly the first QA screen runs as a recorded AI video interview, so clear, structured answers matter more than ever.

45Questions with answers on this page
4Question groups: design, test types, automation, process
ISTQBThe vocabulary most QA interviews use
45-60 minTypical length of a QA technical round

Watch: Selenium Course for Beginners - Web Scraping Bots, Browser Automation, Testing (Tutorial)

Video: Selenium Course for Beginners - Web Scraping Bots, Browser Automation, Testing (Tutorial) (freeCodeCamp.org, YouTube)

Test yourself and earn a certificate

10 quick questions. Score 70%+ to download your QA and Testing certificate.

Jump to quiz

All Questions on This Page

45 questions

QA Fundamentals and Test Case Design

Fundamentals13 questions

The core concepts every QA round checks first. Get the vocabulary exact here; wrong term choice is what makes an answer sound junior.

Q1. What's the difference between QA, QC, and testing?

Quality assurance (QA) is about the process: preventing defects by improving how software gets built. Quality control (QC) is about the product: checking finished work against requirements. Testing is a QC activity, the act of running the software to find defects.

So QA is preventive and process-focused, QC and testing are detective and product-focused. In practice job titles blur these, but interviewers like to hear you know QA is broader than clicking through screens.

Key point: Interviewers open with this to check whether you see QA as prevention or just bug-hunting. 'prevent vs detect' matters.

Q2. What's the difference between a test case and a test scenario?

A test scenario is a high-level thing to verify: "a user can reset their password." A test case is the detailed, step-by-step check under that scenario, with data and an expected result: the exact steps, inputs, and the outcome you'd call pass or fail.

One scenario usually spawns several test cases (valid email, unregistered email, expired reset link). Scenarios keep you from missing an area; test cases make the check repeatable by anyone.

Key point: The follow-up is often 'write a few test cases for this feature.' Being able to go scenario then cases shows you organize testing top-down, not randomly.

Q3. What makes a good test case?

A good test case is clear, independent, and repeatable. It states preconditions and test data, gives unambiguous steps, and names one expected result so any tester runs it the same way and reaches the same verdict. It targets a specific risk rather than restating the requirement.

Weak test cases are vague ("check login works"), depend on the order you run them in, or bundle five checks into one so you can't tell what failed.

  • Clear title that says what's being verified.
  • Preconditions and test data spelled out.
  • Numbered steps a stranger could follow.
  • One expected result, so pass or fail is obvious.

Key point: the key signal is 'one expected result per case' and 'independent of other cases.' Those two habits separate testers who've maintained a suite from those who haven't.

Q4. What's the difference between positive and negative testing?

Positive testing checks that valid input produces the expected result: the happy path. Negative testing feeds invalid, unexpected, or malicious input and checks the system handles it gracefully instead of crashing or corrupting data.

Good coverage needs both. A login form that accepts the right password (positive) but also crashes on a blank field or a 10,000-character username (negative) isn't done.

  • Positive: valid username plus valid password logs in.
  • Negative: blank password shows a clear error, not a crash.
  • Negative: special characters or SQL in a field are rejected safely.
  • Negative: over-long input is truncated or blocked with a message.

Key point: Candidates who only design happy-path cases get filtered fast. Volunteering two or three negative cases in practice is a strong signal.

Q5. What is boundary value analysis?

Boundary value analysis is a technique that tests the edges of an input range, because defects cluster at boundaries. For a field accepting 1 to 100, you test 0, 1, 2 at the low end and 99, 100, 101 at the high end, rather than random middle values.

It pairs with equivalence partitioning: split inputs into groups that should behave the same, then test one value per group plus every boundary. Together they cut a huge input space to a handful of high-value cases.

text
Field accepts age 1 to 100.
Equivalence partitions: <1 (invalid), 1-100 (valid), >100 (invalid)
Boundary values to test: 0, 1, 100, 101
Plus one normal value from the valid partition: 50

Key point: Ask them to name a field and walk the boundaries out loud. This is the technique that most cleanly shows you can reduce infinite inputs to a smart, small set.

Q6. What is equivalence partitioning?

Equivalence partitioning divides input data into groups (partitions) where every value should be handled the same way, then tests one representative value per group instead of all of them. If age 25 works, you assume 26 through 99 in the same valid partition behave the same.

It's how testers get meaningful coverage without testing every possible input. Combine it with boundary value analysis, which then checks the edges between partitions where the assumption breaks.

Key point: Interviewers pair this with boundary value analysis on purpose. Knowing they work together, partitions for the middle, boundaries for the edges, is the complete answer.

Q7. What's the difference between black-box, white-box, and gray-box testing?

Black-box testing works from requirements and behavior with no view of the code: you test inputs and outputs. White-box testing uses knowledge of the internal code and structure to test paths, branches, and logic. Gray-box testing sits between: partial knowledge of internals (like the database schema or an API contract) used to design smarter black-box tests.

Most functional QA is black-box; developers and SDETs do more white-box work like unit and code-path testing. Gray-box is common when you can see the API but test it as a user.

TypeKnowledge of codeTypical use
Black-boxNone; requirements onlyFunctional, system, acceptance testing
White-boxFull; code structureUnit testing, code coverage, path testing
Gray-boxPartial; schema or APIIntegration, security, API testing

Key point: the question needs the three cleanly distinguished by 'how much code do you see.' Placing your own role on that spectrum indicates self-aware.

Q8. What's the difference between verification and validation?

Verification asks "are we building the product right?": reviews, walkthroughs, and static checks that the work matches its spec. Validation asks "are we building the right product?": running the software to confirm it meets the user's actual need.

A quick memory hook: verification is static and happens against documents, validation is dynamic and happens against a running system. You can pass verification (matches the spec) and still fail validation (the spec was wrong).

Key point: The 'right product vs product right' phrasing is what interviewers hope to hear. Saying verification is static and validation is dynamic seals it.

Q9. What's the difference between static and dynamic testing?

Static testing examines artifacts without running the code: requirement reviews, code reviews, walkthroughs, and static analysis tools. Dynamic testing runs the software with inputs and checks the outputs. Static testing catches defects early and cheaply; dynamic testing catches what only shows up at runtime.

They complement each other. A requirement review (static) can kill an ambiguity before a single test case exists, which is far cheaper than finding it after the feature ships.

Key point: static testing finds defects earlier, and earlier defects are cheaper to fix,.

Q10. What is a requirements traceability matrix and why does it matter?

A requirements traceability matrix (RTM) maps each requirement to the test cases that verify it. It's a table linking requirement IDs to test case IDs, so you can prove every requirement has coverage and spot any requirement with no tests.

It matters because it answers the two questions auditors and managers ask: is everything tested, and if a requirement changes, which tests do I need to update? Without it, coverage gaps hide until production.

Key point: This is a maturity signal. Mentioning you'd use an RTM to catch untested requirements marks you as someone who's worked in a process-driven QA team.

Q11. How do you decide when testing is 'done'?

Testing is never exhaustively complete, so you stop against exit criteria agreed up front: all planned test cases run, a target pass rate met, no open critical or high-severity defects, coverage of key requirements confirmed, and the deadline or budget reached. The decision balances risk against time.

The honest coverage names risk-based judgment: you test the highest-risk areas hardest and ship when the remaining risk is acceptable to the business, not when zero bugs exist, because that state doesn't arrive.

  • Planned test cases executed and results recorded.
  • No open critical or high-severity defects.
  • Exit criteria in the test plan are met.
  • Remaining risk is documented and accepted by stakeholders.

Key point: Saying 'testing proves the presence of defects, never their absence' quotes a core testing principle and shows you understand you're managing risk, not chasing zero bugs.

Q12. Can you name a few core testing principles?

The ISTQB names seven. The ones interviewers probe: testing shows the presence of defects but can't prove their absence; exhaustive testing is impossible, so you prioritize by risk; defects cluster (a few modules hold most bugs, the Pareto pattern); and the pesticide paradox, where repeating the same tests stops finding new bugs, so you keep revising them.

Two more worth knowing: test early (defects are cheaper to fix the earlier you find them) and testing is context-dependent (a banking app and a game demand different rigor).

Key point: You don't need all seven verbatim. Naming three or four with a one-line meaning each shows you learned the discipline, not just the tasks.

Q13. You're handed a brand-new feature to test. Walk me through your approach.

Start by understanding, not clicking. Read the requirement or user story, list the scenarios it implies, and clarify anything ambiguous with the product owner before writing a single case. Then design test cases covering positive, negative, and boundary paths, prioritized by risk, so the critical flows get the most cases.

From there: set up the environment and data, run the cases while staying alert for anything unexpected (that's where exploratory testing earns its place), log defects with clear reproduction steps, retest fixes, and confirm nothing else broke. The order matters because rushing to click before you've mapped the scenarios is how coverage gaps happen.

Testing a new feature end to end

1Understand and clarify
read the requirement, list scenarios, resolve ambiguity with the owner
2Design test cases
positive, negative, and boundary, prioritized by risk
3Execute and explore
run cases, plus exploratory testing for the unexpected
4Report and retest
log defects with steps, retest fixes, regression-check around them

Key point: the key signal is 'understand before you test.' Candidates who jump straight to executing cases reveal they skip the design thinking that catches the hard bugs.

Back to question list

Test Types, Levels, and When to Use Them

Test Types11 questions

The kinds of testing and where they sit in the SDLC. Interviewers check you can pick the right type for a situation, not just define it.

Q14. What's the difference between smoke testing and sanity testing?

Smoke testing is a shallow, wide check that a new build's critical paths work at all, run before deeper testing to decide if the build is even worth testing. Sanity testing is a narrow, deeper check on a specific area after a small change or bug fix, to confirm that piece works before moving on.

Memory hook: smoke is wide and shallow (does the whole build hold together?), sanity is narrow and focused (did this one fix actually work?). Both are quick gates, not full test passes.

Smoke testingSanity testing
ScopeWide, shallow across the buildNarrow, deep on one area
WhenOn every new buildAfter a bug fix or small change
Question it answersIs this build stable enough to test?Did this specific fix work?

Key point: These get confused constantly, so getting them right stands out. 'Smoke wide, sanity narrow' is the phrasing that indicates confident.

Q15. What is regression testing and when do you run it?

Regression testing re-runs existing tests after a code change to confirm that new work didn't break something that used to work. You run it after bug fixes, new features, config changes, and before every release, because a change in one module can ripple into others.

The scaling problem is real: the suite grows every release. Teams solve it by prioritizing high-risk areas, and by automating the stable regression cases so they run on every build without a human clicking through them.

Key point: The strong answer connects regression to automation: it's the exact kind of repetitive, stable testing that justifies building a suite. That link is what the key signal is.

Q16. What's the difference between retesting and regression testing?

Retesting (confirmation testing) re-runs the exact failed test on a specific defect after it's marked fixed, to confirm the fix works. Regression testing runs a broader set of tests to make sure the fix, or any change, didn't break something elsewhere.

So retesting is narrow and targeted at one defect with known steps; regression is wide and guards against side effects. You retest the bug, then regression-test around it.

Key point: Candidates mix these up as often as smoke and sanity. 'Retest the bug, regression-test the surroundings' is the clean distinction.

Q17. What are the levels of testing?

Four levels, from small to large. Unit testing checks individual functions or components, usually by developers. Integration testing checks that components work together and data passes correctly between them. System testing checks the whole application end to end against requirements. Acceptance testing checks the system meets the user's or business's needs, often by the client (UAT).

Each level catches different defects: unit finds logic bugs, integration finds interface bugs, system finds end-to-end flow bugs, acceptance finds fit-for-purpose gaps.

  • Unit: one function or component, usually developer-owned.
  • Integration: how components talk to each other.
  • System: the full application against requirements.
  • Acceptance (UAT): does it meet the business need?

Key point: the question needs the four levels in order and who owns each. Adding 'what kind of bug each catches' turns a definition into understanding.

Q18. How does testing fit into the SDLC? What is the STLC?

The software development life cycle (SDLC) covers the whole build: requirements, design, development, testing, deployment, maintenance. The software testing life cycle (STLC) is the testing slice: requirement analysis, test planning, test case design, environment setup, test execution, and test closure.

The modern point is that testing isn't one phase at the end. Reviewing requirements (static testing) starts before code exists, and shift-left testing pushes QA earlier so defects are caught when they're cheap to fix.

Key point: Saying testing 'shifts left' and starts at requirements, not after coding, signals you understand modern QA rather than a waterfall stage-gate view.

Q19. What's the difference between functional and non-functional testing?

Functional testing checks what the system does: does the feature behave per the requirement (login, checkout, search). Non-functional testing checks how well it does it: performance, load, security, usability, compatibility, reliability.

A checkout that computes the right total passes functional testing but can still fail non-functional testing if it takes 30 seconds under load or leaks card data. Both matter; the non-functional gaps are the ones that make headlines.

  • Functional: correct behavior against requirements.
  • Non-functional performance: response time, throughput under load.
  • Non-functional security: authentication, input validation, data protection.
  • Non-functional usability and compatibility: across browsers, devices, screen sizes.

Key point: Naming three or four non-functional types (performance, security, usability, compatibility) shows range. Many candidates only think in functional terms.

Q20. What is exploratory testing and when is it valuable?

Exploratory testing is simultaneous learning, test design, and execution: you interact with the app, follow your instincts about where bugs hide, and design the next test based on what you just saw, instead of following a pre-written script. It's structured curiosity, not random clicking.

It's valuable when requirements are thin, on new features, and for finding the weird bugs scripted cases miss, because a script only checks what its author thought of. Strong teams pair scripted regression with timed exploratory sessions.

Key point: Interviewers screen for the word 'structured.' Framing exploratory testing as disciplined, with charters or time-boxes, separates it from 'I just click around.'

Q21. What is ad hoc testing, and how does it differ from exploratory testing?

Ad hoc testing is informal, unstructured testing with no plan, documentation, or defined approach: you try to break the software however you can, often to reproduce a reported issue fast. Exploratory testing is also unscripted but is structured: it has charters, notes, and a learning approach you can repeat and report on.

So both are unscripted, but exploratory is deliberate and leaves a trail; ad hoc is throwaway. Ad hoc is fine for a quick check; exploratory is a real testing strategy.

Key point: The distinction the question needs: exploratory is structured and documented, ad hoc isn't. Blurring them suggests you haven't done disciplined exploratory work.

Q22. What is user acceptance testing (UAT)?

UAT is the final testing level where actual users or the client validate that the system meets their business needs and is ready for real use. It happens after system testing, in a production-like environment, and focuses on real workflows rather than technical edge cases.

The tester's role is to support UAT: prepare realistic scenarios and data, help users run them, and triage what they report. Passing UAT is usually the gate to release, so it's as much about business sign-off as defect finding.

Key point: Interviewers like hearing that UAT is business-owned and about fit-for-purpose, with QA supporting rather than driving. That shows you know where your role ends.

Q23. What is compatibility testing, and how do you decide what to cover?

Compatibility testing checks the app works across the environments users actually have: browsers, operating systems, devices, screen sizes, and network conditions. The trap is trying to cover everything, which is impossible, so you prioritize.

You decide from data: analytics on which browsers and devices your users actually use, then cover the top combinations that represent most traffic, plus any known-fragile ones. Testing Chrome, Safari, one Android, and one iPhone often covers the large majority; chasing a browser with 0.1% share is wasted effort.

Key point: The judgment answer is 'prioritize by real usage data,' not 'test every combination.' Risk-based prioritization is the transferable skill they're checking for.

Q24. What are the main types of performance testing?

Load testing checks behavior under expected traffic. Stress testing pushes past expected limits to find the breaking point and how it fails. Spike testing throws a sudden surge at the system. Soak (endurance) testing runs normal load for a long time to catch slow leaks like memory growth. Scalability testing checks how adding resources changes capacity.

You don't run all of these on every project. Match the type to the risk: an e-commerce site fears Black Friday spikes; a long-running service fears memory leaks under soak.

  • Load: expected traffic, is it fast enough?
  • Stress: beyond limits, where and how does it break?
  • Spike: sudden surge, does it recover?
  • Soak: sustained load, any slow degradation?

Key point: Naming the type by the fear it addresses (spikes for sales events, soak for leaks) shows you'd pick tests by risk, which is the real skill.

Back to question list

Automation, Selenium, and API Testing

Automation10 questions

For roles that expect scripting. Even manual-leaning candidates get asked when to automate and how the tools work at a high level.

Q25. How do you decide what to automate and what to keep manual?

Automate tests that are stable, repeated often, and expensive to run by hand: regression suites, smoke tests, data-driven checks with many input combinations, and anything run on every build. Keep manual the tests that change frequently, need human judgment (usability, look and feel), or run once, because automating them costs more than it saves.

The rule of thumb: automation pays off when a test runs many times and the feature under it is settled. Automating a screen that's redesigned every sprint just means rewriting scripts every sprint.

  • Automate: regression, smoke, repetitive data-driven cases, cross-browser checks.
  • Keep manual: exploratory, usability, one-off, and rapidly changing features.
  • Weigh the cost: scripting and maintenance time vs runs saved.

Key point: the key point is that automation isn't free: the maintenance cost is the mature part of the answer. 'Automate stable, repeated tests' is the phrase they're listening for.

Q26. What is the test automation pyramid?

The automation pyramid is a guideline for how to distribute automated tests: a wide base of fast, cheap unit tests, a middle layer of integration and API tests, and a thin top of slow, brittle UI (end-to-end) tests. The shape argues for pushing tests as low as possible.

The anti-pattern it warns against is the ice cream cone: mostly UI tests, few unit tests. UI tests are slow and flaky, so a top-heavy suite is expensive to run and painful to maintain. Testing logic at the unit or API level is faster and more stable.

Key point: the inverted 'ice cream cone' anti-pattern matters.

Q27. What locator strategies does Selenium offer, and which are most reliable?

Selenium finds elements by ID, name, class name, tag name, link text, CSS selector, and XPath. ID is the most reliable when available because it should be unique and stable. CSS selectors are fast and readable. XPath is the most flexible (it can traverse up the DOM and match on text) but is slower and more brittle.

The reliability rule: prefer stable, purpose-built attributes. A test-specific attribute like data-testid or a good ID beats an XPath that depends on the page's exact structure, because a layout change breaks the XPath but not the id.

python
# Selenium (Python) locator examples, most-to-least stable
driver.find_element(By.ID, "login-btn")
driver.find_element(By.CSS_SELECTOR, "[data-testid='login-btn']")
driver.find_element(By.XPATH, "//button[text()='Log in']")  # flexible but brittle

Key point: Saying you'd push for stable test IDs from developers, rather than fighting brittle XPath, marks you as someone who's maintained a real suite.

Q28. What's the difference between implicit and explicit waits in Selenium?

An implicit wait sets a global timeout: Selenium polls for a bit before throwing 'element not found', applied to every element lookup. An explicit wait pauses for a specific condition on a specific element (until it's clickable, visible, or present), so it waits only as long as needed for that one thing.

Explicit waits are preferred because they target the actual condition you care about and avoid both flaky failures and wasted time. Mixing implicit and explicit waits can cause unpredictable timing, so teams usually pick explicit and drop implicit.

python
# Explicit wait: wait up to 10s for the button to be clickable
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.ID, "submit"))
).click()

Key point: The flaky-test angle is what interviewers probe: most UI-automation flakiness is timing. Preferring explicit waits shows you've debugged real flaky suites.

Q29. What is the Page Object Model and why use it?

The Page Object Model (POM) is a design pattern where each page (or major component) gets a class that holds its locators and the actions you can do on it. Tests call methods like loginPage.login(user, pass) instead of scattering raw locators everywhere.

The payoff is maintenance: when a page changes, you update one page object, not fifty test scripts. It also makes tests readable, because they describe intent (log in, add to cart) instead of clicks and selectors.

Key point: Interviewers ask this to check whether you'd write maintainable automation or a pile of brittle scripts. 'Change the locator in one place' is the answer they want.

Q30. How do you test a REST API, and what do you check?

You send requests (GET, POST, PUT, DELETE) with the right headers, auth, and body, then assert on the response: the status code, the response body's structure and values, response time, and error handling for bad input. Tools like Postman or REST Assured make and validate these calls.

A solid API test set checks the happy path (valid request returns 200 and correct data), negative cases (missing fields return 400, no auth returns 401), and edge cases (large payloads, boundary values). API testing is faster and more stable than UI testing, which is why it sits in the middle of the pyramid.

  • Status code: 200 success, 400 bad request, 401 unauthorized, 404 not found, 500 server error.
  • Response body: correct fields, types, and values; valid schema.
  • Negative cases: missing or invalid parameters handled cleanly.
  • Non-functional: response time and behavior under load.
text
POST /api/login   { "email": "a@b.com", "password": "secret" }
Assert: status 200, body has token, response < 500ms

POST /api/login   { "email": "a@b.com" }   // missing password
Assert: status 400, body has clear error message

Key point: Listing the status codes and asserting on the body, not just the status, is the difference between someone who's tested APIs and someone who's only heard of it.

Watch a deeper explanation

Video: Postman Beginner's Course - API Testing (freeCodeCamp.org, YouTube)

Q31. Why test at the API level instead of only through the UI?

API tests are faster, more stable, and pinpoint failures better. They skip the browser, so they run in milliseconds instead of seconds, don't break when a button moves, and tell you exactly which endpoint failed rather than 'the page didn't load'. You can test business logic and edge cases directly without setting up a full UI flow.

UI tests still matter for verifying the actual user experience end to end, but they should be the thin top of the pyramid. Pushing logic tests down to the API layer is how teams get fast, reliable suites.

Key point: This ties back to the pyramid. Explaining why API tests are less flaky than UI tests shows you understand test architecture, not just tools.

Q32. What is a flaky test and how do you deal with flaky automation?

A flaky test passes and fails without any code change, usually from timing (racing the app before it's ready), test-order dependencies, shared test data, or an unstable environment. Flaky tests are dangerous because they erode trust: people start ignoring failures, and a real bug slips through.

The fix is root-cause, not retry: use explicit waits instead of fixed sleeps, make tests independent with their own data and teardown, stabilize locators, and isolate the environment. Blindly re-running until green just hides the problem.

Key point: Saying you'd fix the root cause rather than add a retry loop is The production-ready answer. Interviewers are testing whether you take flakiness seriously.

Q33. How does automated testing fit into a CI/CD pipeline?

In CI/CD, automated tests run on every code push. A typical pipeline runs fast unit tests first, then integration and API tests, then a smoke or regression suite, and blocks the merge or deploy if tests fail. The goal is fast feedback: catch a regression within minutes of the commit that caused it.

The QA role is keeping that suite fast and trustworthy. Slow or flaky tests get skipped, which defeats the point, so you prioritize quick, stable checks in the pipeline and run longer suites (full regression, performance) on a schedule.

Key point: Naming a tool (Jenkins, GitHub Actions) plus the idea of 'fast feedback, block on failure' shows you've worked in a modern pipeline, not just a manual handoff.

Q34. How do you manage test data for automated tests?

Good test data is independent and repeatable: each test creates or resets the data it needs, rather than depending on data left by another test or a shared fixture that anyone might change. Common approaches are seeding a clean dataset before a run, generating data via API setup calls, and tearing it down afterward so runs don't pollute each other.

The failure mode to avoid is tests that pass locally but fail in CI because they assumed a record existed. Self-contained data is what makes automation reliable across environments.

Key point: the key signal is 'independent, self-contained data.' Tests that depend on shared or leftover data are the second-biggest source of flakiness after timing.

Back to question list

Process, Defects, and Scenario Questions

Process11 questions

The bug life cycle, test plans, and the real-world questions. Have one genuine defect story ready; several of these lead there.

Q35. What's the difference between severity and priority?

Severity is how badly a defect affects the system, a technical measure the tester usually sets: a crash or data loss is high severity. Priority is how soon it should be fixed, a business decision often set by the product owner: how urgent is this to users or the release?

They move independently, which is the whole point. A misspelled company name on the homepage is low severity (nothing breaks) but high priority (it's embarrassing and public). A rare crash in a feature nobody uses is high severity but low priority.

ExampleSeverityPriority
App crashes on checkoutHighHigh
Typo in the homepage headlineLowHigh
Rare crash in an unused admin toolHighLow
Minor color mismatch on an internal pageLowLow

Key point: This is the single most asked QA question. Having an example for each mismatched pair (low severity / high priority and vice versa) answers the follow-up before it's asked.

Q36. Walk me through the defect (bug) life cycle.

A defect moves through states from discovery to closure. You log it as New; a lead or triage marks it Assigned to a developer; the developer works it and marks it Fixed; you retest and, if the fix works, mark it Closed. If the fix fails retesting, it goes to Reopened and back to the developer.

Other common states: Rejected (not a real defect or works as designed), Duplicate (already logged), and Deferred (real, but pushed to a later release). Knowing these shows you've lived in a bug tracker.

  • New: defect logged.
  • Assigned: given to a developer.
  • Fixed: developer resolved it.
  • Retest, then Closed (works) or Reopened (still broken).

Key point: the question needs the happy path plus at least Reopened, Rejected, and Duplicate. Those side states prove you've actually triaged bugs, not just read a diagram.

Q37. What goes into a good bug report?

A good bug report lets a developer reproduce and understand the issue without asking you a single question. It needs a clear title, exact steps to reproduce, the expected result, the actual result, the environment (browser, OS, build), severity and priority, and evidence: a screenshot, video, or logs.

The most important part is reproduction steps. A bug that can't be reproduced usually gets marked 'cannot reproduce' and closed, so the value of your report is measured by how easily someone else can hit the same problem.

  • Clear, specific title (not 'it's broken').
  • Numbered steps to reproduce, from a known starting state.
  • Expected vs actual result.
  • Environment, severity, priority, and evidence (screenshot, logs).

Key point: Reproduction steps are the make-or-break element. Saying 'a bug nobody can reproduce doesn't get fixed' shows you write reports for the developer, not for yourself.

Watch a deeper explanation

Video: TOP 20 INTERVIEW QUESTIONS and ANSWERS! (How to PASS a JOB INTERVIEW!) INTERVIEW TIPS! (CareerVidz, YouTube)

Q38. Tell me about a defect you found that you're proud of.

Pick a real bug with stakes, and walk it as a story: what you were testing, the odd behavior you noticed, how you narrowed down the reproduction, the severity and priority you assigned, and how it got resolved. The best stories involve a bug that scripted cases would have missed, which you caught through boundary thinking or exploratory testing.

Sample answer: "Testing a payments feature, I noticed refunds on orders that used a discount code returned the full pre-discount amount, so the company was over-refunding. It only triggered with a specific coupon-then-partial-refund sequence, so no basic test case hit it. I isolated the exact steps, logged it as high severity, and flagged it high priority because it was losing real money. It turned out the refund logic ignored the applied discount. The fix shipped that week, and I added a regression case so it couldn't come back."

Key point: This is often the most important question in the round. the question needs the reproduction discipline and the severity judgment, plus proof you closed the loop with a regression test.

Watch a deeper explanation

Video: JOB INTERVIEW QUESTIONS & ANSWERS! (CareerVidz, YouTube)

Q39. A developer says your bug 'works on my machine' and can't reproduce it. What do you do?

Don't argue, investigate. First confirm your own report is precise: exact steps, exact environment, exact data. Then compare environments (browser version, OS, build, config, user role, network) because 'works on my machine' usually means a difference you haven't captured yet. Capture more evidence: a screen recording, console logs, network traces, the specific account or data.

Often the difference is data state, a role permission, or a cached build. Pinpointing that turns an unreproducible bug into a reproducible one. If it truly can't be reproduced after that, you document the attempts and monitor for recurrence rather than forcing a fix.

Key point: The screened behavior is collaboration under friction: investigate the environment gap instead of insisting you're right. That maturity matters more than the technical answer.

Q40. What is a test plan and what does it contain?

A test plan is the document that defines the scope, approach, resources, and schedule of testing for a project. It answers what will be tested, what won't, how, by whom, on what environment, and against what pass or fail criteria. It's the shared agreement so testing isn't improvised.

Core sections: scope (in and out), the test approach and types, environment and tools, entry and exit criteria, roles and responsibilities, schedule, and risks with mitigations. A tester usually works within a test plan and owns the test cases under it.

  • Scope: what's in and explicitly out.
  • Approach: test types, levels, and tools.
  • Entry and exit criteria: when to start, when it's done.
  • Resources, schedule, and risks with mitigations.

Key point: entry and exit criteria is useful because signals you know a test plan is about agreeing on 'done' before you start, not just listing tests.

Q41. What's the difference between a test strategy and a test plan?

A test strategy is high-level and usually organization-wide: the standards, testing types, tools, and general approach the company follows across projects. A test plan is project-specific: how that strategy applies to this release, with its scope, schedule, and criteria.

Think of the strategy as the policy and the plan as the project instance of it. Smaller teams sometimes fold both into one document, but knowing the distinction matters at larger organizations.

Key point: The clean line is 'strategy is org-level and stable, plan is project-level and specific.' Interviewers at bigger companies check you know the difference.

Q42. You have limited time before release and can't test everything. How do you prioritize?

Risk-based testing: test the areas where a defect would hurt most and where defects are most likely. That means the critical business flows first (login, checkout, payment), then anything recently changed, then high-traffic features, then known-fragile areas. You consciously skip low-risk, rarely used, unchanged corners.

You also communicate the trade-off: tell stakeholders what you tested, what you didn't, and the residual risk, so shipping is an informed decision rather than a silent gamble.

  • Critical business flows first (revenue and login paths).
  • Recently changed code next: highest chance of new defects.
  • High-usage features over rarely-touched ones.
  • Document what was skipped and the residual risk.

Key point: This is really a judgment-and-communication question. 'Risk-based, and I make the residual risk visible' is the answer that gets a QA lead nodding.

Q43. The requirement for a feature is unclear or missing. How do you test it?

You don't guess silently. First, ask: go to the product owner, business analyst, or developer and get the expected behavior clarified, because testing against an assumption produces useless results. While you wait, you can still do exploratory testing to understand the current behavior and surface obvious issues.

You can also test against implicit standards: even without a spec, a login form shouldn't crash on empty input, an amount field shouldn't accept letters. Document your assumptions in the bug reports so any wrong assumption is easy to correct.

Key point: The screened behavior is 'clarify, don't assume.' Testers who invent requirements and test against them create noise. Asking the right person is the mature move.

Watch a deeper explanation

Video: How to Answer an Interview Question you DIDN'T Prepare For (Jeff Su, YouTube)

Q44. How do you handle a developer who pushes back on your bugs?

Keep it about the evidence, not the person. A well-written report with clear reproduction steps and impact does most of the arguing for you: it's hard to dismiss a bug that reproduces on demand with a real business cost attached. Frame it as a shared goal, shipping good software, rather than QA versus dev.

If there's genuine disagreement on severity or whether it's a defect at all, that's a triage conversation for the product owner or lead, not a standoff. The tester's job is to surface risk clearly; the business decides what to fix.

Key point: the question needs collaboration, not combativeness. 'Let the reproducible evidence and the business impact make the case, and escalate to triage if needed' is the answer.

Watch a deeper explanation

Video: Tell Me About Yourself - Structure a Strong Answer (Jeff Su, YouTube)

Q45. What QA metrics would you track, and what do they tell you?

Useful metrics include defect density (defects per unit of size or per module, shows where quality is weakest), defect leakage or escape rate (defects found in production vs testing, shows how effective testing was), test case pass rate, defect removal efficiency, and coverage against requirements.

The caution to voice: metrics guide, they don't rule. Chasing a number, like counting bugs logged, can reward the wrong behavior. The point is to spot trends (leakage rising, one module always buggy) and act, not to game a dashboard.

  • Defect density: where are bugs concentrated?
  • Defect leakage: how many escaped to production?
  • Test coverage: which requirements have tests?
  • Pass rate and trends over releases.

Key point: Adding the caveat that metrics can be gamed shows judgment. QA leads worry about people who optimize the number instead of the quality it's meant to represent.

Back to question list

Manual QA vs Automation QA

Interviewers often ask which side you lean toward, and the honest answer is that strong testers do both: manual testing to design and explore, automation to repeat the stable checks cheaply. The split below is the practical distinction, not a ranking. Automation doesn't replace a tester's judgment about what to test; it removes the boredom of running the same regression pass by hand every release.

AspectManual QAAutomation QA
Core skillsTest case design, exploratory testing, domain understanding, clear bug reportingScripting and a programming language, framework setup, CI knowledge, plus the same test-design skills
Common toolsTest management (Jira, TestRail), the app under test, browser dev toolsSelenium, Playwright, Cypress, Postman or REST Assured for APIs, run through CI like Jenkins or GitHub Actions
Best forNew features, exploratory and usability testing, one-off checks, cases that change oftenStable regression suites, smoke tests, data-driven checks, anything run every build
Career pathQA analyst or manual tester growing into lead QA or QA managementAutomation engineer or SDET, growing into a test architect or a developer-in-test track

How to Prepare for QA and Testing Questions

Prepare in layers and practice out loud. QA rounds move from fundamentals to a design exercise (write test cases for a feature they name) to a discussion of a real bug you caught, so rehearse each stage instead of only reading answers.

  • Nail the vocabulary first: severity vs priority, test levels, regression vs smoke, black-box vs white-box. Wrong term choice is the fastest way to look junior.
  • test cases for an everyday feature (a login form, a shopping cart) until you cover positive, negative, and boundary paths without notes is the implementation path.
  • Pick one automation tool you can actually discuss (Selenium or Postman) and be ready to explain a locator strategy or an API assertion.
  • One real defect story: what you found, how you reproduced it, the severity you assigned, and how it got resolved is useful. Take the quiz on this page to find weak spots first.

A four-step prep plan for a QA interview

1Review fundamentals and the SDLC
test levels, the V-model, where testing fits in each phase
2Write test cases for a sample feature
cover positive, negative, and boundary cases for something like a login page
3Brush up your automation tool
Selenium locators and waits, or Postman assertions for API testing
4Prepare a bug you caught
reproduction steps, severity and priority you assigned, how it was resolved

The design exercise and the real-bug story carry the most weight. Anyone can recite definitions; interviewers hire on judgment.

Test Yourself: QA and Testing Quiz

Ready to test your QA and Testing knowledge?

10 questions, about 6 minutes. Score 70% or higher to earn a shareable certificate.

10 questions Instant feedback Free certificate on 70%+

Frequently  Asked  Questions

Which QA and Testing topics should I prioritize before a technical round?

Prioritize the areas that change real decisions: fundamentals, practical tasks, debugging, trade-offs, and evidence. The highest-value questions are tied to a project example, a validation check, or a failure mode.

Do I need to know automation to pass a QA interview?

It depends on the role. Pure manual QA and QA analyst roles focus on test design, exploratory testing, and bug reporting, with automation as a plus. SDET and automation-engineer roles expect real scripting: Selenium or Playwright, a programming language, and CI basics. Read the job description. If it lists a framework by name, you'll be asked to write or read code; if it doesn't, lead with test-design judgment.

What's the difference between severity and priority in interviews?

It's one of the most asked QA questions, so have it crisp. Severity is how badly the defect affects the system (a crash is high severity). Priority is how soon it should be fixed (a business decision). They move independently: a typo on the homepage logo is low severity but high priority, and an obscure crash nobody hits is high severity but low priority. Give an example of each and you've answered the follow-up before it arrives.

How is an AI-evaluated QA interview different from a human one?

The questions are the same; the scoring is stricter about structure. An AI video interview transcribes your answer and evaluates it against a rubric, so signposting ("severity is..., priority is..., for example...") helps the system find the parts it's grading. You also can't read the interviewer and adjust mid-answer, which means rambling costs more. recording yourself: if you can't follow your own bug-report explanation, neither can the scoring model is the practice path.

How long does it take to prepare for a QA interview?

If you test at work already, one to two weeks of an hour a day covers this bank plus a couple of practice design exercises. Starting colder, plan three to four weeks: learn the ISTQB vocabulary, write test cases for five different features by hand, and do one small Selenium or Postman project so automation questions aren't purely theoretical. Reading answers without writing a single test case is how QA prep quietly fails.

Is there a way to test my QA knowledge?

Yes. The quiz on this page scores you as you go and explains every answer, so you find your weak spots fast. Pass the threshold and you can download a shareable certificate with your name and score, free and with no sign-up. It's the quickest way to check yourself before the real round.

From the team that builds interview software

Hyring builds the AI Video Interviewer that runs QA rounds for 5,000+ hiring teams. These questions and the scoring notes reflect what actually gets evaluated inside the interviews we host.

See how the AI Video Interviewer works

Sources

Adithyan RKWritten by Adithyan RK
Surya N
Fact-checked by Surya N
Published on: 17 May 2026Last updated: 14 Jul 2026
Share: