V 模型最早是由Paul Rook 在20 世纪80 年代后期提出的,V 模型在英国国家计算中心文献中发布,目的是改进软件开发的效率和效果。它是软件测试最具代表性的测试模型之一。

在传统的开发模型中,如瀑布模型,通常把软件测试过程作为在需求分析、概要设计、详细设计和编码全部完成之后的一个阶段,尽管有时软件测试工作会占整个项目周期一半的时间,但是仍然被认为软件测试只是一个收尾工作,而不是主要的工程。故对以前的测试模型进行了一定程度的改进,V 模型其实是软件开发瀑布模型的变种,反映了软件测试活动与软件开发过程(从分析到设计)的关系,如图2-5 所示

V模型

V 模型从左到右,描述了基本的开发过程和测试行为,明确地标明了测试工程中存在的不同级别以及测试阶段和开发过程各阶段的对应关系。图中箭头代表了时间方向,左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即测试过程各阶段。

V 模型指出,单元和集成测试是验证程序设计,单元测试主要由白盒测试工程对代码进行测试,但目前国内真正做白盒测试的企业不多。这主要有两大原因:第一,白盒测试投入的成本很高,并且产出不明显,很多企业不希望投入更多的资源去做这项工作;第二,白盒测试对测试工程师的要求较高,在目前系统测试还没有完全成熟的情况下很难真正地开展白盒测试。而集成测试是介于白盒测试与系统测试之间的一种测试,也叫灰盒测试,由于它与白盒测试和系统测试之间没有明显的界限,所以在实际的测试过程中,即使开展集成测试也是由系统测试工程师来完成。

系统测试主要验证系统设计,检测系统功能、性能的质量特性是否达到系统设计的指标,由测试人员和用户进行软件的确认测试和验收测试,以及对需求说明书进行测试,以确定软件的实现是否满足用户需求或合同要求。

V 模型存在一定的局限性,它把测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段。如果不做白盒测试,那么其实都是在系统完成集成后才开始系统测试的,这样需求分析阶段隐藏的问题一直到后期的验收测试才被发现,因此修改缺陷的成本就高了很多。

V 模型详细的描述了每个测试阶段所对应验证的对象,单元测试验收的对象是详细测试说明书、集成测试验证的对象是概要设计说明书,系统测试验证的对象是需求说明书。在测试过程中,我们经常说测试的目的就是验证产品是否满足客户的需求,那么如何确保我们的产品是满足客户需求的呢?换一个角度来理解,其实结果是靠过程来保证的,也就是说,如果我们可以确保开发每个阶段的工作是正确的,那么就说明开发出来的产品肯定是满足客户需求的,因为开发每个阶段的工作都是以需求说明书为依据的,所以V 模型有一个优点是其详细地介绍了测试每个阶段所测试验证的依据。

由于V 模型是软件开发中瀑布模型的变种,所以它存在和瀑布模型相似的一些问题。由于测试阶段处于软件实现后,这意味着在代码完成后必须有足够的时间预留给测试活动;否则将导致测试不充分,开发前期未发现的错误会传递并扩散到后面的阶段,而在后面发现这些错误时,可能已经很难再修正,从而导致项目的失败。

V 模型最大的缺陷就是只把程序作为被测试对象,而需求、说明书等其他规格说明书都未被列为测试对象。

总之V 模型具有以下特征:

(1)测试阶段划分得很清楚。

(2)每个开发阶段都有相应的测试对其进行验证。

(3)测试与开发是串行进行的而不是并行,也就是测试需要等开发完成后再开始。

(4)测试对象只有程序,而不包括需求等其他的说明书。

(5)V 模型是瀑布模型的变种,瀑布模型存在的问题V 模型也存在。

