CMMI中与测试直接相关的两个PA VER VAL
 

2009-12-03 作者:张传波 来源:网络

 

验证就是按照既定的标准,检查工作产品是否符合要求。工作产品可能是文档也可能是软件本身。而检查的办法一般是同行评审或者是软件测试。

那什么是同行评审呢?比方说:A君是做软件设计的,B君也是做软件设计的,A君写了一份设计文档,让B君这个同行(因为大家都是做设计的)来给给意见,这样就使同行评审。同行评审的目的就是让有同样工作经验和技能的人来评审自己的工作产品,发现尽量多的问题。 验证这个PA其目的是希望软件企业在软件开发整个过程中,做好相应的检查工作,把尽量问题发现前面,保证了项目的可控性,降低开发的成本。

这个PA有3个Specific Goals,SG1讲述的是做好验证的准备,SG2、SG3分别讲述的是执行验证的两种办法,一种是同行评审,一种是执行验证(通常就是测试)。

如果测试是在用户实际生产环境下进行的,例如:验收测试、客户试用系统等,这时这类工作就属于确认(Validation)了,请参考关于“确认(Validation)”的帖。

SG1 Preparation for verification is conducted.

准备验证的工作。

SP1.1 Select the work products to be verified and the verifaction methords that will be used for each.

选择需要验证的工作产品以及每个工作产品的验证办法。

组织会定义要进行同行评审的工作产品,如:计划文档、需求文档、设计文档、代码等,并且规定了每种文档的同行评审办法。组织也会定义需要进行测试的软件产品,比方说要进行单元测试、集成测试、系统测试等。

SP1.2 Establish and maintain the environment needed to support verification.

建立和维护支持验证所需的环境。

对于同行评审来说,支持环境可能就是会议室、投影、电脑、事先准备好的文档等。

对于测试来说,支持环境可能就是测试的软件环境、数据环境、硬件环境等。

SP1.3 Establish and maintain verification procedures and criteria for the selected work products.

建立和维护工作产品的验证过程及准则。

对于同行评审来说,验证过程就是同行评审开展的过程相关规定,如要事先发资料、通知大家到会、会议的组织、会议记录等等,准则可能就是每个工作产品的评审标准。

对于测试来说,验证过程就是测试过程的相关规定,准则就是需求规格说明书,或者说是测试通过的标准。

SG2 Peer reviews are performed on selected work work products.

对指定的工作产品进行同行评审。

SP2.1 Prepare for peer reviews of selected work products.

做好同行评审的准备。

如:把要评审的文档实现发给大家,准备好会议议程,准备好会议室、投影仪等。

SP2.2 Conduct peer reviews on selected work products and identify issues resulting from the peer review.

执行同行评审并识别同行评审中发现的问题。

SP2.3 Analyze data about preparation,conduct,and results of the peer reviews.

分析在同行评审准备、执行、结果方面的数据。例如:记录评审的准备、进行时间,发现的问题数量,对每个问题进行分析等。

SG3 Selected work products are verified against their specified requirements.

根据指定的要求验证工作产品。

这里的验证既包括同行评审也包括测试,但因为SG2专门是针对同行评审的,这个SG可以理解成主要针对除了同行评审外的其它验证活动。

SP3.1 Perform verification on the selected work products.

对指定的工作产品进行验证。如:执行单元测试、集成测试、系统测试等。

SP3.2 Analyze the results of all verification activities and identify corrective action.

分析验证的结果,并制定修正计划。这里强调的是:除了要分析发现的问题外,还需要采取行动修正这些问题。

[b]确认(Validation)[/b]

开始之前,建议先看此贴:

[url]http://cmmionline.net/forums/thread/214.aspx[/url]

与验证不同,验证强调的是在开发过程中对工作产品进行检查,尽早发现问题。

而确认强调的是,在真实的使用环境中,确保软件能达到预期的效果。开发环境与真实环境是不可避免存在差异的,为了有效地避免在开发环境中没有问题,但一到真实环境就出现问题的情况,确认的工作是非常重要的。

确认不一定在项目后期才进行,这个PA没有对确认的时间有任何的规定。作为一般的常识,我们应该尽快安排软件的确认工作,如:尽快发出一个小版本,在实际环境中运行起来,尽快发现确认中的问题。

一般来说,调试、试用、验收测试等都是确认的工作。

SG1 Preparation for validation is conducted.

准备确认工作。

SP1.1 Select products and product components to be validated and the validation methods that will be used for each.

选择需要确认的产品、产品组件以及确认的方法。

SP1.2 Establish and maintain the environment needed to support validation.

建立和维护支持确认的环境,如试用环境、验收环境的准备等。

SP1.3 Establish and maintain procedures and criteria for valication.

建立和维护确认的过程及确认准则。

SG2 The product or product components are validated to ensure that they suitable for use in their intended operating environment.

执行确认,确保产品或者产品组建在目标操作环境下满足使用的要求。

SP2.1 Perform validation on the selected products and product components.

执行产品及产品组建的确认工作。

SP2.2 Analyze the results of the validation activities and identify issues.

分析确认活动的结果并识别出问题。

火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。

资源网站: UML软件工程组织