Software Testing Interview Questions
1. What is the difference between Test Cases, Test Scenarios, and Epics?
- Test Case: A detailed step-by-step procedure to verify a specific functionality. It includes test inputs, execution conditions, and expected results.
- Test Scenario: A high-level test condition covering multiple test cases that represent a user workflow or feature.
- Epic: A large user story in Agile that consists of multiple related functionalities or features, which can be broken down into smaller stories and test scenarios.
2. What is a Requirement Traceability Matrix (RTM)?
A Requirement Traceability Matrix (RTM) is a document that maps test cases to requirements, ensuring that all requirements are covered by test cases. It helps in tracking the test coverage and identifying gaps in testing.
3. Explain Black-Box Testing and White-Box Testing.
4. Explain the differences between Smoke Testing, Sanity Testing, and Regression Testing.
- Smoke Testing: A high-level test performed after a new build to check if critical functionalities work, ensuring the build is stable for further testing.
- Sanity Testing: A narrow and focused test to verify specific bug fixes or new features without running a full regression.
- Regression Testing: A comprehensive test to verify that new code changes have not affected existing functionalities.
5. How do you select test cases for regression testing?
- Focus on high-risk and critical functionalities.
- Prioritize test cases covering core application workflows.
- Include frequently used features and modules with past defects.
- Test cases related to recent changes, integrations, and bug fixes.
- Consider automation for frequently executed test cases.
6. How would you determine if a login page is user-friendly?
- Ease of Use: Simple and intuitive UI with clear instructions.
- Performance: Quick loading time and responsiveness.
- Error Handling: Proper validation messages for incorrect inputs.
- Accessibility: Compatibility with assistive technologies.
- Security: Proper encryption and protection against vulnerabilities (e.g., SQL Injection).
7. What are five key points to consider when writing a good test case?
- Clear and concise test case description.
- Well-defined preconditions and expected results.
- Cover both positive and negative test scenarios.
- Ensure reusability and maintainability.
- Include priority and dependencies for test execution.
8. How would you handle a situation where a developer refuses to fix a bug?
- Provide detailed bug documentation with steps to reproduce, logs, and screenshots.
- Explain the impact of the bug with real-world scenarios.
- Prioritize the issue based on severity and business impact.
- Involve a Business Analyst or Project Manager if necessary.
- Suggest alternative solutions if the fix is complex.
9. Explain the Bug Life Cycle, Severity, and Priority.
- Bug Life Cycle: New → 2. Assigned → 3. Open → 4. Fixed → 5. Retested → 6. Verified → 7. Closed (or Reopened if not fixed).
- Bug Severity: The impact of a bug on functionality (Critical, Major, Minor, Trivial).
- Bug Priority: The urgency of fixing a bug (High, Medium, Low).
10. How do you prioritize test cases for automation?
- Automate high-priority and frequently executed test cases.
- Focus on stable and reusable test cases.
- Prioritize regression and smoke tests.
- Automate tests covering critical business workflows.
- Avoid automating tests with frequent UI changes.