软件概要设计_软件测试模型之 V模型相关推荐

  1. 软件开发模型(瀑布模型、敏捷模型)和软件测试模型(V模型、W模型、 H模型、X模型)

    软件开发模型和软件测试模型 软件开发模型 边写边改模型 瀑布模型 快速原型模型 螺旋模型 软件测试模型 V模型 W模型 H模型 X模型 测试阶段 1.单元测试 2.集成测试 3.系统测试(system ...

  2. 软件测试里的几种测试模型: V模型,W模型,H模型

    文章目录 一:V模型 1. V模型的优点 2. v模型的缺点 二:W模型 1. W模型的优点 2. W模型的缺点 三:H模型 1. H模型的优点: 2. H模型的缺点 四. 总结 一:V模型 V模型本 ...

  3. 软件测试模型汇总-V模型,W模型,X模型,H模型

    V模型 在软件测试方面,V模型是最广为人知的模型,尽管很多富有实际经验的测试人员还是不太熟悉V模型,或者其它的模型.V模型已存在了很长时间,和瀑布开发模型有着一些共同的特性,由此也和瀑布模型一样地受到 ...

  4. 软件生命周期模型知识点总结(瀑布模型、演化模型、增量模型、V模型、W模型、螺旋模型、构件组装模型、RAD模型、RUP模型、极限编程模型)

    软件生命周期模型 基本概念 --PDCA循环(戴明环) --软件工作过程 --软件生命周期 --软件过程模型 传统软件生命周期模型 --瀑布模型 --演化模型 --增量模型 --喷泉模型 --V模型 ...

  5. 测试——开发模型(瀑布模型,螺旋模型,增量,迭代,敏捷)和测试模型(V模型,W 模型),软件开发生命周期与软件测试生命周期的对比

    目录: 软件测试生命周期与软件开发生命周期 开发模型 2.1 瀑布模型 2.2 螺旋模型 2.3 增量 和 迭代 2.4 敏捷 测试模型 3.1 V模型 3.2 W模型 1. 软件开发生命周期与软件测 ...

  6. 软件测试(概念Ⅱ) · 开发模型 · 软件的生命周期 · 瀑布模型 · 螺旋模型 · 增量模型 · 迭代模型 · 敏捷模型 · scrum · 软件测试模型之 V 模型 W 模型

    一.开发模型的由来 二.软件的生命周期 三.瀑布模型(Waterfall Model) 四.螺旋模型(Spiral Model) 五.增量模型(Incremental Model) 六.迭代模型(Ra ...

  7. 软件测试 瀑布模式 v模型

    软件是一系列按照特定顺序组织的计算机苏剧和指令,是计算机中的非有型的部分软件包括程序.数据.文档.软件分为系统软件.应用软件和介于这两种软件之间的中间件. 软件测试 通过一些手段和方法对设计完成的软件 ...

  8. 软件测试模型的V模型、W模型

    第一种:V模型 这种模型其实就是在前面瀑布模型的基础上进行测试的. 这种模型其实也是瀑布模型的变种 . 根据测试阶段不同,测试也同样分成四个不同的阶段. v模型中的过程从左到右,描述了基本的开发过程和 ...

  9. 测试模型(V模型、W模型、H模型、X模型)

    1 V模型 瀑布模型的变种,把瀑布模型中的测试阶段与之前的分析设计阶段对应起来,即可得到V模型. 优点:非常明确地标明了测试过程中存在的不同级别,并且每个级别与分析设计阶段对应.每个测试阶段有明确的交 ...

最新文章

  1. Git-remote Incorrect username or password ( access token )
  2. 在很多很多事情都要的情况下,最重要的东西是什么?
  3. 链表中位数(Middle of the Linked List)
  4. YOLO升级版:YOLOv2和YOLO9000解析
  5. 形成20位存储单元的物理地址
  6. 【编撰】linux IPC 002 - 匿名管道PIPE和有名管道FIFO的概念和实例,以及应用比较
  7. win10清理_无需第三方,win10也可以实现自动清理垃圾
  8. [转载]关于webbrowser,innet,xmlhttp获取网页源码的比较!
  9. [saiku] 使用 Apache Phoenix and HBase 结合 saiku 做大数据查询分析
  10. 《简约之美:软件设计之道》总结
  11. 实对称矩阵的几个性质
  12. 机器人的自述作文_机器人的自述作文
  13. 创建学生表,(sno,name,score,class),求每个班级中低于最高成绩的那些人
  14. 文化|智链万源凝心聚力,遇见更卓越的你!
  15. 关于okhttp(java.lang.NoSuchMethodError: No interface method rangeEquals(JLokio/ByteString;)Z)错误
  16. (转载)【笨木头Lua专栏】基础补充07:协同程序初探
  17. 大专计算机专业考英语师范研究生,我是计算机专业大专生,我想考人力资源管理研究生,现在已经工作一年多了,可以考吗,考的话难吗?...
  18. 传智播客python视频百度云盘下载_传的解释|传的意思|汉典“传”字的基本解释...
  19. sql-用户流失,回流问题
  20. XBanner实现3D画廊效果

热门文章

  1. spring 源码深度解析_spring源码解析之SpringIOC源码解析(下)
  2. python class类的self_Python类class参数self原理解析
  3. ios pan手势滑动消失动画_iOS仿抖音—评论视图滑动消失
  4. linux下载TCGA数据,好用的新版TCGA数据下载方法
  5. sklearn中SVM的可视化
  6. CSSSCSS的学习笔记
  7. Python面向对象几个知识点
  8. C#将Access数据库导出为JSON
  9. C#中的System.Speech命名空间初探
  10. stm32F1的JTAG、SWJ作为普通引脚使用。禁用JTAG、SWJ。