V模型
原理:V模型是软件开发瀑布模型的变种,主要反映测试活动与分析和设计的关系,从左到右,描述了基本的开发过程和测试行为。V模型的策略既包括低层测试又包括了高层测试,低层测试是为了源代码的正确性,高层测试是为了使整个系统满足用户的需求。
价值体现:它非常明确地标明了测试过程中存在的不同级别,强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应。
局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现。忽略了测试的对象不应该仅仅包括程序,没有明确指出对需求、设计的测试。言简意赅的说:没有明确说明早期的测试,不能体现“尽早地和不断地进行软件测试”的原则。
W模型
原理:在V模型中增加软件各开发阶段应同步进行的测试,别演化为一种W模型,因为实际上开发是“V”,测试也是与此相并行的“V”。W模型可以说是V模型自然而然的发展。它强调,测试伴随着整个软件开发周期,而且测试的对象不仅仅是层序,需求,功能和设计同样要测试。
价值体现:我们可以认为,W模型,测试与开发是同步进行的,从而有利于今早的发现问题。强调了测试计划等工作的先行和对系统需求和系统设计的测试;
局限性:仍把开发活动看成是从需求开始到编码结束的串行活动,只有上一阶段完成后,才可以开始下一阶段的活动,不能支持迭代,自发性以及变更调整。
H模型
原理:H模型将测试活动从开发流程完全独立出来,使测试流程形成一个完全独立的流程,将测试准备活动与测试执行活动清晰地体现出来。
价值体现:软件测试是一个独立的流程,贯穿于产品的整个生命周期,与其他流程并发的进行。软件测试原则“尽早准备,尽早执行”;强调测试是独立的,只要测试准备完成,就可以执行测试。
局限性:本模型太过于模型化,重点在于理解其中的意义指导实际工作,而模型本身并无太多的可执行的指导意义。