测试模型

    测试和开发一样,也都遵循科学管理的原理,测试方面的专家和经验人士经过积累总结,提出了很多很好、很富有参考价值的测试模型。今天我来总结一下软件测试中的常见模型,这些模型将测试活动抽象化之后更好地指导我们的测试。

    V模型

    在软件测试方面,V模型是最具有代表意义的测试模型,也是最广为人知的模型。V模型中的过程从左到右,描述了基本的开发过程和测试行为,它非常明确的标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。

    


    优点:

  1. 对测试中每一阶段的测试都做了明确的指导,从单元测试到验收测试。
  2. 将开发阶段清楚的表现出来,便于控制开发的过程。

  缺点:

  1. 对“测试应尽早介入”这一条原则表现不明显
  2. 顺序性过强,后期发现Bug不易改动
  3. 实际中,由于需求变更较大,导致要重复变更需求、设计、编码、测试。返工量大。

    W模型

    在V模型中增加软件各开发应同步进行的测试,被演化为一种W模型。因为实际上开发是“V”,测试也是与之并行的“V”。W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题。

   

优点:

  1. 将测试贯穿到整个软件的生命周期中,且除了代码要测试,需求、设计等都要测试。
  2. 更早的介入到软件开发中,能尽早的发现缺陷进行修复。
  3. 测试与开发独立起来,并与开发并行。

  缺点:

  1. 对有些项目,开发过程中根本没有文档产生,故W模型无法使用。
  2. 对于需求和设计的测试技术要求很高,实践起来很困难
H模型

    V模型和W模型都存在一些不妥之处。实践告诉我们,严格的阶段划分只是一种理想状况。所以,相应的测试之间也不存在严格的次序关系。同时,各层次之间的测试也存在反复触发、迭代和增量关系。H模型将测试活动完全独立出来,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰的表现出来。H模型中, 软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早的进行,并且可以根据被测物的不同而分层次进行。


    H模型说明了:

  1. 软件测试不仅仅是指测试的执行,还包括很多其他的活动。
  2. 软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发的进行。
  3. 软件测试要尽早准备,尽早执行
  4. 软件测试是根据被测物的不同而分层次进行到。不同层次的测试活动可以使按照某个次序先后进行的,但也可以是反复的。

    X模型

    X模型左边描述的是针对单独程序片段所进行的相互分立的编码和测试,此后,将进行频繁的交接,通过集成最终合成为可执行的程序。图中右下方还定位了探索性测试。这是不进行事先计划的特殊类项的测试,诸如“我这么测一下,结果会怎么样”,这种方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。


    总结:任何模型都不是完美的,应该尽可能地去应用模型中对项目有实用价值的方面,但不强行地为使用模型而使用模型,在实际工作中,我们要灵活地运用各种模型的优点。如,在W模型的框架下,运用H模型的思想进行独立地测试,并同时将测试和开发紧密结合,寻找恰当的就绪点开始测试并反复迭代测试,最终保证按其完成预定目标。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值