01
V模型
V模型和瀑布模型有一些共同的特性,V模型中的过程从左到右,描述了基本的开发过程和测试行为。

优点: V模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。
局限性: 把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现。

02
W模型
W模型是V模型的发展,又称之为双V模型,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。
优点: 测试与开发是同步进行的,从而有利于尽早地发现问题。
局限性: W模型和V模型都把软件的开发视为需求、设计、编码等一系列串行的活动,无法支持迭代、自发性以及变更调整。
03
X模型
X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终成为可执行的程序,然后再对这些可执行程序进行测试。已通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。
优点: X模型还定位了探索性测试,这是不进行事先计划的特殊类型的测试,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。
局限性: 可能对测试造成人力、物力和财力的浪费,对测试员的熟练程度要求比较高。
04
H模型
H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早地进行,并且可以根据被测物的不同而分层次进行。
H模型揭示了一个原理:软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。H模型指出软件测试要尽早准备,尽早执行。不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。
05
敏捷模型
敏捷模型是在互联网的快节奏下应运而生的,也是当前最为主流的开发测试模型。
敏捷方法的优点:
1.频繁交货
2.与客户面对面的交流。
3.高效的设计并满足业务需求。
4.随时可以接受更改。
5.它减少了总的开发时间。
敏捷模型的局限性:
1.由于缺少正式文件, 因此会造成混乱, 并且各个团队成员随时可能会误解贯穿各个阶段做出的重要决定。
2.由于缺乏适当的文档, 一旦项目完成并且开发人员被分配到另一个项目, 完成的项目的维护就会变得很困难。