独立软件验证和确认(ISVV)简介

来源:互联网 发布:淘宝网代购服务店加盟 编辑:程序博客网 时间:2024/05/21 22:29

1.1         基本概念

独立软件验证和确认Independent Software Verification& Validation)是在软件的生命周期中由独立于开发队伍的实体对软件进行评估的规范化的方法。

ISVV来源于IV&V在软件上的应用。IV&V是上世纪70年代由美国军方发布的,为了安保反弹道导弹系统服务的第一套有意义的独立验证确认程序。到70年代末IV&V迅速普及。软件的复杂度、大小和重要性的增长导致了对IV&V的需求增长。同时IV&V得到了巩固,如今被一些组织广泛地应用,比如FAA(美国国防部),NASA(美航空局)和ESA(欧空局)。IV&V在一些标准中也被提到,如ISO/IEC12207IEEE1012

1.1.1          验证

验证是通过检查和提供客观证据,证实规定的需求是否得到满足。[1]

验证的概念包括两个基本原则:首先,软件必须能够正确地执行其被要求的功能;其次,软件不能执行任何不被要求的功能,该功能本身,或者与该功能结合后会降低整个系统的性能。验证的目标是保证整个软件生命周期的每个软件产品满足客户规定的需要和目标,这些规定和目标被文档化在软件需求规格说明书中。

验证同时还在软件文档的不同部分和需求规格说明书中相关的部分建立跟踪关系。一个全面的验证努力保证在规格说明书中所有的软件性能和质量需求被充分的测试,并且一旦发生改变时,测试结果可以被重复。验证是一个“持续的改进过程”,被应用到软件生命周期中以保证配置和操作的一致性。

1.1.2          确认

确认是通过检查和提供客观证据,证实特定预期用途的需求是否得到满足。[1]

测试产品的活动更接近于确认活动而不是验证活动。按照传统的说法软件测试过程被认为是一个确认过程。应用确认的过程,我们将在每个阶段结束时测试该阶段输出的正确性,包括在需求阶段对需求进行测试,在设计阶段对设计进行测试,在编码阶段对编码进行测试,在编码结束后,系统被测试以确定它的功能及操作的性能。

1.1.3          验证和确认的关系

关于验证和确认的关系,Bohem给出了一个经典的总结:

验证就是要用数据证明我们是否在正确的制造产品。注意这里强调的是过程的正确性。确认就是要用数据证明我们是否制造了正确的产品。注意这里强调的是结果的正确性。[2]

1.2         ISVV的目的

验证和确认工作的基本目标是要在系统开发的生命周期内发现软件缺陷,并确定软件系统是否实现了需要的功能和特性。有经验的软件人员并不试图把软件的验证和确认活动明确的分开,而更乐于把验证和确认作为一个目的在与确保软件最终满足规定的功能要求的整体活动来进行V&V活动。通常独立软件验证和确认有以下几方面的目标:

论证软件的技术正确性,包括安全性和保密性;

评价软件产品的总体质量;

确定是否符合开发过程标准;

提高用户对软件信心;

改进软件质量。

原创粉丝点击