Verification and Validation with Example

Software TestingAutomation TestingTesting Tools

In software testing, what is the difference between verification and validation?

The phrases "verification" and "validation" are regularly used in the context of testing. Most of the time, we mistakenly confuse the two words, although they are really extremely distinct.

V&V (Verification & Validation) assignments are divided into two categories −

  • Conforms to specifications (Producer view of quality)

  • Suitable for usage (consumers view of quality)

Simply put, the developer's impression of the completed product is referred to as the producer's view of quality.

The user's perspective of the completed product is referred to as consumer perception quality.

When doing V&V duties, we must keep both of these quality perspectives in mind.

Let's start with the definitions of verification and validation, and then we'll look at some instances to help us comprehend these words.

Note − These definitions are from the CSTE CBOK of the QAI (check out this link to know more about CSTE).

What Is Verification and How Does It Work?

Verification is the process of reviewing the intermediate work products of a software development lifecycle to ensure that we are on track to complete the final result.

In other words, verification is a process of evaluating software mediation products to see whether they meet the requirements set out at the start of the phase.

The issue now is, what xactly are intermediate or mediator products?e

These may comprise documentation like requirements specifications, design documents, database table design, ER diagrams, test cases, traceability matrix, and so on that are created throughout the development stages.

We often overlook the necessity of examining these papers, but we should remember that reviewing may uncover numerous hidden flaws that, if discovered or addressed later in the development cycle, can be quite expensive.

Verification uses review or non-executable techniques to guarantee that the system (software, hardware, documentation, and staff) meets an organization's standards and procedures.

Where does verification take place?

Following are some of the areas in which verification is conducted in IT projects (I must underline that this is not an exhaustive list).

Verification SituationActorsDefinitionOutput
Requirement for Business/Functionality
Examine the business needs with the development team and the customer.
This is a crucial stage to ensure that the requirements have been acquired and/or accurately, as well as to determine whether or not they are realistic.
The criteria have been finalized and are ready to be devoured by the following stage, design.
Design ReviewDev teamThe Dev team extensively evaluates the design once it is created to ensure that the functional requirements can be satisfied with the design presented.
The design is ready for integration into an IT system.
Code WalkthroughIndividual DeveloperAfter the code has been written, it is examined for any syntactic mistakes. This is a more informal task that is carried out by the individual developer on his or her own code.
Unit testing is now possible with this code.
Code InspectionDev teamThis is a more formal configuration. Subject matter experts and developers review the code to ensure that it meets the software's commercial and functional objectives.
The code is now available for testing.
Test Plan Review (internal to QA team)
QA TeamThe QA team reviews a test plan internally to ensure that it is correct and thorough.
A test plan document that may be shared with other teams (Project Management, Business Analysis, development, Environment, client, etc.)
Test Plan (External)Project Manager, Business Analyst, and Developer
A formal review of the test plan document to ensure that the QA team's timeframe and other factors are in sync with the other teams and the overall project.
A signed or authorized test plan document will be used to conduct the testing activity.
Test documentation review
QA TeamA peer review is when members of a team check each other's work to ensure that the documentation is free of errors.
The test documentation is complete and ready to be shared with other teams.
Test documentation final review
Business Analyst and Development Team
A review of the test documentation to ensure that the test cases cover all of the system's business circumstances and functional features.
Test documentation is complete and ready to run.

What Is Validation and How Does It Work?

Validation is the process of assessing the completed product to see whether it fits the business requirements. To put it another way, the test execution that we undertake on a daily basis is essentially a validation activity that comprises smoke testing, functional testing, regression testing, systems testing, and so on.

Validation encompasses all types of testing that include interacting with the product and putting it to the test.

The validation procedures are listed below −

  • Unit Testing
  • Testing for integration
  • System Evaluation
  • Acceptance Testing of Users

Validation verifies that the system follows the plan by putting it through a set of tests that can be viewed and assessed.

Examples of Validation and Verification

Real-life Consider this scenario: You're going to a restaurant and ordering blueberry pancakes. How do you determine whether the meal that comes out is what you ordered when the waiter/waitress brings it out?

