Verification vs validation, two of the most controversial terminologies in the software industry have managed to confuse many. However, it is true that Both need to be carried out properly at the right time for any software to be functional. Having a deep understanding of both would make sure that there is no room for any sort of confusion whatsoever.
So what exactly does both of them mean?
Validation is the process which will ensure that the right product is being built and verification will ensure that the product is being made in the right way.
So what’s the process?
Intermediary work products of a Software Development Life Cycle (SDLC) such as documents of requirements, specifications, design documents, ER diagrams, Test cases, traceability matrix, database table design etc. is checked against the software at any particular point to ensure that it is meeting its specifications. That’s verification.
Finished software needs to be checked to find out whether it has met its business requirements. To be short, test execution done to find errors in software is actually validation process. Testing like Unit Testing, Integration Testing, Functional Testing, Stress Testing, Performance Testing, Usability Testing, Acceptance Testing, Regression Testing, Beta Testing etc. are prime examples.
To make it crystal clear, go through this Infographic Representation.