软件测试模型V&W&H&X

先来介绍一下传统的瀑布模型

瀑布模型

软件测试模型V&W&H&X

优点:
1、强调需求,设计的作用;
2、前一阶段完成后只需关注后续阶段;
3、为项目提供按阶段划分的检查点,里程碑清晰
4、文档规范

缺点:
1、线性研发过程难以适应需求的频繁变化,
2、项目周期后段才可看到成果,用户要到末期才能看到开发结果,增加了开发的风险
3、强制的里程碑,对于开发过程中出现的变化,适应能力较差,
4、文档工作量较大,测试在项目的后期,文档的开发带来很大的工作量。

改良版的V模型

以编码为分界点,由测试研发两条线组成
软件测试模型V&W&H&X

V模型指出,
1、单元测试和集成测试:检测程序是否满足我们设计上的要求;
2、系统测试:在功能、性能这些质量特性上是否能够满足我们系统要求的指标;
3、验收测试:确定软件是否满足用户的一些需求,以及合同的一些规定
优点:明确的标注了测试过程中存在的不同类型的测试,并且清楚的描述了这些测试阶段和开发过程期间各阶段的 对应关系。
缺点:它仅仅把测试过程放在需求分析、系统设计、编码之后的一个阶段,忽视了测试对于需求的分析和验证。我们对需求的验证,对系统设计的验证,到后期的验收测试才有可能被发现,对于我们测试当中的测试需要尽早进行的原则在V模型中没有体现,这是V模型的局限。

W模型

W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试 与开发过程,图中明确表示出了测试与开发的并行关系w模型
软件测试模型V&W&H&X

W模型特点:
测试的对象不仅是程序,需求、设计等同样要测试,测试与开发是同步进行的
W模型优点:
有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和 确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制 定应对措施,显著减少总体测试时间,加快项目进度。
局限性:
需求、设计、编码等活动被视为是串行的,测试和开发活动也保持着一种线性的前后关系,上一阶段完全解除,才可正式开始下一阶段的工作不能够很好的支持迭代的开发模型,,无法支持敏捷开发模式

X模型:

解决交接和频繁集成周期的问题
软件测试模型V&W&H&X
左边描述的是针对单独的程序片段相互分离的编码和测试,此后进行频繁的交接,再通过集成,最终合成可执行的程序,对这些程序进行测试,这些程序还是需要冀衡测试,已经通过的程序可以进行封板提交给用户,也可以作为更大集成的一部分,X模型还定位了探索式测试,探索式测试是不进行事先计划的特殊类型的测试,能够帮助测试人员在测试计划之外发现更多的错误。

H模型

把软件测试看成一个完全独立的流程,与其他流程并发进行,比如设计流程,编码流程,甚至是测试流程,
软件测试模型V&W&H&X
H模型强调把测试分为测试准备和测试执行两个不同的阶段,只要由于其他流程的进展引发了测试就绪点的到位,这时候,只要测试准备不能完成,测试执行活动就可以或者需要开展,在H模型当中,测试是一个完全独立的模型,所以可以和其他的流程交叉地进行,也便于我们尽早的执行测试。