1. V模型
V模型是一个著名的、以测试为驱动的开发模型,该模型强调开发过程中测试贯穿始终,是瀑布模型的一个变体。V模型描述了质量保证活动和沟通、建模相关活动以及早期构键相关的活动之间的关系。随着软件团队工作沿着V模型左侧步骤向下推进,基本问题需求逐步细化,形成问题及解决方案的技术描述。一旦编码结束,团队沿着V模型右侧的步骤向上推进工作,其实际上是执行了一系列测试(质量保证活动),这些测试验证了团队沿着V模型左侧步骤向下推进过程中所生成的每个模型。V模型提供了一种将验证确认活动应用于早期软件工程工作中的方法
2. W模型
W模型也可以看做是 “双V模型”, 有两个 V, 一个是研发V, 一个是测试V, 将研发和测试的工作并行了起来, 使研发和测试的工作可以同时进行, 因此解决了V模型的三个缺点。
定义:开发一个v;测试一个v组合起来的模型(w模型也叫双v模型)
优点:
1. 开发伴随着整个开发周期,需求和设计同样要测试;
2. 更早的介入测试,可以发现初期的缺陷,修复成本低;
3. 分阶段工作,方便项目整体管理。
缺点:
1. 开发和测试依然是线性的关系,需求的变更和调整,依然不方便;
2. 如果没有文档,根本无法执行w模型;对于项目组成员的技术要求更高!
3. H模型
H模型中, 软件测试过程活动完全独立, 贯穿于整个产品的周期, 与其他流程并发地进行, 某个测试点准备就绪时, 就可以从测试准备阶段进行到测试执行阶段. 软件测试可以尽早的进行, 并且可以根据被测物的不同而分层次进行.
( H模型揭示了一个原理: 软件测试是一个独立的流程, 贯穿产品整个生命周期, 与其他流程并发地进行. H模型指出软件测试要尽早准备, 尽早执行. 不同的测试活动可以是按照某个次序先后进行的, 但也可能是反复的, 只要某个测试达到准备就绪点, 测试执行活动就可以开展.)