由安博测试空间技术中心http://www
btestingsky
com/提供1软件测试管理模型近年来,随着对软件测试的不断深入,对于各个测试阶段的理解加深,软件测试管理模型不断地发生演化,其中最具有代表性的测试管理模型有三种:V模型、W模型和H模型
V模型的特点就是根据瀑布模型的阶段划分,对于没一个阶段进行针对性的测试,这种划分很简单,也容易进行管理,如图一所示
V模型揭示了软件测试活动的分层和分阶段的本质特性
但也存在一些问题,容易让人行程“测试是开发之后的一个阶段”,“测试的对象就是程序”等误解
实际应用上,也容易导致需求阶段隐藏的错误一直到最后的验收测试才被发现,这可能导致软件开发的不可控
W模型是V模型自然而然的发展,他强调:测试伴随着整个开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试,如图2所示
这样,只要相应的开发活动完成,我们就可以开始执行测试,可以说,测试与开发时同步进行的,从而有利于尽早的发现问题
以需求为例,需求分析一完成,我们就可以对需求进行测试,而不必等到最后猜猜进行针对需求的验收测试
然而,无论是V模型还是W模型,都存在不妥之处
他们都把软件的开发视为需求、设计和编码等一系列的串行活动
事实上,虽然这些活动之间存在着互相牵连的关系,但在大部分时间,它们都是互相独立的,但是可以并发进行的
虽然软件开发期望有清晰的需求、设计和编码等阶段,但实践告诉我们,严格的阶段之分只是一种理想的状况
所以相应的测试也不存在严格的先后次序,只要测试条件满足,就可以(或需要)进行测试
H模型则有所不同,如图3所示
它仅仅演示了在整个测试周期中,某个层次上的一次测试“微循环”
图中的其他流程可以是任何开发流程,例如设计流程和编码流程,也可以是其他非开发的流程,例如SQA流程,甚至是测试流程自身
向上的箭头表示,在某个时间点由于“其他流程”的进展而引发