测试及其它方面的资料可以访问http://www.360doc.com/userhome/54470

软件测试模型

上一篇 / 下一篇  2010-01-15 15:28:44 / 个人分类:测试基础

    常见的软件测试模型包括V模型、W模型、H模型、X模型和前置模型。在这些模型中,V模型强调了在整个软件项目开发中需要经历的若干个测试级别,而且每一个级别都与一个开发级别相对应,但它没有明确地指出应该对软件的需求、设计进行测试,而这一点在W模型中得到了补充。W模型强调了测试计划等工作的先行和对系统需求和系统设计的测试,但W模型和V模型一样也没有专门针对软件测试的流程予以说明;而在H模型中测试是独立的,只要测试前提具备了,就可以进行测试了。X模型和前置测试模型又在此基础上增加了许多不确定因素的处理情况,如需求变更、修复错误、增加新功能等。因此在实际工作中,要灵活地运用各种模型的优点,在W模型的框架下,运用H模型的思想进行独立地测试,并同时将测试和开发紧密结合,寻找恰当的就绪点开始测试并反复迭代测试,最终保证按期完成预定目标。

1. V模型

    V模型是最具有代表意义的测试模型 。 V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系 。 从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系 。 左边依次下降的是开发过程各阶段,与此相对应的是右边依次上升的各测试过程的各个阶段。 V模型指出,单元和集成测试是验证的程序设计,检测程序的执行是否满足软件设计的要求;系统测试应当验证系统设计,检测系统功能、性能的质量特性是否达到系统设计的指标;由测试人员和用户进行软件的确认测试和验收测试,追溯软件需求说明书进行测试,以确定软件的实现是否满足用户需求或合同的要求。
    V模型的局限性:

  • 测试是开发之后的一个阶段;
  • 测试的对象就是程序本身;
  • 实际应用中容易导致需求阶段的错误一直到最后系统测试阶段才被发现;
  • 整个软件产品的过程质量保证完全依赖于开发人员的能力和对工作的责任心,而且上一步的结果必须是充分和正确的,如果任何一个环节出了问题,则必将严重的影响整个工程的质量和预期进度.

2. W模型

    W模型由Evolutif公司公司提出,相对于V模型,W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程。
    W模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。W模型有利于尽早地全面地发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显着减少总体测试时间,加快项目进度。
  W模型的局限性:没有明确地说明早期的测试,无法体现“尽早地和不断地进行软件测试”的原则。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑。

3. X模型

    X模型是由Marick提出的,他的目标是弥补V模型的一些缺陷,例如:交接、经常性的集成等问题。 X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终合成为可执行的程序。右上半部分,这些可执行程序还需要进行测试。已通过集成测试的成品可以进行封版并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。 X模型还定位了探索性测试(右下方)。这是不进行事先计划的特殊类型的测试,诸如“我这么测一下结果会怎么样?”,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。
     V模型的一个强项是它明确的需求角色的确认,而X模型没有这么做,这大概是X模型的一个不足之处。X模型并不要求在进行作为创建可执行程序(右上方)的一个组成部分的集成测试之前,对每一个程序片段都进行单元测试(左侧的行为),但X模型没能提供是否要跳过单元测试的判断准则。

4. H模型

    V模型和W模型都没有很好地体现测试流程的完整性。H模型中, 软件测试过程活动 形成一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。
    H模型揭示了:

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

5、前置模型

   前置测试模型是一个将测试和开发紧密结合的模型,此模型将开发和测试的生命周期整合在一起,随项目开发生命周期从开始到结束每个关键行为。
   前置测试模型体现了以下的要点:

  1. 开发和测试相结合
  2. 对每一个交付内容进行测试
  3. 在设计阶段进行计划和测试设计
  4. 让验收测试和技术测试保持相互独立
  5. 反复交替的开发和测试
  6. 发现内在的价值。前置测试用较低的成本来及早发现错误,并且充分强调了测试对确保系统的高质量的重要意义。在整个开发过程中,反复使用了各种测试技术以使开发人员、经理和用户节省其时间,简化其工作。

    TAG:

     

    评分:0

    我来说两句

    Open Toolbar