I have asked before and created a lot of controversy so I tried to collect some data and ask similar question again. E.g. V&V where all testing is only validation: http://www.buzzle.com/editorials/4-5-2005-68117.asp
According to ISO 12207, testing is done in validation:
•Prepare Test Requirements,Cases and Specifications
•Conduct the Tests
In verification, it mentiones.
The code implements proper event sequence, consistent interfaces,
correct data and control flow, completeness, appropriate allocation
timing and sizing budgets, and error definition, isolation, and
recovery. and The software components and units of each software item
have been completely and correctly integrated into the software item
Not sure how to verify without testing but it is not there as a technique.
From IEEE:
Verification: The process of evaluating software to determine whether
the products of a given development phase satisfy the conditions
imposed at the start of that phase. [IEEE-STD-610].
Validation: The
process of evaluating software during or at the end of the development
process to determine whether it satisfies specified requirements.
[IEEE-STD-610]
At the end of development phase? That would mean UAT..
So the question is, what testing (unit, integration, system, uat) will be considered verification or validation? I do not understand why some say dynamic verification is testing, while others that only validation.
An example: I am testing an application. System requirements say there are two fields with max. lenght of 64 characters and Save button. Use case say: User will fill in first and last name and save.
When checking the fields and Save button presence, I would say its verification. When I follow the use case, its validation. So its both together, done on the system as a whole.