Software verification and validation: Difference between revisions

Content deleted Content added
CoderGnome (talk | contribs)
Reworded introduction.
No edit summary
Line 1:
In [[software project management]] and [[software engineering]], '''Verification and Validation''' (V&V) is the process of checking that a software system meets specifications and that it fulfills its intended purpose. It is part of the [[software testing]] process of a project.
 
==Definitions==
'''Verification''' verifies that the final product satisfies or matches the original design (low-level engineering).
 
'''Validation''' validates that the product design satisfies or fits the intended usage (high-level marketing).
 
 
According to the [[Capability Maturity Model]] (CMMI-SW v1.1), “Verification confirms that work products properly reflect the requirements specified for them. In other words, verification ensures that ‘you built it right‘. Validation confirms that the product, as provided, will fulfill its intended use. In other words, validation ensures that ‘you built the right thing’”.
 
==Related concepts==
Both verification and validation are related to the concepts of [[quality]] and of [[software quality assurance]]. By themselves, verification and validation do not guarantee software quality; planning, traceability, configuration management and other aspects of software engineering are required.
 
==Classification of methods==
In mission-critical systems where flawless performance is absolutely necessary, [[formal methods]] can be used to ensure the correct operation of a system. However, often-times for non-mission-critical systems, formal methods prove to be very costly and an alternative method of V&V must be sought out. In this case, [[syntactic methods]] are often used.
 
===Test cases===
[[Test case]]s are the method most often miss-associated with V&V. In actuality, test cases can only be used for validation while other methods such as reviews used early in the Software Development Life Cycle provide for verification.
 
==Independent Verification and Validation==
 
Verification and validation often is carried out by a separate group from the development team; in this case, the process is called "independent verification and validation", or IV&V.
 
==External sources==
 
* E. Tran, ''Dependable Embedded Systems''. Carnegie Mellon University, USA, Spring 1999.
* T. Menzies, Y. Hu, Data mining for very busy people. [[Computer (magazine)|IEEE Computer]], November 2003, pp. 22–29.
 
[[Category:Software engineering]]