测试过程模型

软件测试过程模型

V模型

        V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系,从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并清除描述了这些测试阶段和开发过程期间各阶段的对应关系。
        V模型存在一定的局限性,它仅仅把测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段。容易使人理解为测试是软件开发的最后一个阶段,主要针对程序进行测试寻找错误,而需求分析阶段隐藏的问题一直到后期的验收测试才被发现。

W模型

        V模型的局限性在于没有明确地说明早起的测试,不能体现“尽早地和不断进行软件测试”的原则。在V模型中增加软件各开发阶段应同步进行测试,被演化为一种W模型。
        根据W模型的要求,一旦有文档提供,就要及时确定测试条件,以及编写测试用例,这些工作对测试的各级别都有意义。当需求被提交后,就需要确定高级别的测试用例来测试这些需求。当概要设计编写完成后,就需要确定测试条件来查找该极端的设计缺陷。
        W模型也是有局限性的。W模型和V模型都把软件的开发视为需求、设计、编码等一系列串行的活动。同样的,软件开发和测试保持一种线性的前后关系,需要有严格的指令表示上一阶段完全结束,才可正式开始下一阶段。这样就无法支持迭代、自发性以及变更调整。对于当前很多文档需要事后补存,或者根本没有文档的做法下(这已成为一种开发的文化),开发人员和测试人员都面临同样的困惑。

H模型

        V模型和W模型都把软件的开发视为需求、设计、编码等一系列串行的活动,实际上这些活动之间存在相互牵制的关系,但在大部分时间内,它们是可以交叉进行的。H模型将测试活动完全独立出来,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰地提现出来。H模型中,软件测试模型是一个独立的流程,贯穿于整个产品周期,于其他流程并发地进行。当某个测试时间点就绪时,软件测试即从测试准备阶段进入测试执行阶段。
        这个示意图仅仅演示了在整个生产周期中某个层次上的一次测试“微循环”。只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了。

X模型

        X模型左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后,将进行频繁的交接,通过集成最终合成为可执行的程序。而且这些可执行程序还需要进行测试,已通过集成测试的成品可以进行封板并提交给用户,也可以作为更大规模和范围内集成的一部分。X模型还定位了探索性测试,这是不进行事先计划的特殊类型的测试,比如“我这么测一下,结果会怎么样”,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。
 

前置测试模型

        它是一个将测试和开发紧密结合的模型,该模型提供了轻松的方式,可以使你的项目加快速度。
前置测试模型的一些体现:
  • 开发和测试相结合
  • 对每一个交付内容进行测试
  • 在设计阶段进行计划和测试设计
  • 让验收测试和技术测试保持相互独立

测试模型的使用

        在实际的工作中,我们要灵活地运用各种模型的优点,在W模型的框架下,运用H模型的思想进行独立地测试,并同时将测试和开发紧密结合,寻找恰当的就绪点开始测试并反复迭代测试,最终保证按期完成预定目标。

 

posted on 2020-02-29 19:13  Archer_兽兽  阅读(311)  评论(0编辑  收藏  举报

导航