软件测试模型

来源:互联网 发布:库里三分球实时数据 编辑:程序博客网 时间:2024/06/05 23:57

      软件工程中介绍了很多开发模型,例如瀑布模型、原型模型、螺旋模型等等,还有比较流行的RUP,这些模型对软件开发过程具有很好的指导作用。但是在软件工程中并没有给测试足够的重视,软件测试与开发是紧密相关的一系列有计划的活动,所以软件测试也需要相应的测试模型进行指导。下面是对一些测试模型的简单介绍

1.V模型

      V模型是软件测试方面最具有代表性的模型,它最早由Paul Rook在20世纪80年代提出,旨在改进软件开发的效率和效果。V模型是软件开发瀑布模型的变种,反映了测试活动与分析和设计的关系,它非常明确地表明了测试过程中存在的不同级别,且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。下图中左边下降的是开发过程各阶段,与此相对应的是右边上升的测试过程的各个阶段。

 

各阶段特点:

      V模型的软件测试,包括底层测试与高层测试。底层测试是为了源代码的正确性,高层测试是为了使整个系统满足用户的需求。

            单元测试:是基于代码的测试,最初由开发人员执行,以验证其可执行程序代码的各个部分是否已达到了预期的功能要求

            集成测试:验证2个或多个单元之间的集成是否正确,并有针对性地对详细设计中所定义的各单元之间的接口进行检查

            系统测试:验证系统设计,开始以客户环境模拟系统的运行,以验证系统是否达到了概要设计中所定义的功能和性能。

            确认测试和验收测试:由测试人员、业务专家或用户进行测试,追溯软件需求说明书进行测试,以确定软件的实现是否满足用户需求或合同的要求。

局限性:

      它仅仅把测试过程作为了需求分析、概要设计、详细设计及编码之后的一个阶段。容易使人理解为测试是软件开发的最后一个阶段,主要针对程序进行测试寻找错误,而需求分析阶段隐藏的问题只有在后期的验收测试才能被发现。(V模型的局限性是在于没有明确地说明早期的测试,不能体现“尽早地和不断地进行软件测试”的原则)

2.W模型

      W模型由Evolutif公司提出,相对于V模型,W模型增加了软件开发各阶段中同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。它可以说是V模型自然而然的发展,它强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计童谣要测试,且只要相应的开发活动完成,测试活动就可开始,也可以说测试与开发同步进行,从而有利于尽早地发现问题。

      根据W模型的要求,一旦有文档提供,就要及时确定测试条件,以及编写测试用例。当需求被提交后,就需要确定高级别的测试用例来测试这些需求。当概要设计编写完成后,就需要确定测试条件来查找该阶段的设计缺陷。

局限性:

      W模型与V模型都把软件的开发视为需求、设计、编码等一系列串行活动。软件开发和测试保持着一种线性的前后关系,需要有严格的指令表示上一阶段完全结束,才可正式开始下一个阶段。这样就无法支持迭代开发以及变更调整,对于很多文档需要事后补充或者没有文档的做法下,W模型根本无法解除测试管理方面面临的困难。

3.H模型

      H模型将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。H模型揭示了一个原理:软件测试是一个独立的流程,贯穿产品的整个生命周期,与其它流程并发地进行。H模型指出软件测试要尽早准备,尽早执行。

      H模型揭示了不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。

小结:

       软件测试是一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程,是软件开发必不可少的一部分。测试模型和软件开发模型一样,都在不断地变化中发展、改进,越来越灵活易用。

1 0
原创粉丝点击