不要追求绝对的公平,红尘之中没有公平而言,人活一世,难得糊涂。
it is no use doing what you like, you have got to like what you do.
验证和确认测试
上一篇 /
下一篇 2007-01-08 10:25:12
/ 个人分类:软件测试技术
在广义上,
软件测试是验证和确认VERFICATION AND VALIDATION(V﹠V〕。验证指保证软件正确地实现了一特定功能的一系列活动。确认是指保证所生产的软件可追溯到用户需求的一系列活动。
51Testing软件测试网#xC|*L#E#onBOEHM对V﹠V的解释是:
51Testing软件测试网"h}.`
q9n)b,NH VEIFICATION: "Are we building the product right?"
51Testing软件测试网
E1GmBj}6C VALIDATION: " Are we building the right product?"
51Testing软件测试网
^ OL{z?ad6}&y;I/D51Testing软件测试网|.|"ZSW3c“验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性。51Testing软件测试网b}VZi1kd
g!h8`:yX4j*e*k0验证过程提供证据表明软件相关产品与所有生命周期活动的要求
MRV RD/d8ds"Y051Testing软件测试网H
s0n\"p#Ky4W(如正确性、完整性、一致性、准确性等)相一致。51Testing软件测试网q0ksF0fw"N.zo
相当于,以Spec为标准进行软件测试活动,验证软件产品和Spec的一致性。51Testing软件测试网F Ys:T5U |5q4\
/?n X3Op{0kT1B0“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。
"xEH*{
y#Cgz051Testing软件测试网a#N1X6_O;fK1A相当于,保持对软件需求定义、设计的怀疑,一切从客户出发,
'OS*|i9p:q q{09S+i'y4};ym_0理解客户的需求,发现需求定义和产品设计中的问题。
yitWEO9T(s0*K N6H`U0这主要通过各种软件评审活动来实现。
8ok1x E#X0Yq.s0 V&V的过程包含了许多内容和活动,如:
51Testing软件测试网X(p9o:j
A-{^&zu 软件工程方法提供了质量建立的基础;
g_2G7h]9{0 分析、设计和编码方法通过提供统一的技术和可预测的结果来提高质量;
51Testing软件测试网 E*R"XP/IIgP
^ 正规检视和评审有助于保证软件工程各个阶段产品的质量;
g8Xi
Xf6bzT0 度量和控制被应用到软件配置的每一个部件中;
51Testing软件测试网Y*r;] ns s"Tk Rd9U 标准和过程有助于保证开发的一致性;
)b9`iA&j
}:SK8j,Hv0 一个正规的SQA过程加强整体质量;
51Testing软件测试网;F4m SO5Gp` 测试是保证质量的最后一道措施。但是不能把测试看作一个安全网。质量是贯穿于软件过程的每一个阶段。因此尽管测试在V&V中起着非常重要的作用,但是许多其它活动也是必要的。为了提高软件的全员质量,应该重视V&V中的每一个活动。
rI-Rpxo051Testing软件测试网!ea^-T[7{*I6k)L验证:按照IEEE/ANSI的定义,是为确定某一开发阶段的产品是否满足在该阶段开始时提出的要求而对系统或部件进行评估的过程。
JI@;mI
H"x!W0W*]0|0 我们有清晰完整的需求吗?有一个好的的设计码?按照设计生产出的产品是什么?验证就是对诸如需求规格说明,设计规格说明和代码之类的产品进行评估、评审、审查和桌面检查的过程。如果是针对代码,其含义就是代码的静态分析——代码评审,而不是动态执行代码。验证测试可应用到开发早期一切可以被评审的事物上,以确保该阶段的产品正是我们所需要的。
51Testing软件测试网c6}f@'w%k,bD$I51Testing软件测试网S2a2w%tJ$j 确认:按照IEEE/ANSI的定义,是在开发过程中或结束时,对系统或部件进行评估,以确定其是否满足需求规格的过程。
qz2mk+]B0 正式的确认包括实际软件或仿真模型的运行,确认是“基于
计算机的测试”过程,它经常暴露错误的现象。
51Testing软件测试网7[6i5k6JW.tG51Testing软件测试网ib%~?qlj6Y定义:测试=验证+确认
2S-}i`
Hb0;[)\~1z{9|V$}e VZ0 验证和确认是互补的,发现错误的效果会由于它们中的一个或另一个没有完成而受到损失,它们是为捕获不同类型问题而设计的过滤器。
AK5mbLXaR0 历史上的测试一直是主要针对确认,而且这种情况还将继续,这并不是说我们应该停止做确认,而是应更加清楚怎么去做,并怎样结合验证去做。我们必须保证在适当的时候,对适当的产品进行验证和确认