Software Testing Interview Questions
2026 Edition

Manual testing, Selenium, TestNG, API testing and the scenario questions every QA fresher faces — curated from the mock interviews we run at The Kiran Academy, with notes on how interviewers dig deeper.

✅ 42 questions 📚 7 topics 🆓 Free, no signup 🔄 Updated June 2026

🔍 Testing Fundamentals 8 questions

1What is software testing and why is it needed?
Testing is the process of evaluating software to find defects and verify it meets requirements — before users find the problems in production. It is needed because bugs found late cost exponentially more: a requirement-stage fix costs minutes, a production bug can cost a customer. Testing builds confidence, not just bug lists.
2SDLC vs STLC?
SDLC (Software Development Life Cycle) covers the entire product journey — requirements, design, development, testing, deployment, maintenance. STLC (Software Testing Life Cycle) is the testing slice in detail: requirement analysis, test planning, test case design, environment setup, execution, and closure. STLC runs inside SDLC.
3Verification vs validation?
Verification — "are we building the product right?" Static checks against design: reviews, walkthroughs, inspections, done without executing code. Validation — "are we building the right product?" Dynamic testing of the running software against user needs. Verification first, validation after.
How interviewers dig deeper: Interviewers often ask for one concrete example of each. Verification: reviewing a requirements document. Validation: executing a login test case.
4QA vs QC vs Testing?
QA (Quality Assurance) — process-oriented, preventive: defining standards, reviews, audits so defects are not introduced. QC (Quality Control) — product-oriented, detective: checking the actual product against requirements. Testing is the main activity inside QC — executing the software to find defects.
5What are the levels of testing?
Four classic levels: Unit (individual functions/classes, usually by developers), Integration (modules working together — interfaces between them), System (the complete application end to end against requirements), and UAT (User Acceptance Testing — business users confirm it solves their problem before go-live).
6Functional vs non-functional testing?
Functional — does the system do what it should? Features, business rules, inputs/outputs (login works, order total is correct). Non-functional — how well does it do it? Performance, security, usability, compatibility, reliability. "The payment works" is functional; "the payment completes in under 2 seconds with 1000 concurrent users" is non-functional.
7White box vs black box vs grey box testing?
Black box — testing through the UI/API with no knowledge of internal code; based on requirements. White box — testing with full code knowledge: statement/branch coverage, unit tests. Grey box — partial internal knowledge, e.g. testing through the UI while knowing the database schema to verify the data behind the screen.
8What is a test plan vs a test strategy?
A test strategy is the high-level, organisation/product-level approach — what types of testing, tools, environments; it rarely changes. A test plan is project/release-specific — scope, schedule, resources, entry/exit criteria, what is in and out for THIS release. Strategy is the constitution, plan is this month's budget.

📝 Test Design & Defects 7 questions

9Test case vs test scenario?
A test scenario is a one-line "what to test": "Verify login functionality". A test case is the detailed "how to test": preconditions, exact steps, test data, and expected result for one specific condition — "enter valid username + wrong password, expect error message X". One scenario typically yields many test cases.
10Explain boundary value analysis and equivalence partitioning.
Equivalence partitioning — divide inputs into groups expected to behave the same, test one value per group. Age field 18–60: partitions are <18, 18–60, >60 — three tests instead of a hundred. Boundary value analysis — bugs cluster at edges, so test the boundaries: 17, 18, 19 and 59, 60, 61. The two techniques are used together.
How interviewers dig deeper: Expect a live exercise: "an input accepts 1-100, give me the minimum test cases." Practise answering with both techniques explicitly.
11Severity vs priority — with examples.
Severity — technical impact of the defect (set by the tester). Priority — business urgency to fix it (set by lead/product). The four-quadrant classic: company logo misspelled on the homepage = LOW severity, HIGH priority. App crashes in a rarely-used legacy report = HIGH severity, LOW priority.
How interviewers dig deeper: This is the most-asked manual testing question. Have all four severity/priority combinations ready with one example each.
12Explain the defect/bug life cycle.
New → Assigned → Open (dev working) → Fixed → Retest → Closed if verified, or Reopened if it still fails. Side exits: Rejected (not a bug), Duplicate (already reported), Deferred (fix postponed to a later release). Name the states confidently and mention that the workflow lives in tools like Jira.
13Regression testing vs retesting?
Retesting — running the failed test case again after the fix, to confirm THAT defect is gone; always planned and specific. Regression testing — running existing passed tests to confirm the fix did not break something ELSE. Retesting is about the defect; regression is about the neighbourhood around it. Regression suites are the #1 automation target.
14What is test coverage and how do you measure it for manual testing?
Coverage measures how much of the application your tests exercise. In manual testing it is tracked via the Requirements Traceability Matrix (RTM) — every requirement mapped to at least one test case, so untested requirements are visible. In automation/unit testing it is code coverage (statement/branch %).
15What goes into a good bug report?
A unique ID and a clear one-line summary, exact steps to reproduce, test data used, expected vs actual result, environment (browser/OS/build), severity and priority, plus a screenshot or video. The gold standard: a developer can reproduce the bug from your report alone without coming to your desk.

