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
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.
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.
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 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.
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.
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.
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 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 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.
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.
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 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.
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.
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 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.
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.
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 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.
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.
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?