软件测试过程模型
在软件开发几十年的实践过程中,人们总结了很多的开发模型,比如瀑布模型、u原型模型、螺旋模型、增量模型、渐进模型、快速软件开发(RAD)以及最近比较流行的Rational统一过程(RUP)等,这些模型对于软件开发过程具有很好的指导作用,但是非常遗憾的是,在这些过程方法中,并没有充分强调测试的价值,也没有给测试以足够的重视,利用这些模型无法更好地指导测试实践。软件测试是与软件开发紧密相关的一系列有计划的系统性的活动,显然软件测试也需要测试模型去指导实践,非常可喜的是软件测试专家通过测试实践总结出了很多很好的测试模型。当然由于测试与开发的结合非常紧密,在这些测试模型中也都把开发过程进行了很好的总结,体现了测试与开发的融合,下面对于主要的模型做一简单的介绍。
V模型
?V模型是最具有代表意义的测试模型,如图2-1所示。V模型最早是由Paul Rook在20世纪80年代后期提出的,V模型在英国国家计算中心文献中发布,旨在改进软件开发的效率和效果。
?在传统的开发模型中,比如瀑布模型,人们通常把测试过程作为在需求分析、概要设计、详细设计和编码全部完成之后的一个阶段,尽管有时测试工作会占用整个项目周期一半的时间,但是有人仍然认为测试只是一个收尾工作,而不是主要的过程。V模型的推出就是对此种认识的改进。V模型是软件开发瀑布模型中的变种,它反映了测试活动与分析和设计的关系,从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系,如图1中所示,图中箭头代表了时间方向,左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即各测试过程的各个阶段。
? ? ? ? ? ? ? ? ?(图1)
?V模型的软件测试策略既包含低层测试又包含了高层测试,低层测试是为了源代码的正确性,高层测试是为了使整个系统满足用户的需求。
?V模型指出,单元和集成测试是验证的程序设计,开发人员和测试组应检测程序的执行是否满足软件设计的要求:系统测试应当验证系统设计,检测系统功能、性能的质量特性是否达到系统设计的指标;由测试人员和用户进行软件的确认测试和验收测试,追溯软件需求说明书进行测试,以确定软件的实现是否满足用户需求或合同的要求。
?V模型存在约定的局限性,它仅仅把测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段,容易使人理解为测试是软件开发的最后一个阶段,主要是针对程序进行寻找错误,而需求分析阶段隐藏的问题一直到后期的验收测试才被发现。
?
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!