Whilst you will find variations on the definitions of both of these terms, within the broad software QA and testing fields, there is general consensus that verification identifies correctness whilst validation identifies the worthiness of the ultimate 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 conclusion user or customer context whilst the context of software verification is ‘meets the specification’ ;.Indeed many software products are designed correctly, that’s they meet standards and specifications, however they fail to meet the actual end user (i.e. customer) requirements.

Ultimately validation may be the focus of what the client is investing in and whoever does validation represents the voice of the client (or end user in the 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 understanding of the client context of the finished product and another group that’s strong understanding of how a software product should really be produced.

By means of example consider an accounting application that records general ledger bookings. The business requirements would be produced which outline the business enterprise (accounting) rules to be followed. From the business enterprise requirements a specialized specification would 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 first walkthrough of the business enterprise requirements, with the business enterprise representatives, to ‘validate’ that the requirements do actually reflect what the application is needed to do for the business. When the ultimate 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 contains all the functionality of the business enterprise requirements is just a verification activity. Also the testing of the delivered software against the technical specification can be a verification activity.

Basically validation can only just be performed by people who have understanding of the way the delivered software is going to be used whilst verification can be achieved by anyone who are able to read a specification (or standard) and determine when it is correct. Although we utilize the phrase ‘only’, this is simply not to demean the worthiness of the verification team but rather 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 a specialized software validation team needs to exist. When there is considerable complexity and effort in understanding the business enterprise requirements then a business analyst would typically accept the role of software validation. In instances of high business complexity the analyst would specialize in given business areas in order to breakdown the problem domain.

Given a business facing team, to perform validation, a supporting team of software testers might be formed to perform verification. The benefits of splitting off the verification team, for large complicated projects, are involved with efficiency (cost) and effectiveness (on communicating the business enterprise requirements to developers).

Leave a Reply

Your email address will not be published. Required fields are marked *