Skip to content

QA Engineer interview questions

100 real questions with model answers and explanations for Junior candidates.

See a QA Engineer resume example

Practice with flashcards

Spaced repetition · Hunter Pass

Questions

qaqc

Quality assurance, quality control, and testing address quality at different levels.

  • Quality assurance improves processes to prevent defects, for example through requirement reviews and a definition of done.
  • Quality control checks the product against requirements, while testing is its main defect-finding activity.
  • Junior QA engineers mostly test, but the distinction explains why QA work starts before coding.

Why interviewers ask this: The interviewer checks whether the candidate sees quality as a process, not just as clicking through the app.

test-cases

A test case is a documented, reproducible check of one scenario.

  • It states the goal, preconditions, steps, test data, and expected results.
  • A good case is atomic, traceable to a requirement, and clear to someone unfamiliar with the feature.
  • Expected results must be concrete, such as a dashboard redirect and a visible welcome message.

Why interviewers ask this: Concrete expected results and reproducibility by a stranger are what separate real test cases from vague notes.

testing

Positive and negative testing check valid and invalid behavior respectively.

  • Positive testing uses valid input, such as a correct email and password, and confirms the expected flow succeeds.
  • Negative testing uses invalid or unexpected input and checks that the system fails safely with a clear error.
  • Both matter because production incidents often occur on error paths that happy-path testing misses.

Why interviewers ask this: The interviewer looks for the instinct that error paths deserve as much attention as the happy path.

boundary

Boundary value analysis targets the edges of valid ranges where defects often occur.

  • For a range from 1 to 100, useful values are 0, 1, 2, 99, 100, and 101.
  • These values reveal off-by-one errors more effectively than an arbitrary middle value such as 50.
  • Boundaries also apply to string lengths, dates, file sizes, and pagination.

Why interviewers ask this: Naming the exact six values around two boundaries shows the technique is practiced, not just memorized.

partitioningequivalence

Equivalence partitioning reduces many possible inputs to a small representative test set.

  • It groups inputs that the system should handle identically and tests one value from each group.
  • For an accepted age of 18 to 65, the groups are below 18, within range, above 65, and non-numeric input.
  • Combined with boundary value analysis, it provides strong coverage without testing every value.

Why interviewers ask this: This tests whether the candidate can reduce infinite input space to a defensible test set.

smokeregression

Smoke, sanity, and regression testing differ mainly in scope and purpose.

  • Smoke testing quickly checks critical paths after a build to decide whether deeper testing can begin.
  • Sanity testing narrowly confirms that a specific fix or change works.
  • Regression testing broadly checks that recent changes did not break existing functionality.

Why interviewers ask this: Clear scoping of the three terms shows the candidate understands how testing effort is staged in real releases.

requirementstesting

Functional testing checks what a system does, while non-functional testing checks how well it does it.

  • Functional checks confirm features meet requirements, such as a transfer moving money correctly.
  • Non-functional checks cover performance, security, usability, accessibility, and browser compatibility.
  • A checkout can work correctly but still fail if it takes forty seconds under normal traffic.

Why interviewers ask this: The what-versus-how-well framing plus a concrete example is the expected complete answer.

black-boxwhite-boxgrey-box

Black box, white box, and grey box testing use different levels of internal system knowledge.

  • Black box testing checks behavior through interfaces using requirements and input-output analysis without seeing the code.
  • White box testing uses code structure to cover branches and paths, commonly in developer unit tests.
  • Grey box testing uses partial knowledge of architecture, database schemas, or API contracts to design better scenarios.

Why interviewers ask this: Recognizing that grey box is the practical daily mode of a product QA engineer marks a grounded answer.

testing

Testing levels find different defects at different system scopes.

  • Unit tests isolate functions and catch logic errors quickly and cheaply.
  • Integration tests check components together and expose contract or data-format mismatches.
  • System and end-to-end tests cover complete flows, but lower-level tests are faster and more stable, so the test pyramid keeps most checks there.

Why interviewers ask this: The interviewer expects the pyramid logic: why not everything is tested through the UI.

validation

Verification checks whether the product was built correctly, while validation checks whether the right product was built.

  • Verification compares the implementation with specifications through reviews and requirement-based testing.
  • Validation confirms that the result solves the user's real problem.
  • A feature may match a flawed specification perfectly and therefore pass verification but fail validation.

Why interviewers ask this: The spec-can-be-wrong insight shows the candidate tests thinking, not just documents.

regression

Retesting confirms a specific fix, while regression testing checks its wider impact.

  • Retesting repeats the exact scenario that previously failed on the updated build.
  • Regression testing checks that the fix or another change did not break related existing behavior.
  • The usual order is to confirm the fix first and then test the surrounding area.

Why interviewers ask this: A crisp distinction here signals the candidate has actually processed fix verification cycles.

exploratory