The first thing we notice when we look at it is the following −

  • Is the food what you'd expect pancakes to look like?
  • Are there any blueberries around?
  • Do they have the correct smell?

Maybe a little more, but you get the idea.

On the other hand, if you need to be certain that the dish is exactly what you anticipated, you'll have to consume it.

When you haven't eaten yet but want to double-check a few things by going over the topics, verification is the way to go. When you validate a product, you actually consume it to verify whether it's correct.

V&V at Various Stages of the Development Process

In each step of the development lifecycle, verification and validation are carried out.

Let's take a closer look at them.

Tasks V and V – Planning

  • Contract verification.
  • Concept document evaluation.
  • Performing a risk assessment

Requirement phase – V & V tasks

  • Software needs are assessed.
  • The interfaces are evaluated and analyzed.
  • The creation of a test plan for the systems.
  • The creation of a strategy for acceptance testing.

Design Phase V&V Tasks

  • Software design evaluation.
  • The Interfaces' Evaluation/Analysis (UI).
  • Integration test plan creation.
  • The Component test plan is created.
  • Creating a test design.

V&V Tasks - Phase of Implementation

  • Source code evaluation.
  • Documentation evaluation.
  • Test cases are created.
  • The test process is created.
  • Components test cases are executed.

Test Phase of V&V Tasks

  • Execution of a test case for a system.
  • The acceptance test case is executed.
  • Metrics for traceability are being updated.
  • Risk assessment

V&V Tasks - Phases of Installation and Checkout

  • Installation and configuration audit.
  • The installation candidate build's last test.
  • The final test report is created.

V&V Tasks - Phase of Operation

  • A new constraint is being evaluated.
  • Evaluation of the proposed modification.

V&V Tasks - Phase of Maintenance

  • The abnormalities are assessed.
  • Migration evaluation.
  • The characteristics of the retry are evaluated.
  • Evaluation of the proposed modification
  • Validating the concerns with the production.

Difference between Validation and Verification

VerificationValidation
Examines intermediate products to see whether they fulfill the phase's specific criteria.
Examine the completed product to see whether it fulfills the company's requirements.
Checks if the product is constructed according to the requirements and design specifications.
It assesses if the software is suitable for usage and meets the requirements of the company.
"Are we creating the product correctly?" is checked.
"Are we developing the proper product?" is checked.
This is accomplished without running the program.
Is finished with the software's execution.
All static testing approaches are included.
All dynamic testing procedures are included.
Reviews, inspections, and walkthroughs are just a few examples.
All sorts of testing, such as smoke, regression, functional, systems, and UAT, are examples.

When Should Validate and Verify be Used?

These are separate processes that should be used in tandem to ensure that the system or application meets the requirements and specifications and fulfills its intended purpose. Both are critical elements of a quality management system.

It's not uncommon for a product to pass the verification step yet fail the validation phase. However, though it fulfilled the written criteria and specifications, those standards were unable to meet the user's demands. As a result, it is essential to conduct testing for both categories in order to assure overall quality.

In development, scale-up, or production, verification may be employed as an internal procedure. Validation, on the other hand, should be utilized as an external procedure to get stakeholder approval of fitness.

Is User Acceptance Testing (UAT) Validation or Verification?

Validation should include UAT (User Acceptance Testing). It is the system or application's real-world validation, which is carried out by actual users to determine if the system is "fit for use."

Conclusion

V&V procedures assess if a certain activity's goods meet the standards and are suitable for their intended purpose.

Finally, there are a few points to keep in mind −

  • To prevent any misunderstanding, remember that verification refers to the review activities or static testing methods, while validation refers to the actual test execution activities or dynamic testing approaches.

  • The product may or may not be used in the verification process. The product is unquestionably required for validation. Verification may be done on the papers that reflect the final system on occasion.

  • The testers do not have to complete all of the verification and validation. Some of them are handled by developers and other teams, as mentioned earlier in this article.

raja
Updated on 17-Dec-2021 11:05:02

Advertisements