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 worth 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 finish user or customer context whilst the context of software verification is ‘meets the specification’ ;.Indeed many software products are built correctly, that is they meet standards and specifications, nevertheless they fail to generally meet the real 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 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 has intimate familiarity with the customer context of the finished product and another group that has strong familiarity with how a computer software product should be produced.
By means of example consider an accounting application that records general ledger bookings. The business requirements will be produced which outline the business (accounting) rules to be followed. From the business requirements a technical specification will be produced which will document the behavior (i.e. program specification) of the ‘to be’ delivered software.
In the aforementioned example software validation would include the original walkthrough of the business requirements, with the business representatives, to ‘validate’ that certain requirements do in fact reflect what the application form is required to do for the business. When the last application has been developed any testing against the business requirements can also be a validation activity. The walkthrough of the technical specification to ensure it has all of the functionality of the business requirements is just a verification activity. Also the testing of the delivered software against the technical specification can also be a verification activity.
Basically validation can only just be achieved by people with familiarity with the way the delivered software is going to be properly used whilst verification can be done by anyone who can read a specification (or standard) and determine if it’s correct. Although we utilize the phrase ‘only’, this is not to demean the worth of the verification team but rather to convey the truth that strictly speaking the act of verification only requires familiarity with standards and specifications.
In practical terms their education of complexity of the business requirements will determine whether a specialized software validation team must exist. If there is considerable complexity and effort in understanding the business requirements then the business analyst would typically accept the role of software validation. In cases of high business complexity the analyst would specialize in given business areas in order to breakdown the issue domain.
Given a company facing team, to do validation, a supporting team of software testers might be formed to do verification. The benefits of splitting off the verification team, for big complicated projects, are worried with efficiency (cost) and effectiveness (on communicating the business requirements to developers).