软件测试模型比较(V模型、W模型、H模型、X模型、前置模型)

     软件测试和软件开发一样,都遵循软件工程原理,遵循管理学原理。测试专家通过实践总结出了很多很好的的软件测试模型,用于指导软件测试的实践,明确了测试与开发之间的关系,是测试管理的重要参考依据。软件测试模型主要包括V模型、W模型、H模型、X模型和前置模型等。

  1. V模型

软件测试模型比较(V模型、W模型、H模型、X模型、前置模型)

     V模型是软件开发瀑布模型的变种,它反映了测试活动和设计之间的关系。描述了基本的开发过程和测试行为,非常清楚地描述了测试的各个阶段和开发过程各个阶段之间的对应关系。如单元测试对应详细设计,集成测试对应概要设计,系统测试对应需求分析与系统设计,验收测试对应用户需求。
     V模型的局限性是仅把测试过程作为需求分析、概要设计、详细设计以及编码后的一个阶段。容易使人理解为测试是软件开发的最后一个阶段,主要针对程序进行寻错的活动,而忽略了测试活动对需求分析、系统设计等活动的验证和确认的功能。

  1. W模型
    软件测试模型比较(V模型、W模型、H模型、X模型、前置模型)
         相对于V模型而言,W模型增加了软件开发阶段中应同步进行的验证和确认活动。W模型由两个V模型组成,分别代表测试与开发过程明确的描述出测试与开发的并行关系。W模型强调,测试伴随整个软件开发周期,测试的对象不仅仅是程序,需求、设计等同样也要测试。
         W模型的局限性在于,在模型中需求、设计、编码等活动被视为串行,测试活动和开发活动保持着一种线性的前后关系,上一阶段结束,才开始下一阶段工作,因此而无法支持迭代开发模型。
  2. H模型
    软件测试模型比较(V模型、W模型、H模型、X模型、前置模型)

     V模型和W模型都认为软件开发是需求、设计、编码等一系列串行的活动,而事实上这些活动在大部分时间内可以交叉,因此,相应的测试也不存在严格的次序关系,单元测试、集成测试、系统测试之间可以反复迭代。正因为V模型和W模型存在这样的问题,H模型将测试活动完全独立出来,使得测试准备活动和测试执行或动清晰地体现出来。
     在H模型中软件测试是一个独立的流程,贯穿于整个产品周期,与其他流程并发地进行。当某个测试点就绪时,软件测试即从软件测试阶段进入测试执行阶段。

  1. X模型
    软件测试模型比较(V模型、W模型、H模型、X模型、前置模型)

     由于V模型受到了很多人的质疑,没能体现出测试设计、测试回溯的过程,所以出现了X测试模型。
     X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终合成为可执行的程序。X模型的右上发定位了已通过集成测试的成品进行封版并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部位发生,同时,X模型右下方定位了探索性测试,这是不进行事先计划的特殊类型的测试,5是测试人员的即兴发挥,这一方式往往能帮助有经验的测试人员在测试计划外发现更多的错误。

  1. 前置模型
         前置模型是一个将测试和开发紧密结合的模型,他分别汲取V模型和X模型的精华,并试图弥补他们的不足之处。改模型可以是项目加快速度,并具有开发和测试相结合、对每一个交付内容进行测试、在测试阶段进行计划和测试设计等优点。在开发阶段以“编码–>测试–>编码–>测试–>编码–>测试–>编码–>测试”的方式来体现,可以是项目加快速度。