Exploratory testing combines learning, test design, and execution in one structured session.

  • The tester follows findings instead of a fixed script and varies paths and data as new clues appear.
  • It is valuable when documentation is limited, time is short, or scripted cases are outdated.
  • It is not random clicking because a good session has a charter, a time box, and coverage notes.

Why interviewers ask this: The charter-and-notes discipline separates exploratory testing from unstructured poking.

test-cases

I turn each testable requirement into a traceable set of scenarios.

  • I extract testable statements and cover positive flows, negative and boundary inputs, and state transitions.
  • I clarify ambiguities with the analyst or developer instead of embedding assumptions in test cases.
  • I link every case to its requirement so coverage gaps and obsolete orphan cases remain visible.

Why interviewers ask this: Asking about ambiguities before writing cases is the behavior the interviewer wants to confirm.

test-cases

The right documentation depth depends on complexity, risk, and team context.

  • A checklist is enough for simple features, experienced teams, smoke passes, or work where speed matters most.
  • Full test cases suit complex flows, compliance needs, new-tester onboarding, and scenarios that must remain reproducible.
  • Mature teams combine both formats instead of documenting every check at maximum detail.

Why interviewers ask this: Choosing documentation depth by context, rather than dogma, is the judgment being probed.

testing

Testing can reveal defects but cannot prove that no defects exist.

  • Exhaustively checking every input, state, and timing combination is impossible in a real system.
  • Testers prioritize by risk and use techniques such as equivalence partitioning to reduce the input space.
  • The accurate conclusion is that no defects were found in the covered areas under the tested conditions.

Why interviewers ask this: This classic principle checks whether the candidate understands the fundamental limits of the craft.

defects

An error, a defect, and a failure are stages in a cause-and-effect chain.

  • An error is a human mistake, such as misunderstanding a specification.
  • That mistake can create a defect in the product's code or design.
  • A failure occurs when the defect is executed and causes incorrect behavior, although some defects may stay hidden in unused code.

Why interviewers ask this: The mistake-to-code-to-runtime chain is a small vocabulary check with real communication value.

closures

A bug moves through reporting, triage, resolution, verification, and closure.

  • After being reported as new, it is triaged, assigned, rejected, marked as a duplicate, or deferred.
  • A developer fixes it and marks it resolved, then QA retests it on the updated build.
  • A successful retest leads to verification and closure; a failed one reopens the bug, while rejected and deferred states preserve decisions.

Why interviewers ask this: Including reject, duplicate, defer, and reopen shows exposure to a real tracker, not a textbook diagram.

severity-priority

Severity describes technical impact, while priority describes business urgency.

  • A crash in a rarely used legacy report can have high severity but low priority.
  • A company-name typo on the landing page can have low severity but high priority.
  • QA often assesses severity, while a product owner or lead sets priority using business context.

Why interviewers ask this: The two crossed examples, high-low and low-high, are the standard proof the concept is understood.

bug-reporting

A good bug report lets a developer reproduce the problem without follow-up questions.

  • It includes a specific title, minimal numbered steps, and clear expected and actual results.
  • It records the environment, including build version, browser, operating system, and test account.
  • Screenshots, videos, logs, and API requests and responses provide evidence and speed up diagnosis.

Why interviewers ask this: The reproduce-without-questions bar is what distinguishes a useful report from a complaint.

debugging

I report an intermittent bug with all available evidence and then search systematically for its trigger.

  • I record the exact time, account, environment, screenshots, logs, and reproduction rate.
  • I vary timing, network conditions, concurrent sessions, data state, and cache to isolate a pattern.
  • I attach server logs from the failure window when available because intermittent issues may be race conditions that appear at scale.

Why interviewers ask this: Reporting with evidence instead of discarding, plus systematic variable isolation, is the expected behavior.