🧭 Types of Testing 6 questions

16Smoke vs sanity testing?
Smoke — a broad, shallow check on a new build: do the critical paths work at all (app starts, login, main flow)? Decides whether the build is testable. Sanity — a narrow, deep check after a small change/fix: does the affected area behave rationally? Smoke = is the build stable enough to test; sanity = is this fix worth deeper testing.
How interviewers dig deeper: Classic trap: which comes first? Smoke, on every new build. Sanity happens later, on relatively stable builds after changes.
17What is exploratory testing and when is it valuable?
Simultaneous learning, test design and execution — no scripted cases; the tester actively explores using experience and intuition, often time-boxed in charters. Valuable when documentation is thin, time is short, or after scripted suites pass — it finds the bugs scripts were never written for.
18What is ad-hoc testing and how is it different from exploratory?
Both are unscripted, but exploratory is structured exploration — charters, time-boxes, notes, learnings feed future tests. Ad-hoc is informal random testing with no documentation, usually to quickly break things. Exploratory is a discipline; ad-hoc is a quick raid.
19What is performance testing? Load vs stress?
Performance testing checks speed and stability under workload. Load testing — expected user volume: does the site stay fast with 1,000 normal users? Stress testing — beyond capacity: where does it break and does it fail gracefully? Also: spike (sudden surges) and endurance/soak (sustained load over hours, catches memory leaks). Tool to name: JMeter.
20What is compatibility testing?
Verifying the application behaves correctly across environments — browsers (Chrome/Firefox/Safari/Edge), operating systems, devices and screen sizes, and network conditions. In practice you test a priority matrix of the most-used combinations from analytics, not every combination.
21What is API testing and why test below the UI?
Testing the application's endpoints directly (request → response) without the UI — using Postman or REST Assured. It is faster and more stable than UI testing, catches issues earlier (the UI may not even exist yet), and lets you verify business logic, status codes, response bodies, and error handling precisely.

🤖 Selenium & Automation 8 questions

22When should you automate a test — and when not?
Automate: regression suites, smoke tests, data-driven repetitive cases, cross-browser checks — anything stable and repeated. Do not automate: one-time tests, constantly-changing UIs, exploratory/usability testing, CAPTCHA/OTP flows. The honest answer interviewers want: automation is an investment that pays off through repetition.
23What are the components of the Selenium suite?
Selenium WebDriver — the core API driving real browsers; what everyone means by "Selenium". Selenium IDE — record-and-playback browser extension for quick prototypes. Selenium Grid — runs tests in parallel across many machines/browsers. (RC is the deprecated ancestor — mentioning that shows you know the history.)
24What locators does Selenium support, and which do you prefer?
id, name, className, tagName, linkText, partialLinkText, cssSelector, xpath. Preference order: id (fastest, unique) → name → cssSelector → xpath as the flexible fallback. CSS is generally faster than XPath; XPath wins when you must traverse upward (parent) or match by text.
driver.findElement(By.id("username"));
driver.findElement(By.cssSelector(".login-form input[type='email']"));
driver.findElement(By.xpath("//button[text()='Sign In']"));
25Absolute vs relative XPath?
Absolute starts from the root: /html/body/div[2]/form/input — breaks the moment the page structure shifts; avoid it. Relative starts from anywhere with //: //input[@id='email'] — shorter and resilient. Know the power functions: contains(), starts-with(), text(), and axes like following-sibling.
26Implicit vs explicit wait?
Implicit wait — a global default: when an element is not found, poll up to N seconds before failing; applies to every findElement. Explicit waitWebDriverWait + ExpectedConditions for one specific condition (clickable, visible, text present). Best practice: rely on explicit waits, never Thread.sleep(), and avoid mixing the two (it makes timeouts unpredictable).
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
wait.until(ExpectedConditions.elementToBeClickable(By.id("pay"))).click();
How interviewers dig deeper: Follow-up: what is a fluent wait? An explicit wait where you also configure polling frequency and exceptions to ignore.
27findElement vs findElements?
findElement returns the first matching WebElement and throws NoSuchElementException if none exists. findElements returns a List<WebElement> — empty list (no exception) when nothing matches, which makes it the safe way to check element presence.
28How do you handle dropdowns, alerts and frames?
Dropdowns (<select>): the Select class — selectByVisibleText/Value/Index. JS alerts: driver.switchTo().alert() then accept/dismiss/getText. Frames: driver.switchTo().frame(nameOrIndexOrElement), and back with defaultContent() — forgetting to switch back is a classic bug in candidates' answers.
29What is the Page Object Model and why use it?
A design pattern: one class per page/screen holding its locators and actions; tests call readable methods like loginPage.loginAs(user, pass) instead of raw findElements. When the UI changes you fix one page class, not 50 tests. Combine with PageFactory or plain By locators — and be ready to sketch the folder structure.

