V模型

在软件测试方面,V模型是最广为人知的模型,尽管很多富有实际经验的测试人员还是不太熟悉V模型,或者其它的模型。V模型已存在了很长时间,和瀑布开发模型有着一些共同的特性,由此也和瀑布模型一样地受到了批评和质疑。V模型中的过程从左到右,描述了基本的开发过程和测试行为。V模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。
局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现。测试工作在编码完成后才开始进行,不符合软件测试的“3早”原则。

W模型

V模型的局限性在于没有明确地说明早期的测试,无法体现“尽早地和不断地进行软件测试” 的原则。在V模型中增加软件各开发阶段应同步进行的测试,演化为W 模型(如下图)。在模型中不难看出,开发是“V”,测试是与此并行的“V”。基于“尽早地和不断地进行软件测试”的原则,在软件的需求和设计阶段的测试活动应遵循IEEE1012-1998《软件验证与确认(V&V)》的原则。
W模型由Evolutif公司提出,相对于V模型,W模型更科学。W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题。比如在进行需求分析,SRS评审,SRS基线化后,系统测试计划,方案,用例也设计完毕,接着是概要设计与集成测试设计,详细设计与单元测试设计,直到编码完成后,进行代码审查,继续执行UT,IT,ST。

W模型:用户需求(用户需求V&V、验收测试设计与评审)→→需求分析(需求V&V、系统测试设计与评审)→→概要设计(概要设计V&V、集成测试设计与评审)→→详细设计(详细设计V&V、单元测试设计与评审)→→编码实现(单元测试)→→模块集成(集成测试)→→实施(系统测试)→→交付(验收测试)。

W模型也有局限性,W模型和V模型都把软件的开发视为需求、设计、编码等一系列串行的活动,无法支持迭代、自发性以及变更调整。

X模型

  X模型也是对V模型的改进,X模型提出针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接,通过集成最终合成为可执行的程序。

X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终成为可执行的程序,然后再对这些可执行程序进行测试。己通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。由图中可见,X模型还定位了探索性测试,这是不进行事先计划的特殊类型的测试,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。但这样可能对测试造成人力、物力和财力的浪费,对测试员的熟练程度要求比较高。

H模型

  H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早的进行,并且可以根据被测物的不同而分层次进行。

这个示意图演示了在整个生产周期中某个层次上的一次测试“微循环”。图中标注的其它流程可以是任意的开发流程,例如设计流程或者编码流程。也就是说,只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了。

  H模型揭示了一个原理:软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。H模型指出软件测试要尽早准备,尽早执行。不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。

总结

1.软件测试过程模型-V模型
是软件开发瀑布模型的变种,主要反映测试活动与分析和设计的关系;
局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现。
2.软件测试过程模型-W模型
在V模型的基础上,增加开发阶段的同步测试,形成W模型;测试与开发同步进行,有利用尽早的发现问题;
局限性:仍把开发活动看成是从需求开始到编码结束的串行活动,只有上一阶段完成后,才可以开始下一阶段的活动,不能支持迭代,自发性以及变更调整。
3.软件测试过程模型-H模型
在H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段;软件测试可以进行尽早的进行;软件测试可以根据被测物的不同而分层次进行。

测试模型使用

在实际工作中应灵活地运用各种模型的优点,
V模型: 强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应;忽略了测试的对象不应该仅仅包括程序,没有明确指出对需求、设计的测试;
W模型: 补充了V模型中忽略的内容,强调了测试计划等工作的先行和对系统需求和系统设计的测试;与V模型相同,没有对软件测试的流程进行说明;
H模型: 强调测试是独立的,只要测试准备完成,就可以执行测试。

转载于:https://www.cnblogs.com/uncleyong/p/6956428.html

