Whilst you will find variations on the definitions of these two terms, within the broad software QA and testing fields, there is general consensus that verification identifies correctness whilst validation identifies the value of the last product.
Applying these general definitions to software testing, we note that the practical differences apply to the context and goals of the testing, as opposed to any difference in software testing methods or tools. 안전놀이터 The context and goals of ‘validating’ software is the end user or customer context whilst the context of software verification is ‘meets the specification’ ;.Indeed many software products are made correctly, that’s they meet standards and specifications, but they fail to generally meet the actual end user (i.e. customer) requirements.
Ultimately validation could be the focus of what the consumer is paying for and whoever does validation represents the voice of the consumer (or end user in the event of software applications developed for internal use). In practical terms what this means is separating the software quality control teams (i.e. test teams) into two broad groups, one that’s intimate understanding of the consumer context of the finished product and another group that’s strong understanding of how a software product ought to be produced.
By way of example consider an accounting application that records general ledger bookings. The business requirements will be produced which outline the business enterprise (accounting) rules to be followed. From the business enterprise requirements a technical specification will be produced which would document the behavior (i.e. program specification) of the ‘to be’ delivered software.
In the above mentioned example software validation would include the initial walkthrough of the business enterprise requirements, with the business enterprise representatives, to ‘validate’ that the requirements do in reality reflect what the application form is required to do for the business. When the last application has been developed any testing against the business enterprise requirements can be a validation activity. The walkthrough of the technical specification to ensure it has most of the functionality of the business enterprise requirements is just a verification activity. Also the testing of the delivered software contrary to the technical specification can be a verification activity.
Essentially validation can just only be done by people who have understanding of how a delivered software is going to be utilized whilst verification can be carried out by anyone who is able to read a specification (or standard) and determine when it is correct. Although we utilize the phrase ‘only’, this is not to demean the value of the verification team but alternatively to convey the fact strictly speaking the act of verification only requires understanding of standards and specifications.
In practical terms the degree of complexity of the business enterprise requirements will determine whether or not a specialized software validation team needs to exist. If there is considerable complexity and effort in understanding the business enterprise requirements then the business analyst would typically undertake the role of software validation. In instances of high business complexity the analyst would specialize in given business areas to be able to breakdown the problem domain.
Given a company facing team, to perform validation, a supporting team of software testers might be formed to perform verification. The features of splitting off the verification team, for large complicated projects, are concerned with efficiency (cost) and effectiveness (on communicating the business enterprise requirements to developers).