Knowing Selenium answers is not the same as surviving a QA interview.

Our Mock Interview Program runs you through real QA interview rounds — manual concepts, Selenium hands-on and HR — until these answers come out naturally.

⚙️ TestNG & Frameworks 5 questions

30Why TestNG over JUnit for Selenium projects?
Richer annotations, built-in parallel execution, test grouping and dependency control, the testng.xml suite file for selective runs, native data-driven support via @DataProvider, and HTML reports out of the box. (JUnit 5 has closed much of the gap — saying so earns credibility.)
31Order the main TestNG annotations.
@BeforeSuite → @BeforeTest → @BeforeClass → @BeforeMethod → @Test → @AfterMethod → @AfterClass → @AfterTest → @AfterSuite. Browser setup typically goes in @BeforeMethod (fresh browser per test) or @BeforeClass (shared browser), teardown in the matching @After.
32Hard assert vs soft assert?
Hard assert (Assert.assertEquals) stops the test immediately on failure. Soft assert (SoftAssert) records failures and continues — but reports nothing unless you call assertAll() at the end, the detail interviewers check. Use soft asserts to verify multiple fields on one page in a single test.
33How does @DataProvider enable data-driven testing?
A method annotated @DataProvider returns Object[][]; the @Test method that references it runs once per row with the row's values as parameters — same logic, many datasets. For business-managed data, combine with Apache POI to read the rows from Excel.
@DataProvider(name = "logins")
public Object[][] logins() {
    return new Object[][] {{"user1", "pass1"}, {"user2", "pass2"}};
}

@Test(dataProvider = "logins")
public void loginTest(String user, String pass) { /* ... */ }
34What types of automation frameworks do you know?
Data-driven — logic separated from test data (Excel/CSV/DB). Keyword-driven — tests written as keywords/actions in tables, readable by non-coders. Hybrid — combines both, the industry default: POM structure + TestNG + data providers + reporting (Extent/Allure) + CI integration (Jenkins/GitHub Actions). Describe the hybrid one as "what we built in our course project."

🔌 API Testing & Tools 5 questions

35Which HTTP status code groups must a tester know?
2xx success (200 OK, 201 Created), 3xx redirection (301 permanent, 302 temporary), 4xx client errors (400 bad request, 401 unauthenticated, 403 forbidden, 404 not found), 5xx server errors (500 internal, 503 unavailable). The 401-vs-403 distinction is a favourite follow-up: 401 = who are you?, 403 = I know you, you may not.
36GET vs POST vs PUT vs DELETE?
CRUD over HTTP: GET reads (no body, cacheable, never changes data), POST creates (body carries the new resource), PUT updates/replaces (idempotent — same call twice, same result), DELETE removes. Also PATCH for partial updates. Idempotency of PUT vs POST is the classic probe.
37What do you verify in an API test besides the status code?
Response body values and structure (against the schema/contract), response headers (content-type, auth tokens), response time, error handling for invalid inputs, and authentication/authorisation behaviour. A 200 with wrong data is still a failed test — say that line, interviewers love it.
38How do you use Postman in your testing workflow?
Organise requests in collections per module, use environments for dev/QA/prod URLs and variables, chain requests by extracting values (token from login → header of next call), write JavaScript tests in the Tests tab (status, body assertions), and run the whole collection with the Collection Runner or Newman in CI.
39How do you use Jira day to day as a tester?
Logging defects with steps/severity/attachments, linking bugs to the story they break, tracking the defect workflow (Open → In Progress → Resolved → Closed), and working the sprint board in Agile — picking up testing tasks for stories as they reach the QA column. Mention dashboards/filters for defect summaries if asked about reporting.

🎯 Scenario Questions 3 questions

