Software Testing Interview Questions
1. What is the difference between Verification and Validation?
Answer:
- Verification ensures the product is built correctly (checking documents, design, code).
- Example: Reviewing design documents or code walkthroughs.
- Validation ensures the right product is built (checking if it meets user needs).
- Example: Executing test cases to validate functionality.
2. What are the different levels of testing?
Answer:
- Unit Testing – Testing individual components or modules.
- Integration Testing – Testing data flow between modules.
- System Testing – Testing the complete system as a whole.
- Acceptance Testing – Testing the system against business requirements.
3. What is the difference between Functional and Non-functional testing?
Answer:
- Functional Testing checks what the system does (e.g., login, registration).
- Non-functional Testing checks how well the system performs (e.g., performance, security, usability).
4. What is Regression Testing and when is it performed?
Answer:
Regression testing is done to ensure that new code changes do not affect existing functionality. It is usually performed after:
- Code enhancements
- Bug fixes
- Integration of new features
5. What is the difference between Smoke and Sanity testing?
Answer:
- Smoke Testing: A high-level test to check if the major functionalities work (build verification).
- Sanity Testing: A narrow test to verify specific functionality after changes or bug fixes.