V模型
V模型示意图:
在传统的开发模型中,比如瀑布模型,通常把测试过程作为在需求分析、概要设计、详细设计和编码全部完成之后的一个阶段,尽管有时测试工作会占用整个项目周期一半的时间,但仍有人认为测试只是一个收尾工作,而不是主要的工程。V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系。
- 局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现
- 优点:强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应
W模型
因为V模型忽略了测试的对象不应该仅仅包括程序,没有明确指出对需求、设计的测试,为了解决V模型的不足,便有了W模型:
W模型示意图:
相对于V模型,W模型增加了软件各开发阶段中应同步进行的验证和确认活动;W模型由两个V字型模型组成,分别代表测试与开发过程,双V图明确表示出了测试与开发的并行关系。
W模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的;因此W模型有利于尽早地全面的发现问题。
H模型
H模型示意图:
H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段;H模型使软件测试可以尽早的进行,并且可以根据被测物的不同而分层次进行。