软件验证及确认

✍ dations ◷ 2025-09-28 18:30:21 #软件验证及确认
在软件项目管理(英语:Software project management)、软件工程及软件测试中,验证及确认(verification and validation,简称V&V)是指检查软件是否符合规格及其预期目的的程序。验证及确认也被视为一种软件质量管理,是软件开发过程的一部分,一般归类在软件测试中。验证及确认有时会由公正的第三方单位进行,此情形下的验证及确认称为独立验证及确认,简称IV&V。确认(validation)的目的是检查产品设计是否符合其预期的目的,软件确认的目的是检查软件是否符合用户的需求而言,可以由动态检查(英语:dynamic testing)或是其他方式的审查来达成。依照能力成熟度模型(CMMI-SW v1.1)的定义:换句话说,验证程序确保产品符合客户需求,而确认程序确保产品符合要求及设计规格。验证程序确保“制造出正确的产品”(you built the right thing),而确认程序确保“以正确的方式制造产品”(you built it right)。在建模与模拟(英语:modeling and simulation)社群中,确认、验证及资格认可(英语:accreditation)的定义类似:验证及确认都是属于软件质量保证的一部分,但只靠验证及确认无法确保软件质量,需配合计划、需求可追溯性、配置管理及其他软件工程的概念才能确保软件质量。对于要求完美性能的任务关键系统,会使用形式方法确认系统的正确性,不过形式方法的成本相当的高,若是非任务关键系统,一般会使用其他的验证及确认方式,例如句法方法(英语:syntactic methods)等。测试用例是验证及确认过程中使用的工具,测试用例一组条件或变量,测试者根据它来确定应用软件或软件系统是否正确工作。测试用例是为了验证而准备,其目的是评估后续建构产品的程序是否正确。测试用例是为了确认而运行,是评估产品是否依照用户的需求而设计及制造的程序,若在软件开发生命周期的前面,会用其他方法(例如软件评审)进行确认。有一些产业的验证及确认需符合相关法令的兼容性要求,一般会由政府机构或是产业主管部分进行指导。例如美国食品药品监督管理局要求医疗设备的软件及补丁均需经过确认的程序。

相关

  • 嗜血杆菌属H. aegyptius H. aphrophilus H. avium H. ducreyi H. felis H. haemolyticus H. influenzae H. parainfluenzae H. paracuniculus H. parahaemolyticus H. pittmaniae Haem
  • 恶性疟原虫Oscillaria malariae Laveran, 1881 Plasmodium malariae Marchiafava and Celli, 1885 Laverania malariae Feletti and Grassi, 1890 Ematozoo falciforme Antolisei and
  • 树皮树皮是木质植物,例如树的茎和根最外面的部分。狭义的树皮包括三层:木栓、木栓形成层和栓内层,以及外部的各种死组织,广义的树皮还包括韧皮部。有的植物的树皮中含有各种生物碱、
  • Hsub4/subXeOsub6/sub高氙酸(化学式: H 4 X
  • 内画内画壶是清朝末年发展起来的一种中国工艺品,最开始只是为了装饰鼻烟壶,后来逐渐发展成为一种独特的工艺。一般用半透明料器制造的鼻烟壶,也有高级的用水晶、玛瑙、翡翠等制作的
  • 玛莎与熊伏尔加格勒一座童话公园里的等身雕像《玛莎与熊》是由俄罗斯Animaccord动画工作室所作的3D电脑动画影集。故事改编自同名俄罗斯童话故事,描述著一名女孩玛莎在森林里与熊和各
  • 作用于毛细小动脉的抗高血压药抗高血压药(英文:Anti-hypertensives)肼屈嗪 米诺地尔 硝普钠含羧基类: 依那普利# • 雷米普利 • 喹那普利 • 培哚普利 • 赖诺普利 • 贝那普利含次膦酸基类: 福辛普利 其
  • 德国疫情相关争议2019冠状病毒病德国疫情,介绍在2019-2020年冠状病毒病疫情在德国的情况,若无特殊注明,本条目中所有日期均为2020年。疫情最早于中国湖北省武汉市爆发,1月27日,巴伐利亚确诊了首宗
  • 澳大利亚大盆地大自流盆地(英语:Great Artesian Basin)澳大利亚大陆中部偏东,面积约为177万平方公里,为世界第三大盆地,中心的艾尔湖为澳洲海拔最低点。在澳大利亚岩层上,覆盖着不透水层,东部多雨,
  • 敏捷敏捷软件开发(英语:Agile software development),又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们