测试基础【第二篇】软件测试模型相关推荐

  1. 软件测试基础 第二篇 软件测试管理概述

    1 软件测试管理概述 1.1软件测试管理基础 1,软件测试管理目标:软件测试管理的目标是通过系统的.高效的.适用的技术.方法和体系来监督.促进和达到这个软件测试的目标. • 可用测试资源 • 使用适当 ...

  2. 测试岗位面试前复习之【测试基础知识篇】

    测试基础知识篇 一.app测试相关 1.android与ios的app测试的区别: 2.app测试和web测试的重点: 3.性能测试考量的指标: 4.app的性能测试,需要重点关注哪些方面? 5.站在 ...

  3. android mock测试资源,Android测试基础整理篇

    Android test framework 转载请注明来自:http://blog.csdn.net/liaoqianchuan00/article/details/23032357 1.  基本 ...

  4. python基础第二篇

    python基础 二月红 真心觉得python这门语言是业界良心: 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 一.列表.元组操作 列表是最常用的数据类型之一,可实现最方 ...

  5. Java笔记(基础第二篇)

    声明数组 数组元素类型 数组名字[]; 数组元素类型[] 数组名字; 分配内存空间 数组名字 = new 数组元素类型[数组元素的个数] 其中使用new关键字为数组分配内存时,数组中各个元素的初始化值 ...

  6. [iBoard 电子学堂][第〇卷 电子基础]第二篇 电路图与印刷电路板

    一.什么是电路原理图 电路原理图是使用图形符号按照一定的顺序排列,详细表示电路.设备的基本连接关系,而不考虑实际位置.物理形式的一种简图,也常常简称电路图或者原理图. 1.原理图基本元素   电路原理 ...

  7. 二极管、三极管、MOSFET管知识点总结(后端基础第二篇)

    二极管.三极管.MOSFET管知识点总结 二极管 三极管 MOS管 晶体管(transistor)是一种固体半导体器件,包括二极管.三极管.场效应管.晶闸管.. 二极管 一般特性:当阳极和阴极之间加上 ...

  8. JAVA基础 第二篇:阶乘

    阶乘--理工科领域常用的一种数学符号.关于阶乘,一般定义为:一个正整数的阶乘是不大于这个数的所有正整数的乘积,并且0的阶乘为1. 阶乘的应用范围非常广,比如后面我们要讲到的排列组合.超越数E.梅森数和 ...

  9. [黑金原创教程][连载][iBoard 电子学堂][第〇卷 电子基础]第二篇 电路图与印刷电路板...

    一.什么是电路原理图 电路原理图是使用图形符号按照一定的顺序排列,详细表示电路.设备的基本连接关系,而不考虑实际位置.物理形式的一种简图,也常常简称电路图或者原理图. 1.原理图基本元素 电路原理图是 ...

  10. 0基础如何学习软件测试?一文从2方面带你系统学习

    过完年返工,也许是因为大家的工作都开始面临新的挑战,所以对职场技能,IT技术的学习热情都非常高涨,那么小编看了一下后台大家的留言,呼声最高的就是软件测试. 那么今天,我们就来说说如何0基础转行软件测试 ...

最新文章

  1. 《互联网人求职图鉴》:这类人才“最吃香”,最高薪编程语言出炉!
  2. idea使用maven-archetype-webapp方式创建web工程
  3. PL/SQL Developer 和 instantclient客户端快速安装配置(图文)
  4. 转:WinForm程序中两份mdf文件问题的解决方法
  5. java 实现 web 客户端_Java web客户端和服务器端交互的原理
  6. SQL Server 日志传送
  7. 【Java】Java 如何查看对象的内存布局
  8. Day4 dict和set
  9. 1.2.1 计算机网络的分层结构、协议、服务和接口(转载)
  10. totolink服务器未响应,TOTOLINK路由器设置后无法上网问题的解决方法
  11. paip.点击每个网页链接都提示下载的解决。
  12. 惠普136nw打印机清零_惠普打印机硒鼓清零方法是怎样的
  13. 精曲的竖曲线4800计算程序,可以计算直线与竖曲线通杀
  14. 文献阅读|Nomograms列线图在肿瘤中的应用
  15. 下一关口令:别犹“豫”,看“浙”里,一起“皖”
  16. bitcoin.conf详解
  17. 怎么恢复计算机文件查看方式,win7电脑打开方式怎么还原?win7电脑还原打开方式的方法...
  18. 黄**解说的各种版本
  19. 主要是web开发和android开发 最好是选择一个方向先专一去学, 半瓶子醋什么都想学你会发现到最后什么都不会,或者比别人多花出了太多的精力 我曾经学java的时候好高骛远,因为当时老师是一个c+
  20. Spring三种切面

热门文章

  1. python multiprocessing.Lock 应用
  2. linux ssh原理
  3. python try except 嵌套_try except嵌套之异常的传递
  4. 云资源中的低成本战斗机——竞价实例,AWS、阿里云等六家云厂商完全用户使用指南
  5. puppet 学习总结(1)——puppet 入门详解
  6. Docker学习总结(39)——简析容器、无服务器和虚拟机的安全性差异
  7. 成为java架构师需要具备那些技能?
  8. infor wms 中英文对照_为什么要wms?_wms吧
  9. 定量库存控制模型_供应链分析:关于库存管理的预测功能(1)
  10. 【高级数据类型】- 5.通道类型