目录
1、瀑布模型
2、V模型
3、W模型
4、H模型
5、X模型
1、瀑布模型
瀑布模型是一种线性的、顺序的软件开发模型
上一阶段的输出结果作为下一阶段的输入
优点:
(1)为项目提供了按阶段划分的检查点。
(2)当前一阶段完成后,您只需要去关注后续阶段。
(3)可在迭代模型中应用瀑布模型
缺点:
(1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量
(2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险
(3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果
2、V模型
V模型是瀑布模型的变种,将瀑布模型中的测试部分做了细化
V模型描述了基本的开发过程与测试行为,主要反映了测试活动分析与设计之间的关系,强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应
优点:
明确标识了在开发过程中一般应完成的测试级别
缺点:
测试活动安排在编码活动之后,这样可能会导致需求开发和设计阶段的错误直到编码完成之后才发现,这不符合尽早测试的原则,后期修复的成本更高,风险更大
3、W模型
W模型是由Ⅴ模型演变而来的,是对V模型的一种改进,它强调测试应伴随整个软件生命周期
W模型由两个V模型组成,分别代表测试与开发过程,明确表示出了测试与开发的并行关系
优点:
W模型的测试范围不仅包括程序,还包括需求分析、软件设计等前期工作,这样有利于尽早地全面发现问题
缺点:
W模型中开发过程都是串行的,这种方式使得W模型无法适应敏捷、迭代开发,以及灵活的变更调整
4、H模型
相对于V模型和W模型,H模型将测试活动完全独立出来,形成了一个完全独立的流程
H模型揭示了一个原理:软件测试是一个独立的流程,以独立完整“微循环”流程,参与产品生命周期的各个阶段,与其他流程并发地进行
H模型指出软件测试要尽早准备,尽早执行,只要某个测试达到准备就绪点,测试执行活动就可以开展,并且不同的测试活动可按照某个次序先后进行,但也可以是反复进行的
实际测试工作中,H模型并无太多指导意义,重点是理解其中的设计意义
5、X模型
X模型的目标是弥补V模型的一些缺陷
X模型的设计原理是将程序分成多个片段反复迭代测试,然后将多个片段集成再进行选代测试
X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终成为可执行的程序,然后再对这些可执行程序进行测试
优点:
(1)测试是一个不断迭代的过程
(2)提倡探索性测试