关于软件测试中的检验(verification)和有效性验证(validation)的问题

2025-02-23 07:28:25
推荐回答(4个)
回答1:

它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 、完全度(completeness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。

软件测试的目标:

(1)测试是为了发现程序中的错误而执行程序的过程;

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;

(3)成功的测试是发现了至今为止尚未发现的错误的测试。

软件测试的内容:

软件测试主要工作内容是验证(verification)和确认( validation ),下面分别给出其概念:

验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。(Do the right thing)

1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;

2.程序正确性的形式证明,即采用形式理论证明程序符号设一计规约规定的过程;

3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。

确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right)

1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性;

2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。

软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期问各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。

从不同的角度出发,软件测试可以划分为不同的分类:

从是否关心软件内部结构和具体实现的角度划分

A.白盒测试

B.黑盒测试

C.灰盒测试

从是否执行程序的角度

A.静态测试

B.动态测试。

从软件开发的过程按阶段划分有

A.单元测试

B.集成测试

C.确认测试

D.验收测试

E.系统测试

回答2:

我怎么觉得你的中文描述的意思正好相反呢?

Validation:Are we building the right product?
这句的Right是对Product来说的,所以是“正确的产品”

Verification:Are we building the product right?
这句的right是对building来说的,所以是“正确的方式来做产品”

回答3:

二楼的,楼主要的不是理论,是意见 意见 意见 意见!

你发现了某中文网的错误信息我没有意见,
你的分析和判断能力如此高超我没有意见,
你提出了这麼复杂的问题我倒也没有意见,
你付出了这充满诱惑的悬赏我也没有意见,

我最有意见的就是本人为你这道题冥思苦想了半天居然毫头绪,也不知道坏了几个脑细胞了,楼主实在太太太太太“可恶”了

回答4:

jjjj