1、一、 V 模型V 模型是最广为人知的测试模型。最典型的 V 模型版本一般会在其开始部分对软件开发过程进行描述,如下图所示:图 1 V 模型的各级开发阶段这是古老的瀑布模型。作为开发模型,在 V 模型中,测试过程被加在开发过程的后半部分,如下图所示:图 2 V 模型示意图单元测试所检测代码的开发是否符合详细设计的要求。集成测试所检测此前测试过的各组成部分是否能完好地结合到一起。系统测试所检测已集成在一起的产品是否符合系统规格说明书的要求。而验收测试则检测产品是否符合最终用户的需求。预验收测试可行性分析 验收测试 预系统测试 需求分析 系统测试 预集成测试 概要设计 集成测试 预单元测试 详细设计
2、 单元测试 编码这就是软件测试的 V 模型V 模型的缺陷仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段忽视了测试对需求分析,系统设计的验证,一直到后期的验收测试才被发现。二、W 模型W 模型由 Evolutif 公司公司提出,相对于 V 模型,W 模型增加了软件各开发阶段中应同步进行的验证和确认活动。如下图所示,W 模型由两个 V 字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。W 模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。W 模型有利于尽早地全面的发现问题。例如,需求分析
3、完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。但 W 模型也存在局限性。在 W 模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W 模型并不能解除测试管理面临着困惑。W 模型的优点测试的活动与软件开发同步进行测试的对象不仅仅是程序,还包括需求和设计尽早发现软件缺陷可降低软件开发的成本三 H 模型它将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来,如图 1-3 所示。 这个示意图仅仅演示了在整个生产周期中某个层次上的一次测试“微循环”。图中标注的其他流程可以是任意的开发流程。例如,设计流程或编码流程。也就是说,只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以(或者说需要)进行了。 H 模型揭示了一个原理:软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。H 模型指出软件测试要尽早准备,尽早执行。不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。