Verification and Validation

Ranjan Bajracharya
3 min readJan 15, 2018

--

In the development life cycle of any software, it must be checked before implementation to ensure if its specification and functionality are fulfilled. Verification and Validation is the name to these checking and analysis. They start with requirement review and continue to design, review and code inspection to product testing. Verification and validation are two different terms.

Verification => Are we building product right ??

Validation => Are we building right product ??

Verification and Validation goals

  1. Correctness
  2. Consistency
  3. Necessity
  4. Sufficiency
  5. Performance

Verification and validation planning ??

Careful planning is required to get the most out of testing and inspection process. Planing should start from early stage of development. Effective V & V plan requires many considerations that are:

  1. Identification of V & V Goals
  2. Selection of V & V Techniques
  3. Organizational Responsibilities
  4. Integrating V & V Approaches
  5. Problem Tracking

Software inspection

Software inspection analyzes and checks system representation such as requirement document, design program, and program source code. It is a static verification and validation process in which a software system is reviewed to find errors, omissions and anomalies. When an inspection is done, knowledge of system, its application domain, design model and error conditions are used. Advantage of software inspection :-

  1. It can be applied early in the software development process.
  2. Lower costs to repair a defect.
  3. Inspections can be applied early in the development process, quality problems can be found and corrected directly where they have been introduced.

Cleanroom Software development

The Cleanroom process is a theory-based, team-oriented process for the development and certification of high-reliability software systems under statistical quality control. Its principal objective is to develop software that exhibits zero failures in use. The goals in this method is to reduce the failures found during testing by enabling good and correct designs that avoid rework.The clean room approach to software development is based on five key strategies:-

Formal Specification:- The software to be developed is formally specified. The state based model is a system specification and the inspection process checks the program against this model.The programming approach is defined so that the correspondence between model and system is clear. Simply, it formalize the model according to system specification.

Incremental Development :- Software products are developed in a series of functional increments that sum up to the final deliverable product. These increments represent operational user functions. The most stable requirements are implemented first, with further steps of requirements resolution performed with each successive increment. The integration of these increments is done top down.

Structured Programming:- Only a limited number of control and data abstraction construct are used. The program development process of step wise refinement of the specification. The aim is to systematically transform the specification to create the program code.

Static Verification:- The developed software is statically verified by using various software inspection techniques.

Statistical Testing of the system:- The integrated software increments are tested statistically determines its reliability. These statistical tests are based on operational profile which is developed in parallel with the system specification.

--

--

Ranjan Bajracharya
Ranjan Bajracharya

Written by Ranjan Bajracharya

MSP 2017. Graduation in computer science and information technology. Studying MBA.

No responses yet