Software Verification and Software Validation – the confusion. Why the confusion?Shilpa Desai
In software development, the software quality control is referred in context to validation and verification.
The words, verification and validation, are quite same but actually they refer to very distinct activities. The similarity in their meanings starts the confusion.
But I read somewhere that has stuck in my mind: verification means evaluation and validation means assurance. Those words were the end of confusion…
And, the confusion very firmly ends when the tasks involved for each is listed down –
What would entail software verification? The documents of software development, testing of the software development according to the specs in the said documents, etc. when reviewed and verified that they conform to the user (the customer) requirements. This would thus, determine that the software development is according to the specified requirements and would involve review of documents of software development life cycle, prototypes, intermediary demonstrations, inspections…
Verification would be review of development documents, code review, and, lastly, user manual as well.
And, what would software validation entail? When the software is developed, validation would come into picture to determine that does it satisfy the user business needs. This would thus, include the complete working of the software product for its intended use. This would involve thorough testing – smoke testing; regression testing; functional testing; UAT, and then running the entire flow of the software.
Validation would be test cases, confirmations, testing of conditions of software functioning and checking it for readiness for use.
Both, verification and validation are essential and are a paired effort. Results of both generate errors, bugs, issues – verification would help identify the errors in requirements and specifications while validation would help find the defects in the implemented software application.