optional · CSS study notes
Difference between Software Validation and Verification (2017)
CSS CS Optional — Paper-I, Section-B, Topic V.
🔥 Frequency: 5 of last 7 papers (2019, 2020, 2021, 2022, 2025) — single most reliable SE pattern. Do NOT under-prepare.
🔑 Quick Table
| Verification | Validation |
|---|---|
| "Building the product right?" | "Building the right product?" |
| Checks vs written spec | Checks vs customer's real need |
| Static: reviews, walkthroughs, inspections | Dynamic: acceptance testing, demos |
| Can be correct but still wrong system | Confirms spec itself was the right target |
📌 Worked Example
- Login page built exactly to spec → passes verification.
- Spec omitted 2FA requirement client actually needed → fails validation.
🔥 Past Papers
- 2019 Q7(c), 2020 Q8(b), 2021 Q8(b), 2025 Q7(b)&Q8(a)
⚠️ MCQ Trap
- Requirement correct but never confirmed with customer → validation failure, not verification (verification only checks the written spec, which can itself be wrong).
📜 Past-Paper Questions & MCQs (CSS 2016–2026)
2017 · Paper-I · Q4(b), 2018 · Q7(a), 2025 · Q7(b) · 6, 4 and 6 marks
Q. Differentiate between software validation and verification. Give examples, the techniques used (including empirical evaluation), and say when each is used.
Ans.
| Basis | Verification | Validation |
|---|---|---|
| Question answered | "Are we building the product right?" | "Are we building the right product?" |
| Checks | Conformance to specification and design | Conformance to user needs |
| Type | Static: no execution needed | Dynamic: the software is run |
| Techniques | Reviews, walkthroughs, inspections, static analysis | Testing (system, acceptance, beta), user trials |
| When | Throughout development, early | After a runnable product exists |
| Example | Inspecting the design for missing requirements | Users try the app and confirm it meets their needs |
- Empirical software evaluation techniques: usability testing, user surveys and questionnaires, beta testing and field trials, controlled experiments and A/B tests, benchmarking and performance measurement, and case studies.
- Where to use each: verification early (requirements and design reviews, code inspections) to catch defects cheaply. Validation later (system, acceptance and beta testing) to confirm the product satisfies users.