![[��ǩ:����] [��ǩ:����]](https://www.xuefen.net//file/upload/img/7/364.jpg)
一、指代不同
1、v模型:是软件开发过程中的一个重要模型,由于其模型构图形似字母V,所以又称软件测试的V模型。
2、w模型:由两个V字型模型组成,分别代表测试与开发过程。
二、特点不同
1、v模型:仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,需求的满足情况一直到后期的验收测试才被验证。
2、w模型:测试的活动与软件开发同步进行,测试的对象不仅仅是程序,还包括需求和设计,尽早发现软件缺陷可降低软件开发的成本。
三、适用不同
1、v模型:是一种传统软件开发模型,适用于一些传统信息系统应用的开发。
2、w模型:有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求文档的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。
参考资料来源:百度百科-W模型
参考资料来源:百度百科-V模型
V模型是最具有代表意义的测试模型,最早是由PaulRook在20世纪80年代后期提出,由英国国家计算机中心文献中发布,旨在改进软件开发的效率和效果;
V模型推出之前,人们通常把测试过程作为在需求分析、概要设计、详细设计、编码全部完成之后的一个阶段,尽管当时已经出现了测试工作会占用这个项目周期一半的时间,但是大多数人认为测试只是一个收尾工作;V模型在这个时候推出,就是为了改变之前行业的普遍认识。
V模型本身是软件开发中瀑布模型的变种,它反映了测试活动与分析和设计的关系。
V模型标明了测试过程中的不同阶段,从左到右,描述了开发过程和测试过程间的阶段对应关系。
优点:
1、开发V模型即包含了底层测试又包含了高层测试;
2、底层测试:检验源代码质量的测试,如:单元测试;
3、高层测试:检验整个系统的需要,如:系统测试;
4、模型清楚地标识出了软件开发的阶段。
5、它采用自顶向下逐步求精的方式把整个开发过程分成不同的阶段,每个阶段的工作都很明确,因此便于控制开发过程。当所有的阶段都完成之后,该软件的开发过程也随之结束。
缺点:
1、V模型仅仅把测试过程作为在需求分析、概要设计、详细设计以及编码之后的一个阶段,容易使人误解测试是软件开发的最后一个阶段,是软件开发的从属。
2、V模型的另一个大缺点正是它自身的顺序性所导致的。到了测试阶段,程序已经完成,错误已经产生,很多前期的错误一直到测试阶段才发现,甚至无法发现,往往无从修改了。
3、同时实际的开发过程中,在需求阶段很难把用户的需求完全明确下来,因此,当需求变更时将会导致阶段反复,而且都要重复需求、设计、编码、测试等过程,返工量非常大,模型灵活性比较低。
V模型是对瀑布模型的修正,强调了验证活动,由PaulRook在1980年率先提出。在瀑布模型中,由于早期的错误可能要等到开发后期的测试阶段才能发现,所以可能带来严重的后果。V模型就是在这点上改进了瀑布模型,即在软件开发的生存期中,开发活动和测试活动几乎同时开始,这两个并行的动态的过程就会极大地减小bug和error出现的概率。V模型是瀑布模型的变种,它反映了测试活动与分析和设计的关系
常见的传统结构化开发模型包括瀑布模型、螺旋模型、原型模型和V模型等。它们各自的特点如下:
瀑布模型:是软件工程中最早的结构化开发模型之一,将开发过程划分为几个阶段,每个阶段顺序执行,开发进程是线性的。该模型适用于开发周期长,需求稳定的软件项目,但缺点是对变更响应能力差。
螺旋模型:是一种循序渐进的开发模型,将开发过程划分为四个阶段,每个阶段包括计划、风险分析、工程评审和迭代等环节。该模型适用于需要风险管理的项目,但缺点是需要专业的风险管理人员。
原型模型:是一种迭代开发模型,通过构建原型来验证需求和设计方案。该模型适用于需求不确定或变化频繁的项目,但缺点是容易陷入过度开发。
V模型:将开发过程划分为软件开发阶段和软件测试阶段,每个开发阶段对应一个测试阶段,两个阶段互相支持、相互促进,保证质量。该模型适用于需求比较稳定、测试比较重要的项目,但缺点是对于变更响应能力差。
项目阶段合在一起成为项目生命周期,项目生命周期定义了从项目开始直至结束的项目阶段,项目的每个阶段都至少包含管理工作和技术工作。
所有项目都呈现下列通用的生命周期结构 :
项目经理或组织可以把每一个项目划分成若干个阶段,以便有效地进行管理控制,并于实施该项目组织的日常运作联系起来。
在项目的一个阶段末,开始下一阶段之前,应该确保达到阶段的目标以及正式接受项目阶段成功。
软件开发分为可行性分析(计划)、需求分析、软件设计(概要设计、详细设计)、编码(含单元测试)、测试、运营维护等几个阶段,比如需求分析阶段定义的规划将成为软件测试中的系统测试阶段的目标。
V模型的重要意义在于,非常明确的表明了测试过程中存在的不同的级别,并且非常清晰的描述了这些测试阶段和开发阶段的对应关系。
V模型的左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即各测试过程的各个阶段。在不同的组织中对测试阶段的命名可能有所不同。
V模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发各阶段的对应关系。
v模型的特点 :
原型化模型的第一步是建造一个快速原型, 实现客户或未来的用户与系统的交互,经过和用户针对圆形的讨论和交流,弄清需求,以便真正把握用户需要的软件产品是什么样子的。充分了解后,再在原型基础上开发出用户满意的产品。
适用范围:需求复杂,需求难以确定、需求动态变化的软件系统。
螺旋模型是一个演化软件过程模型,将原型实现的迭代特征与线性顺序(瀑布)模型中控制和系统化的方面结合起来,使得软件的增量版本的快速开发成为可能。
显著特点:一是采用循环的方式,逐步加深系统定义和实现的深度,降低风险;二是确定一系列里程碑,确保项目开发过程中的相关利益者都支持可行的和令人满意的系统解决方案。
特点和适用范围: 强调了风险分析,特别适用于需求难以确定,大型而复杂、高风险的系统。
螺旋模型每次迭代活动:制定计划、风险分析、实施工程和客户评估。
在某种程度上,开发迭代是一次完整地经过所有工作流程的过程。
适用范围:需求难以确定,不断变更,多期开发的系统,比如计划多期开发的软件项目。
RUP(统一软件开发过程)
一种过程方法,迭代模型的一种具体实现。
RUP的软件生命周期划分为初始阶段、细化阶段、构建阶段、交付阶段。
初始阶段:系统地阐述项目的范围,选择可行的系统架构,计划和准备业务案例。
细化阶段:细化构想, 细化过程和基础设施,细化构架并选择构件,确保软件结构、需求、计划足够稳定;确保项目风险已经降到能够预计完成整个项目的成本和日常的程度。针对项目的软件结构上的主要风险已经解决或处理完成。
构造阶段:资源管理、控制和过程最优化,完成构建的开发并依据评价标准进行测试,依构想的验收标准评估产品的发布。
移交阶段:同步并使并发的构造增量集成到一致的实施基线中,与实施有关的工程活动(商业包装和生产、人员培训),根据完整的构想和需求集的验收标准评估实施基线。
融合了瀑布模型的基本成分(重复应用)和原型实现的迭代特征。
适用范围:对所开发的领域比较熟悉而且已有原型系统,进行已有产品升级或新版本开发。
以面向对象的软件开发方法为基础,以用户需求为导向,以对象来驱动的模型。主要用来描述面向对象的软件开发过程。
敏捷方法是一种以人为核心、迭代、循序渐进的开发方法,适用于一开始并没有或不能完整地确定出需求和范围的项目,或者需要应对快速变化的环境,或者需求和范围难以事先确定,或者能够以有利于干系人的方式定义较小的增量改进。在敏捷开发中,就是把一个大项目分成多个相互联系,但也可以独立运行的小项目。敏捷方法的目的在于应对大量变更,获取干系人的持续参与。
敏捷开发的四个核心价值(敏捷宣言) :
个体与交互过程高于过程和工具,
可用的软件高于完备的文档,
客户协作高于合同谈判,
响应变化高于遵循计划。
组织文化常常会对项目产生直接的影响组织的沟通能力,对项目的执行方式有很大影响组织结构对能否获得项目所需资源和以何种条件获取资源起着制约作用。
职能型组织内可以有项目存在,项目通常在职能部门内部运作。
对投资大、建设周期长、专业复杂、技术人员来自多个部门的大型项目,最好采用项目型或强矩阵型在组织结构。
分为弱矩阵、平衡矩阵、强矩阵。
上图为弱矩阵型组织示意图
上图为平衡矩阵型组织示意图
上图为强矩阵型组织示意图
以上就是小编整理的软件测试v模型相关信息。关注学分高考了解更多相关知识!(本文共7366字)

微信扫码关注公众号
获取更多考试热门资料