Whilst there are variations on the definitions of both of these terms, within the broad software QA and testing fields, there’s general consensus that verification describes correctness whilst validation describes the value of the ultimate product.
Applying these general definitions to software testing, we see that the practical differences affect 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 conclusion user or customer context whilst the context of software verification is ‘meets the specification’ ;.Indeed many software products are built correctly, that’s they meet standards and specifications, but they fail to meet the true end user (i.e. customer) requirements.
Ultimately validation may be the focus of what the customer is paying for and whoever does validation represents the voice of the customer (or end user in case 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 knowledge of the customer context of the finished product and another group that’s strong knowledge of how a software product must be produced.
By way of example consider an accounting application that records general ledger bookings. The company requirements could be produced which outline the business enterprise (accounting) rules to be followed. From the business enterprise requirements a specialized specification could be produced which will document the behavior (i.e. program specification) of the ‘to be’ delivered software.
In the above example software validation would include the original walkthrough of the business enterprise requirements, with the business enterprise representatives, to ‘validate’ that the requirements do in fact reflect what the application must do for the business. When the ultimate application has been developed any testing against the business enterprise requirements is also a validation activity. The walkthrough of the technical specification to be sure it has all of the functionality of the business enterprise requirements is a verification activity. Also the testing of the delivered software from the technical specification is also a verification activity.
In essence validation can only just be performed by people with knowledge of the way the delivered software will probably be properly used whilst verification can be done by anyone who can read a specification (or standard) and determine if 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 that strictly speaking the act of verification only requires knowledge of standards and specifications.
In practical terms their education of complexity of the business enterprise requirements will determine whether or not a specialized software validation team must exist. If there is considerable complexity and effort in understanding the business enterprise requirements then the business analyst would typically accept 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 issue domain.
Given a company facing team, to execute validation, a supporting team of software testers could possibly be formed to execute verification. The benefits of splitting off the verification team, for big complicated projects, are worried with efficiency (cost) and effectiveness (on communicating the business enterprise requirements to developers).