软体验证及确认
在软体专案管理、软体工程及软体测试中,验证及确认(verification and validation,简称V&V)是指检查软体是否符合规格及其预期目的的程序。验证及确认也被视为一种软体品质管理,是软件开发过程的一部份,一般归类在软体测试中。
验证及确认有时会由公正的第三方单位进行,此情形下的验证及确认称为独立验证及确认,简称IV&V。
定义
[编辑]确认(validation)的目的是检查产品设计是否符合其预期的目的,软体确认的目的是检查软体是否符合使用者的需求而言,可以由动态检查或是其他方式的审查来达成。
依照能力成熟度模型(CMMI-SW v1.1)的定义:
- 确认(validation):是在特定开发阶段中,评估软体是否符合阶段开始前所定义条件的程序(IEEE-STD-610)。
- 验证(verification): 是在开发阶段后,评估软体是否符合规格需求的程序(IEEE-STD-610)。
换句话说,程序确保产品符合客户需求,而验证程序确保产品符合要求及设计规格。确认程序确保“制造出正确的产品”(you built the right thing),也就是符合客户需求的产品,而验证程序确保“以正确的方式制造产品”(you built it right)。
白话来说,对于抓老鼠为目的:
- Validation
- 黑猫白猫能抓老鼠的就是好猫。
- Verification
- 预先定义猫的健康标准,以此标准饲养符合条件的高品质成猫,期待其能抓老鼠。(期待而不保证)
- 确认是评估建模或模拟及其相关资料是否准确表达其预期机能的程序[1]
- 资格认可是认证建模与模拟可以用在特定用途的正式认证过程[1]。
- 验证是评估电脑建模或模拟及其相关资料是否准确描述开发者概念描述及规格的程序[1]。
相关概念
[编辑]验证及确认都是属于软体品质保证的一部份,但只靠验证及确认无法确保软体品质,需配合计划、可追踪性、组态管理及其他软体工程的概念才能确保软体品质。
分类
[编辑]对于要求完美性能的任务关键系统,会使用形式方法确认系统的正确性,不过形式方法的成本相当的高[2],若是非任务关键系统,一般会使用其他的验证及确认方式,例如句法方法等。
测试用例
[编辑]测试用例是验证及确认过程中使用的工具,测试用例一组条件或变量,测试者根据它来确定应用软件或软体系统是否正确工作。
测试用例是为了验证而准备,其目的是评估后续建构产品的程序是否正确。
测试用例是为了确认而执行,是评估产品是否依照使用者的需求而设计及制造的程序,若在软体开发生命周期的前面,会用其他方法(例如软体评审)进行确认。
监管环境
[编辑]有一些产业的验证及确认需符合相关法令的相容性要求,一般会由政府机构[3][4]或是产业主管部份进行指导。例如美国食品药品监督管理局要求医疗设备的软体及补丁均需经过确认的程序。[5]
有关条目
[编辑]参考资料
[编辑]- ^ 1.0 1.1 1.2 Department of Defense Documentation of Verification, Validation & Accreditation (VV&A) for Models and Simulations. Missile Defense Agency. 2008.
- ^ M. Archer, C. Heitmeyer and E. Riccobene. Proving invariants of I/O automata with TAME. Automated Software Engineering, 9, 201-232 (2002).
- ^ General Principles of Software validation; Final Guidance for Industry and FDA Staff (PDF). Food and Drug Administration. 2002-01-11 [2009-07-12]. (原始内容存档 (PDF)于2017-08-30).
- ^ Guidance for Industry: Part 11, Electronic Records; Electronic Signatures — Scope and Application (PDF). Food and Drug Administration. August 2003 [2009-07-12]. (原始内容存档 (PDF)于2010-07-30).
- ^ Guidance for Industry: Cybersecurity for Networked Medical Devices Containing Off-the Shelf (OTS) Software (PDF). Food and Drug Administration. 2005-01-14 [2009-07-12]. (原始内容存档 (PDF)于2018-12-30).