Blog / API Testing

Verification & Validation in software testing

Verification and validation terms are commonly used in software engineering and software testing which involves in two different kinds of activities focused on software and the end-product. This article will go through both verification and validation concepts in software engineering and software testing.

Written byMatt
Published OnSat Jul 31 2021
Last UpdatedSat Jul 31 2021

Verification and validation terms are commonly used in software engineering and software testing. This article will go through both verification and validation concepts in software engineering and software testing.

Table of Contents

What is verification

In the context of software & product development, verification is the process of evaluating whether or not a software product or system complies with the requirements and specifications. Software teams practice code reviews, style checks, static analysis, walkthroughs, and inspections to do the verification.

Verification is concerned with: Are we building the product right?.

As far as software testing is concerned, verification is testing whether the product matches the specification. QA, engineering, and team teams leverage unit testing, integration testing, functional and non-functional testing to automate the verification of the software.

In summary, from both product and test perspectives, verification makes sure that the product development follows the requirement and specifications of the product at any stage of the development.

What is validation

In the context of software & product development, validation is evaluating whether or not a software product or system meets the needs of the customers. Companies exercise validation through prototyping, user interviews, goal analysis.

Validation is concerned with: Are we building the right product?

As far as software testing is concerned, validation tests whether the product satisfies customer needs through usability testing, beta testing, and customer acceptance testing.

In summary, validation makes sure that the product meets customer needs from both product and test perspectives.

Verification vs. Validation

The table below compares verification and validation to give you a better picture of both concepts and the area they cover.

VerificationValidation
ProcessCompare software with the requirements & specifications.
Find the inconsistencies and fix them.
Make sure the product satisfies customer needs at any stage
PurposeAre we building the product right?Are we building the right product?
Development activitiesCode reviews, style checks, static analysis, walkthroughs, inspectionsprototyping, user interviews, goal analysis
Test activitiesUnit testing, integration testing, functional and non-functional testingusability testing, beta testing, customer acceptance testing
TargetsDifferent software components, architecture, infrastructure, databaseThe actual product
Waterfall developmentThroughout the developmentAfter development is completed
Agile developmentThroughout the developmentBefore, throughout and after development
Parties involvedEngineers, Testers, QAProduct owners, UX, testers, QA

Verification vs. Validation in software testing

As we discussed earlier, both verification and validations are done through automated and manual software testing. With that said, there are areas of testing that can be considered part of both verification and validation. In the diagram below, both beta & regression testing can be considered part of verification and validation.

Verification vs Validation in software testing

API verification using Testfully

Using Testfully, our customers exercise API testing to verify the correctness of their API across dev, staging, UAT, pre-prod, and production environments. Moreover, Testfully allows our customers to run the test cases in the background for API monitoring purposes. The below short video gives you a quick demo of Testfully for API testing & monitoring.

FAQ

What is verification?

Verification is the process of evaluating whether or not a software product or system complies with the requirements and specifications. In general, verification is concerned with: are we building the product right?

What is validation?

Validation is evaluating whether or not a software product or system meets the needs of the customers. In general, validation is concerned with: are we building the right product?

What kind of activities are done during verification?

Development activities include Code reviews, style checks, static analysis, walkthroughs, inspections. Software testing activities include Unit testing, integration testing, functional and non-functional testing.

What kind of activities are done during validation?

Development activities include prototyping, user interviews, goal analysis. Software test activities include usability testing, beta testing, customer acceptance testing.

What do we test as part of validation?

The actual product (developed or intended to be developed in the future).

What do we test as part of verification?

Software, architecture, infrastructure, source code, and databases.

Do verification and validation overlap?

They don’t often overlap during development, but it’s not common to see verification and validation overlap during software testing.

Testfully is a bootstrapped startup from Sydney, Australia.
We're funded by our supportive & amazing customers.

The word `testfully` is a registered trademark of Testfully Pty Ltd.