Selenium and Manual Testing Interview Questions: 23 With Answers
Model answers for 23 fresher QA questions, from smoke vs sanity testing to Selenium waits and the Page Object Model, with code and a 7-day plan.
Last updated: 13 October 2026 · By the Asuraa Team
Quick answer: Fresher QA interviews cover manual testing basics (STLC, smoke vs sanity, regression vs retesting, severity vs priority, boundary values) and then Selenium WebDriver: locators, XPath, waits and the Page Object Model. Selenium's official documentation lists eight traditional locators, warns against mixing implicit and explicit waits, and notes that Selenium Manager has downloaded matching browser drivers automatically since version 4.6.
Key takeaways
- Selenium's official locator documentation lists eight traditional locators: class name, CSS selector, ID, name, link text, partial link text, tag name and XPath.
- Selenium's waits documentation sets the implicit wait default at 0 and warns against mixing implicit and explicit waits because timeouts become unpredictable.
- Selenium Manager has shipped with every Selenium release since version 4.6 and downloads the browser driver that matches the installed browser automatically.
- Severity measures how badly a defect affects the system, while priority measures how soon it must be fixed, so a misspelt logo can be low severity but high priority.
- The official Page Object Model guidance keeps assertions out of page objects and in the tests, except for a check that the expected page has loaded.
Fresher QA interviews in India usually open with manual testing basics and then move to Selenium WebDriver with Java or Python. Below are 23 questions that come up again and again, each with a model answer you can say in under a minute, plus a weighting table and a 7-day plan. For other subjects, see the interview questions by subject guide.
Which testing topics matter most in a fresher QA interview?
Manual testing concepts and Selenium waits and locators carry most of the marks; frameworks and Grid are lighter at fresher level.
| Area | Typical questions | What interviewers check |
|---|---|---|
| Testing fundamentals | Verification vs validation, STLC, test case vs scenario | You speak the vocabulary correctly |
| Test types | Smoke vs sanity, regression vs retesting | You know when each is run |
| Defects | Severity vs priority, bug life cycle | You can log and triage a bug |
| Test design | Boundary values, equivalence partitioning, login test cases | You think in edge cases |
| Selenium core | Locators, XPath, waits, findElement vs findElements | You can write stable scripts |
| Framework | Page Object Model, TestNG, Grid, exceptions | You can organise tests that last |
What manual testing fundamentals are asked?
Interviewers start here because every automation engineer must first be a good manual tester.
1. What is software testing and why is it needed?
Software testing is checking that an application behaves as the requirements say and finding defects before users do. It reduces the cost of fixing bugs, since a defect found in requirements or design is far cheaper to fix than one found in production. Testing cannot prove software is bug-free; it shows the presence of defects and builds confidence that the product is ready for release.
2. What is the difference between verification and validation?
Verification asks "are we building the product right?" and checks documents, designs and code against specifications through reviews, walkthroughs and inspections, without running the software. Validation asks "are we building the right product?" and runs the software to check it meets user needs. A simple way to say it: verification is static, validation is dynamic.
3. What are the phases of the Software Testing Life Cycle (STLC)?
The common STLC phases are requirement analysis, test planning, test case design, test environment setup, test execution and test closure. Each phase has entry and exit criteria; for example, execution starts only when the build is deployed and smoke-tested. STLC runs inside the wider SDLC, and in Agile teams these phases repeat every sprint.
4. What is the difference between a test plan, a test scenario and a test case?
A test plan is the document that defines scope, approach, resources, schedule and risks for the whole testing effort. A test scenario is a high-level thing to test, such as "verify user login". A test case is a detailed set of steps with test data, preconditions and expected result, such as "enter a valid email and wrong password, click Login, expect the error 'Invalid credentials'". One scenario usually has several test cases.
What test types do interviewers compare?
Pairs of similar-sounding terms are the most common fresher questions in QA.
5. What is the difference between functional and non-functional testing?
Functional testing checks what the system does against requirements, such as whether a payment goes through or a search returns results. Non-functional testing checks how well it does it: performance, load, security, usability and compatibility. Unit, integration, system and acceptance testing are functional levels; load testing with a tool like JMeter is non-functional.
6. What is the difference between smoke and sanity testing?
Smoke testing is a quick, broad check on a new build to confirm critical features work before deeper testing starts; if login or the home page fails, the build is rejected. Sanity testing is narrow and focused, run after a small fix or change to confirm that specific area now works. Smoke is often scripted and automated, while sanity is usually unscripted.
7. What is the difference between regression testing and retesting?
Retesting runs the failed test cases again after a bug is fixed, to confirm that specific defect is gone. Regression testing runs a wider set of previously passing tests to confirm the fix or a new feature did not break existing functionality. Retesting is planned for specific defects; regression is the main candidate for automation because it repeats every release.
How do you explain defects, severity and priority?
Expect one question on bug triage and one on the bug life cycle.
8. What is the difference between severity and priority? Give an example.
Severity is how badly a defect affects the system, and it is usually set by the tester. Priority is how soon it must be fixed, and it is usually set by the product owner or lead. A company logo misspelt on the home page is low severity but high priority, because every visitor sees it. A crash in a rarely used admin report from 2019 data is high severity but may be low priority.
9. What is the bug life cycle?
A typical bug moves from New to Assigned, then Open while the developer works on it, then Fixed, then Retest by the tester, and finally Closed if it passes or Reopened if it fails. Side states include Rejected (not a bug), Duplicate and Deferred (fix in a later release). Tools such as Jira let each team customise these states, so mention the workflow you actually used.
What test design questions should you practise?
These test whether you think about edge cases rather than only the happy path.
10. What are boundary value analysis and equivalence partitioning?
Equivalence partitioning splits input into groups that should behave the same, so you test one value per group. Boundary value analysis tests the edges of those groups, where bugs cluster. For an age field that accepts 18 to 60, the partitions are below 18, 18 to 60, and above 60; the boundary values are 17, 18, 60 and 61, and often 19 and 59 too.
11. Write test cases for a login page.
Cover valid email and valid password (login succeeds), valid email and wrong password, unregistered email, both fields empty, and each field empty on its own. Add an email in invalid format, a password at minimum and maximum length, leading or trailing spaces, password masking, the "Forgot password" link, account lock after repeated failures, and pressing Enter to submit. For non-functional cases, mention that the password must not appear in the URL and the page should load over HTTPS.
What Selenium WebDriver questions are asked most?
Once manual basics are done, the panel moves to Selenium, usually with Java and TestNG in Indian service companies.
12. What is Selenium and what are its components?
Selenium is an open-source suite for automating web browsers. Its main parts are WebDriver (the API that drives a real browser from code in Java, Python, C#, JavaScript or Ruby), Selenium IDE (a browser extension to record and play back tests) and Selenium Grid (runs tests in parallel across machines and browsers). Selenium only automates web browsers, not desktop or native mobile apps on its own.
13. Do you still need to download ChromeDriver manually?
Usually not. According to the Selenium Manager documentation, Selenium Manager has shipped with every Selenium release since version 4.6 and automatically detects your browser version, downloads the matching driver and caches it. Since 4.11 it can also download Chrome itself if it is missing, with Firefox and Edge support added in later 4.x releases. Mentioning this shows you work with current Selenium, not 2019 tutorials.
14. What locator strategies does Selenium support, and which do you prefer?
The Selenium locators page lists eight traditional locators: class name, CSS selector, ID, name, link text, partial link text, tag name and XPath, plus relative locators such as above, below and near. Prefer a unique ID first, then name or a short CSS selector, and use XPath when you need to locate by text or walk up the DOM. Avoid locators tied to layout, such as long absolute paths.
driver.findElement(By.id("email")).sendKeys("test@example.com");
driver.findElement(By.cssSelector("button[type='submit']")).click();
driver.findElement(By.xpath("//a[text()='Forgot password?']")).click();
15. What is the difference between absolute and relative XPath, and how do you handle dynamic elements?
Absolute XPath starts from the root with a single slash, such as /html/body/div[2]/form/input, and breaks whenever the layout changes. Relative XPath starts with a double slash and finds an element anywhere, such as //input[@name='email']. For dynamic IDs like user_8472, use functions such as contains() or starts-with(), for example //input[starts-with(@id,'user_')], or anchor on stable visible text.
16. What are implicit, explicit and fluent waits?
The Selenium waits documentation explains that an implicit wait is a global setting that retries every element lookup until a timeout, and its default is 0. An explicit wait polls for a specific condition, such as visibility, before continuing. A fluent wait is a customised explicit wait where you set timeout, polling interval and exceptions to ignore. The docs warn not to mix implicit and explicit waits, because combined timeouts become unpredictable.
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
WebElement msg = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("toast")));
17. What is the difference between findElement and findElements?
findElement returns the first matching element and throws NoSuchElementException if none is found. findElements returns a list of all matches and returns an empty list, not an exception, when nothing matches. Use findElements(...).size() > 0 to check whether an element exists without a try/catch.
18. How do you handle dropdowns, alerts, frames and multiple windows?
For a dropdown, wrap it in the Select class and use selectByVisibleText, selectByValue or selectByIndex. For JavaScript alerts, use driver.switchTo().alert() and then accept(), dismiss() or getText(). For iframes, switch with driver.switchTo().frame(...) and come back with defaultContent(). For new tabs or windows, read getWindowHandles() and switch to the handle that is not the current one.
19. What is a StaleElementReferenceException and how do you fix it?
It is thrown when you use an element reference after the page or that part of the DOM was reloaded or re-rendered, so the stored reference no longer points to a live element. Fix it by locating the element again just before using it, by waiting for the refresh to finish with an explicit wait, or by keeping locators (not element objects) in your page classes.
What framework questions come up for freshers?
Freshers are not expected to design frameworks, but they must explain the one in their project.
20. What is the Page Object Model?
The Page Object Model guide describes POM as a design pattern where each page of the application gets a class that holds its locators and the actions a user can perform there. Tests call those methods instead of using locators directly, so a UI change needs an update in one class. The same guide says page objects should not contain assertions; verification belongs in the test, with the possible exception of a check that the right page loaded.
public class LoginPage {
private final WebDriver driver;
private final By email = By.id("email");
private final By password = By.id("password");
private final By submit = By.cssSelector("button[type='submit']");
public LoginPage(WebDriver driver) { this.driver = driver; }
public HomePage loginAs(String user, String pass) {
driver.findElement(email).sendKeys(user);
driver.findElement(password).sendKeys(pass);
driver.findElement(submit).click();
return new HomePage(driver);
}
}
21. Which TestNG annotations do you use and in what order do they run?
The common ones run in this order: @BeforeSuite, @BeforeTest, @BeforeClass, @BeforeMethod, @Test, then the matching @After... annotations in reverse. Use @BeforeMethod to open the browser and @AfterMethod to quit it so each test is independent. TestNG also gives priority, dependsOnMethods, groups, @DataProvider for data-driven tests, and parallel runs through testng.xml.
22. What is Selenium Grid?
Selenium Grid runs tests on remote machines so you can execute them in parallel and across browsers and operating systems. A central component receives test requests and routes them to nodes that have the requested browser. Teams use it to cut a long regression suite from hours to minutes and to cover Chrome, Firefox and Edge in one run.
23. What cannot or should not be automated with Selenium?
CAPTCHA is designed to block bots, so it should be disabled in test environments rather than automated. OTPs are better handled with test hooks or an API, and desktop pop-ups or native file dialogs need other tools. Visual layout checks, one-time exploratory testing and usability judgement also suit manual testing better. Saying this shows judgement, which interviewers value more than claiming everything can be automated.
What do most guides on Selenium and manual testing interview questions get wrong?
Many guides still teach Thread.sleep() and a mix of implicit and explicit waits as normal practice. Selenium's own documentation warns against mixing the two, because a 10-second implicit wait and a 15-second explicit wait can stack into unpredictable delays. Use explicit waits for conditions and keep implicit wait at 0 or a small fixed value used alone. Older guides also tell freshers to download and set the ChromeDriver path with System.setProperty, which Selenium Manager has handled automatically since version 4.6. Finally, guides often put assertions inside page objects; the official POM guidance keeps them in tests.
How should you revise Selenium and manual testing in 7 days?
Spend the first half on manual concepts and the second half writing real scripts against a practice site.
Day 1: Testing basics, verification vs validation, STLC phases, test plan vs scenario vs case.
Day 2: Test types: functional vs non-functional, smoke vs sanity, regression vs retesting.
Day 3: Defects: severity vs priority with your own examples, bug life cycle in Jira. Write 15 test cases for a login page using boundary values.
Day 4: Selenium setup with Selenium Manager, locators and XPath practice on a demo e-commerce site.
Day 5: Waits, dropdowns, alerts, frames and windows. Reproduce and fix a StaleElementReferenceException.
Day 6: Build a small POM framework with TestNG and one DataProvider test; push it to GitHub.
Day 7: Mock interview: answer all 23 questions aloud and walk through your framework in three minutes.
If you are starting from zero, follow how to learn Selenium for testing jobs. For round formats, read how to prepare for technical interview questions. Brush up Java with the Java interview questions for freshers, and if you are weighing QA against development, the software testing career in India guide covers the path.
Related guides
Interview Questions by Subject: Java, Python, SQL, DSA, Cloud, AI
Node.js and Express Interview Questions: 23 With Answers (Route Order)
BPO and Customer Support Interview Questions: 20 With Sample Answers
AWS Interview Questions for Freshers: 22 Questions With Answers
FAQ
What is the difference between smoke and sanity testing?
Smoke testing is a broad, shallow check on a new build to confirm critical features such as login and navigation work before detailed testing begins; a failed smoke test means the build is rejected. Sanity testing is a narrow check after a small fix or change, confirming that the specific area now works. Smoke is often automated, sanity is usually quick and unscripted.
Which wait is best in Selenium?
Explicit waits are the safest default because they wait for a specific condition, such as an element becoming visible or clickable, and continue as soon as it is met. Selenium's documentation warns against mixing implicit and explicit waits, since combined timeouts become unpredictable. Avoid Thread.sleep, which always waits the full time and makes suites slow and flaky.
Do I need to learn manual testing before Selenium?
Yes. Automation only repeats test cases that someone designed, so you need manual skills such as writing test cases, boundary value analysis, bug reporting and understanding severity and priority. Fresher QA interviews in India usually test these concepts first, then move to Selenium. A tester who cannot design good cases will automate weak ones.
Is Selenium enough to get a testing job as a fresher?
Selenium alone is rarely enough. Most fresher QA job descriptions also ask for manual testing concepts, one programming language (usually Java or Python), TestNG or pytest, basic SQL, Git and a bug tracker such as Jira. API testing with Postman is a common addition. A small Page Object Model project on GitHub helps you stand out.
Should I use XPath or CSS selectors in Selenium?
Use a unique ID when one exists, then a short CSS selector, which is usually more readable. Use XPath when you need to locate by visible text, walk up to a parent element or handle complex conditions. Both work in every browser. Avoid absolute XPath, because any layout change breaks it.
How many questions are asked in a fresher QA interview?
It depends on the company, but a typical fresher QA technical round has 10 to 20 questions mixing manual testing theory, Selenium and a programming basics check, often followed by writing test cases for a login page or an e-commerce cart. Some service companies add a short coding task in Java, such as reversing a string.
Final thoughts
QA interviewers hire freshers who can design sharp test cases and write stable scripts, not those who list every Selenium method. Build one small Page Object Model project, practise the login test cases aloud, and then check your resume against a real QA job description with the Asuraa resume reviewer.
Related articles
Remote Software Engineering Internships in India: Where to Look
Where remote SDE internships in India really come from, what they pay, which open-source programmes count, and a 4-week plan to get shortlisted.
Remote Data Science Internships for Freshers: How to Find Real Ones
Real remote data science internships come from startups, consultancies and open-source programmes. Here is where to find them, what they pay and how to prepare in 4 weeks.
Interview Questions by Subject: Java, Python, SQL, DSA, Cloud, AI
Every interview question set in one place, organised by subject and role: core CS, programming languages, web and testing, data and analytics, AI and ML, cloud, DevOps and HR rounds.
Projects and Portfolio Guide for Freshers: Data, Software and AI
Choose the right projects for data analyst, data scientist, ML, web and software roles, build them on real public data or APIs, and present them so recruiters notice.