π Verification and Validation (V&V) β OOAD
πΉ 1. Definition
Verification and Validation (V&V) are two key processes used to ensure that a software system is correct, complete, and meets user needs.
π Simple idea:
- Verification β βAre we building the system right?β
- Validation β βAre we building the right system?β
πΉ 2. Difference Between Verification and Validation β
| Feature |
Verification |
Validation |
| Focus |
Process correctness |
Product correctness |
| Question |
Are we building it right? |
Are we building the right product? |
| Method |
Reviews, inspections |
Testing, user feedback |
| Stage |
During development |
After development / during testing |
πΉ 3. Verification
πΈ Definition:
Verification ensures that the software is developed according to specifications and design.
πΉ Activities in Verification:
- Requirement reviews
- Design reviews
- Code inspections
- Walkthroughs
πΉ Example:
Checking whether the system follows the class diagram design
πΉ Techniques:
- Static testing (no execution of code)
- Document checking
πΉ 4. Validation
πΈ Definition:
Validation ensures that the final product meets user requirements and expectations.
πΉ Activities in Validation:
- System testing
- User acceptance testing (UAT)
- Prototyping feedback
πΉ Example:
Checking whether the system actually allows users to borrow books correctly
πΉ Techniques:
- Dynamic testing (code execution)
- Real-world scenarios
πΉ 5. Types of Testing (Validation)
πΈ 5.1 Unit Testing
- Test individual components
πΈ 5.2 Integration Testing
πΈ 5.3 System Testing
πΈ 5.4 Acceptance Testing
πΉ 6. Verification vs Validation Process Flow
Requirements β Verification β Design β Verification β Implementation β Validation β Final Product
πΉ 7. Importance of V&V
- Ensures quality software
- Reduces errors
- Saves cost in long run
- Improves user satisfaction
- Ensures system reliability
πΉ 8. Example (Library System)
πΉ Verification:
- Check if system design includes Book, Member classes
- Verify correct relationships
πΉ Validation:
- Check if user can issue/return book successfully
πΉ 9. Key Concepts
πΈ Static vs Dynamic Testing
| Type |
Description |
| Static |
No execution (verification) |
| Dynamic |
Execution (validation) |
πΈ Error vs Defect vs Failure
| Term |
Meaning |
| Error |
Human mistake |
| Defect (Bug) |
Problem in code |
| Failure |
System not working |
πΉ 10. Important Rules / Guidelines
- Perform verification early and continuously
- Perform validation with real users
- Use both processes together
- Document all findings
πΉ 11. Likely Exam Questions
- Define verification and validation.
- Differentiate between verification and validation.
- Explain types of testing in validation.
- What is static and dynamic testing?
- Why is V&V important?
- Explain V&V with example.
- What is acceptance testing?
- Define error, defect, and failure.
- Explain verification activities.
- Role of V&V in software development.
πΉ 12. Quick Revision Summary π§
- Verification β Build system correctly
- Validation β Build correct system
Key Points:
- Verification = Static
- Validation = Dynamic
π Trick to Remember:
"VV = Right Way + Right Product"