Cucumber
Deep Dive with System Verification & Validation

Deep Dive with System Verification & Validation

Deep Dive with System Verification & Validation

The terms verification and validation are frequently used in software engineering to mean two different types of analysis. These are two other procedures used to check whether a product or a service meets specific requirements and specifications to meet customer needs.

The most straightforward definitions for verification and validation can be stated as below;

  • Verification – Are we building the right system?
  • Validation – Are we building the system, right?
  • According to the PMBOK guide, a standard adopted by the Institute of Electrical and Electronics Engineers (IEEE) defines the verification and validation as below.
  • “Validation. The assurance that a software product, service, or system meets the needs of the client and other identified stakeholders. It also involves acceptance and suitability with external customers. Contrast with verificationverification.”
  • “VerificationVerification. The evaluation of whether or not a product, service, or system complies with a requirement, regulation, specification, or imposed condition. It is often an internal process. Contrast with Validation.”

In other words, validation checks whether the product, service, or system meets the customer’s actual need. In contrast, verification is concerned with whether the product, service, or system is well-engineered, error-free, etc.  Verification will help decide whether the product is of high quality, but it will not guarantee that it is useful. The difference between these two terms is mostly to do with the specification. Validation is the procedure of checking whether the specification lies with customer needs, whereas verification is the process of testing that software meets the required specifications.

Verification

Verification involves all the undertakings associated with making a high-quality product or service. It includes testing, inspection, design analysis, specification analysis, and so on in a development phase verification process involved in performing a particular test to simulate a part or entire product, service, or system, then conducting an analysis of the test. In the post-development stage, the verification procedure involves regular conduction tests to ensure that the product, service, or system continues to meet initially designed requirements or specifications. Verification can happen throughout the development, scale-up, or production. Verification is often an internal process a very objective.

On the other hand, validation is very subjective and an external process. It involves making subjective assessments of how well the product, service, or system addresses the real world’s need. Validation comprises activities such as modeling, prototype, and user evaluations. In a new development flow or verification flow, the validation process involves modeling either flow and simulations to predict faults and failures that might invalidate the product or incomplete verification or development in the product, service, or system.

In the traditional software development lifecycle (SDLC), verification was often considered and carried out the verification process in each phase. Instead of validation process was done just in the beginning and in the project’s ending: requirement analysis and acceptance testing. Traditionally, it assumed that customer requirements can be identified entirely at the beginning of the project and will not change with the development of the product. But in practice, customer’s requirements vary throughout the project. Therefore, both Validation and Verification are needed throughout the software development lifecycle.

The chart below will help to understand validation and verification much easily.

  Validation Verification
Definition as per IEEE – STD – 610 “An activity that ensures that an end product stakeholder’s true needs and expectations are met.” “A test of a system to prove that it meets all its specified requirements at a particular stage of its development.”
Process of Ensuring that we develop the product correctly to meet user’s need Ensuring that we develop the product according to specifications.
Activity Type High level Low level
Target Actual product Application, Software architecture, Database design, etc.
Methodologies Black box testing, white box testing, non-functional testing, etc. Reviews, Walkthroughs, Inspections, Desk-checking, etc.

https://mrselenium.com/

 

Leave a Reply

Your email address will not be published.

×

Hello!

Click one of our representatives below to chat on WhatsApp or send us an email to mannavaadi@live.com

× How can I help you?