#### 2. **Question:** Define the difference between verification and validation in software
testing.
**Answer:**
- **Verification** is the process of evaluating work products of a development phase to
ensure that they meet the specified requirements for that phase. It's about building the product
right.
- **Validation** is the process of evaluating the final product to check whether it meets the
business needs and requirements. It's about building the right product.
#### 3. **Question:** What is a test case, and what are its key components?
**Answer:**
A test case is a set of conditions or variables used to determine whether a system or one of its
features is working as intended. Key components of a test case include:
- Test case ID
- Test description
- Preconditions
- Test steps
- Expected result
- Actual result
- Postconditions
#### 4. **Question:** Explain the concept of "test coverage" and how it is measured.
**Answer:**
Test coverage is a metric used to measure the amount of testing performed by a set of tests. It
can be measured in various ways, such as code coverage, requirements coverage, and
functional coverage. For example, code coverage measures the percentage of code executed
by the test suite, often reported as statements, branches, or paths covered.
#### 5. **Question:** Describe the difference between white-box testing and black-box
testing.
**Answer:**
- **White-box testing** (or clear-box testing) involves testing the internal structures or
workings of an application, as opposed to its functionality. It requires knowledge of the
internal code, algorithms, and structure of the system.
- **Black-box testing** (or functional testing) involves testing the system's functionality
without any knowledge of the internal code or structure. It focuses on input and output.
#### 8. **Question:** What is a test plan, and what are its main components?
**Answer:**
A test plan is a document detailing the objectives, resources, schedule, and scope of testing
activities. It serves as a blueprint for testing. Main components of a test plan include:
- Test plan identifier
- Introduction
- Test items
- Features to be tested
- Features not to be tested
- Test approach
- Item pass/fail criteria
- Test deliverables
- Testing tasks
- Environmental needs
- Responsibilities
- Staffing and training needs
- Schedule
- Risks and contingencies
- Approvals
#### 10. **Question:** What is exploratory testing, and when is it most useful?
**Answer:**
Exploratory testing is an informal testing approach where testers actively explore the
software, learn about it, and simultaneously design and execute tests. It is most useful in
situations where requirements are incomplete, ambiguous, or rapidly changing, or when there
is limited time for formal testing.