40"How would you test a login page?" — the structure of a great answer.
Cover all dimensions, not just happy path: functional (valid/invalid combos, empty fields, case sensitivity, forgot-password, remember-me), UI (alignment, tab order, password masking), security (SQL injection in fields, password not in URL, account lockout after N attempts, back-button after logout), boundary (max length inputs), compatibility (browsers/mobile). Naming the categories first, then examples, is what separates a trained tester from a guesser.
How interviewers dig deeper: The same structure answers "test a pen/elevator/ATM" questions — categories first (functional, usability, stress, negative), then examples in each.
41A developer rejects your bug saying "works on my machine". What do you do?
Reproduce it again and strengthen the report: exact build number, environment, test data, video recording, and logs. Check environment differences (browser version, config, data state). If it still reproduces, discuss with the developer directly — politely, with evidence. If disagreement persists, escalate to the lead with the evidence and let triage decide. The keyword interviewers want: evidence, not ego.
42When do you stop testing?
Testing is never "finished" — it stops when exit criteria are met: planned test cases executed, defect arrival rate has flattened, no open critical/high bugs, coverage targets met, or the business deadline/risk acceptance kicks in. The honest framing: stopping is a risk-based business decision, not a proof of zero bugs.

Want to walk into QA interviews prepared, not hopeful?

Our 4-month Software Testing course covers manual testing, Selenium automation, TestNG, Jira and API testing — with real QA workflows and placement support until you are hired.

🎯 Student Success Stories Watch all on YouTube →
How to Get a Job in IT

How to Get a Job in IT

Becoming a Software Tester — My Story

Becoming a Software Tester — My Story

From Fresher to Developer

From Fresher to Developer

First Offer Letter Story

First Offer Letter Story

How I Cleared My Interview

How I Cleared My Interview

Placement Story That Inspires

Placement Story That Inspires

Hrashada Sangle | Job Placement!

Hrashada Sangle | Job Placement!

Secured Job as Automation Tester Intern!

Secured Job as Automation Tester Intern!

Secured Job as a Software Intern!

Secured Job as a Software Intern!

March 2026 Placements Update

March 2026 Placements Update

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

MERN Stack | Job Placement Story

MERN Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

AI / ML Course | Job Placement Story

AI / ML Course | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

How to Get a Job in IT

How to Get a Job in IT

Becoming a Software Tester — My Story

Becoming a Software Tester — My Story

From Fresher to Developer

From Fresher to Developer

First Offer Letter Story

First Offer Letter Story

How I Cleared My Interview

How I Cleared My Interview

Placement Story That Inspires

Placement Story That Inspires

Hrashada Sangle | Job Placement!

Hrashada Sangle | Job Placement!

Secured Job as Automation Tester Intern!

Secured Job as Automation Tester Intern!

Secured Job as a Software Intern!

Secured Job as a Software Intern!

March 2026 Placements Update

March 2026 Placements Update

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

MERN Stack | Job Placement Story

MERN Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

AI / ML Course | Job Placement Story

AI / ML Course | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

How to Get a Job in IT

How to Get a Job in IT

Becoming a Software Tester — My Story

Becoming a Software Tester — My Story

From Fresher to Developer

From Fresher to Developer

First Offer Letter Story

First Offer Letter Story

How I Cleared My Interview

How I Cleared My Interview

Placement Story That Inspires

Placement Story That Inspires

Hrashada Sangle | Job Placement!

Hrashada Sangle | Job Placement!

Secured Job as Automation Tester Intern!

Secured Job as Automation Tester Intern!

Secured Job as a Software Intern!

Secured Job as a Software Intern!

March 2026 Placements Update

March 2026 Placements Update

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

MERN Stack | Job Placement Story

MERN Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

AI / ML Course | Job Placement Story

AI / ML Course | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

How to Get a Job in IT

How to Get a Job in IT

Becoming a Software Tester — My Story

Becoming a Software Tester — My Story

From Fresher to Developer

From Fresher to Developer

First Offer Letter Story

First Offer Letter Story

How I Cleared My Interview

How I Cleared My Interview

Placement Story That Inspires

Placement Story That Inspires

Hrashada Sangle | Job Placement!

Hrashada Sangle | Job Placement!

Secured Job as Automation Tester Intern!

Secured Job as Automation Tester Intern!

Secured Job as a Software Intern!

Secured Job as a Software Intern!

March 2026 Placements Update

March 2026 Placements Update

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

MERN Stack | Job Placement Story

MERN Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

AI / ML Course | Job Placement Story

AI / ML Course | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story

Java Full Stack | Job Placement Story