Software Testing Interview Preparation Notes
1. What is Software Testing?
Software Testing is a process used to identify the correctness, completeness, and quality of
developed computer software. It includes a set of activities conducted with the intent of finding
errors in software so that it could be corrected before the product is released to the end-users.
2. Why is Software Testing important?
Testing helps ensure that the software product is reliable, functions as expected, and is free from
defects. It also helps improve the quality of the product and ensures that customer requirements are
met.
3. What is SDLC and its phases?
SDLC stands for Software Development Life Cycle. It includes phases such as: Requirement
Gathering, System Design, Implementation, Testing, Deployment, and Maintenance.
4. What is STLC?
STLC stands for Software Testing Life Cycle. It includes Requirement Analysis, Test Planning, Test
Case Design, Test Environment Setup, Test Execution, and Test Closure.
5. What are the Principles of Software Testing?
1. Testing shows presence of defects
2. Exhaustive testing is impossible
3. Early testing saves time and cost
4. Defect clustering
5. Pesticide paradox
6. Testing is context dependent
7. Absence-of-errors is a fallacy
6. Explain different levels of testing.
Levels of testing include:
- Unit Testing: Individual components
- Integration Testing: Interaction between modules
- System Testing: Complete system
- UAT: Done by users to validate requirements
7. What are the types of testing?
Functional: Smoke, Sanity, Regression, Retesting
Non-Functional: Performance, Load, Usability, Security
8. What are Test Case Design Techniques?
Black Box Testing techniques: Equivalence Partitioning, Boundary Value Analysis, Decision Table,
State Transition, Use Case Testing
9. What is the Bug Life Cycle?
Stages: New -> Assigned -> Open -> Fixed -> Retest -> Verified -> Closed/Reopened ->
Deferred/Rejected
10. What is the difference between Test Case and Test Scenario?
Test Case is a detailed set of steps to validate a functionality, while a Test Scenario is a high-level
idea of what to test.
11. What are Severity and Priority?
Severity defines the impact of the defect on the application.
Priority defines the order in which the defect should be fixed.
12. What is Regression and Retesting?
Regression Testing: Ensure existing functionality still works after changes.
Retesting: Test failed test cases after a defect is fixed.
13. What is Agile Testing?
Agile testing is a software testing practice that follows the principles of agile software development.
Testing is done continuously and iteratively with frequent feedback.
14. What is a Test Plan?
A Test Plan is a document detailing the scope, approach, resources, and schedule of intended test
activities.
15. Tools used in Manual Testing?
Bug Tracking: JIRA, Bugzilla
Test Management: TestLink, Excel
API Testing: Postman
Automation (if applicable): Selenium