Locked questions

  • 21

    A developer closes your bug as not a bug, but you disagree. What do you do?

    conflict
  • 22

    What is a test plan, and what are its key sections?

    test-plans
  • 23

    What does test coverage mean in practice for a manual tester?

    coverage
  • 24

    How do you know when testing is enough for a release?

    testing
  • 25

    What is user acceptance testing, and how does it differ from system testing?

    uatacceptancesystem-design
  • 26

    What are the main SDLC stages, and where does QA fit in?

    sdlc
  • 27

    What are the stages of the software testing life cycle?

    testing
  • 28

    What does a QA engineer do in a Scrum sprint?

    agile
  • 29

    What is shift-left testing, and why does it matter?

    shift-left
  • 30

    Requirements for a feature are unclear or contradict each other. What do you do?

  • 31

    How would you test a login form?

    forms
  • 32

    How would you test a numeric input field that accepts amounts from 1 to 10000?

  • 33

    How would you approach testing an online store checkout?

    testing
  • 34

    What is cross-browser testing, and how do you keep it manageable?

    testing
  • 35

    What do you check when testing a web application on mobile screen sizes?

    testing
  • 36

    Should a QA engineer report usability problems, and how?

  • 37

    What is localization testing, and what typically breaks?

    testing
  • 38

    Give examples of negative scenarios for a user registration form.

    forms
  • 39

    What is a test environment, and why not test directly in production?

    test-environments
  • 40

    How do you prepare test data, and why not just copy real user data?

    test-data
  • 41

    How do you decide what goes into the regression suite?

    regression
  • 42

    Release is tomorrow and testing time is nearly gone. How do you prioritize?

    testing
  • 43

    A new build arrives. How do you decide what to test in it?

  • 44

    What is load testing, and what basic terms should a junior know?

    load-testing
  • 45

    What basic security checks can a junior QA perform without being a security specialist?

  • 46

    What is accessibility testing at a basic level?

    a11ytesting
  • 47

    What is continuous integration, and why does QA care about it?

    ci-cd
  • 48

    Which metrics say something useful about testing, and which are easily misleading?

    monitoring
  • 49

    Where do you keep test cases and checklists, and why does the tool matter less than the habit?

    test-cases
  • 50

    What is the difference between static and dynamic testing?

    testing
  • 51

    Why does a QA engineer need SQL?

    sql
  • 52

    Write a query to find all orders of a specific user with status cancelled.

    queries
  • 53

    How do you use JOIN to verify data across two tables?

    joins
  • 54

    The UI shows a counter of 25 items. How do you verify it with SQL?

    sql
  • 55

    The UI shows one value and the database another. What do you conclude, and what next?

    database
  • 56

    What is NULL in a database, and how does it complicate testing checks?

    databasefundamentalstesting
  • 57

    What is an API, and why test it separately from the UI?

    api
  • 58

    What do the main HTTP methods mean for API testing?

    httptesting
  • 59

    Which HTTP status codes should a tester know, and what does each group mean?

    httpstatus-codes
  • 60

    What do you verify in an API response besides the status code?

    status-codes
  • 61

    How do you use Postman in daily testing?

    testing
  • 62

    How would you test a POST endpoint that creates a user?

    endpoints
  • 63

    What is JSON, and what should a tester know about its structure?

  • 64

    An API request returns 500. What do you do before reporting it?

    api
  • 65

    What is the difference between path parameters, query parameters, and the request body?

    queries
  • 66

    How does token-based authentication work in API testing?

    authtokensapi
  • 67

    What are HTML and the DOM, and why should a tester understand them?

    htmldom
  • 68

    What are CSS selectors, and how are they used as locators?

    csslocators
  • 69

    What is XPath, and when do you need it instead of CSS selectors?

    csslocators
  • 70

    How do you find and verify a locator in browser DevTools?

    locators
  • 71

    Which attributes make the most reliable locators, and what is data-testid?

    locators
  • 72

    Besides inspecting elements, what do you use browser DevTools for in testing?

    testing
  • 73

    What are cookies and localStorage, and why do they matter in testing?

    cookiestesting
  • 74

    How does caching interfere with testing, and how do you handle it?

    soft-skillscachingtesting
  • 75

    What is the difference between client-side and server-side validation, and why test both?

    validation
  • 76

    What is test automation, and what are its real benefits and costs?

    automation
  • 77

    How do you prioritize which tests to automate first?

    testing
  • 78

    What should not be automated?

  • 79

    What is Selenium, and what are its main components?

    componentsselenium
  • 80

    How do Selenium, Cypress, and Playwright differ at a high level?

    seleniumcypressplaywright
  • 81

    Why is a fixed sleep in autotests bad, and what are implicit and explicit waits?

  • 82

    What is a flaky test, and what commonly causes flakiness?

    flaky
  • 83

    What is the Page Object Model, and what problem does it solve?

    pom
  • 84

    What makes a good assertion in an automated test?

  • 85

    A UI change broke a locator, and a test fails. What do you do?

    locators
  • 86

    Can automation fully replace manual testing?

    testing
  • 87

    Autotests run in CI and some fail. How should the team handle failures?

  • 88

    Which git basics does a QA engineer actually use?

    git
  • 89

    What is a pull request, and what is QA's role around it?

    code-review
  • 90

    What does a test framework like pytest or Jest actually provide?

    jestpytest
  • 91

    A bug you missed reached production. How do you handle it?

    soft-skills
  • 92

    How do you test a feature that has no documentation?

    documentation
  • 93

    A developer says your bug is minor and not worth fixing now. How do you respond?

  • 94

    You find a critical bug the evening before the release. What do you do?

  • 95

    Regression testing is repetitive. How do you keep attention on the fiftieth run?

    regression
  • 96

    Three features land in testing on the same day. How do you organize your work?

    testing
  • 97

    How do you develop your QA skills as a junior?

  • 98

    What personal qualities make a strong QA engineer?

    discovery
  • 99

    The team asks: is the product ready for release? How do you answer as QA?

  • 100

    It is your first week on a new project. How do you get up to speed?