第1回 V模型,我的完整诠释
来源:互联网 发布:吉视传媒怎么设置网络 编辑:程序博客网 时间:2024/06/06 08:41
万事开头难,第一回起头自然比较难,我选择了“V模型,我的完整诠释”作为开始。因为,软件测试的思想方法是建立在软件开发过程模型(思想)基础之上,例如测试驱动开发来源于敏捷开发思想。在这里,也是假定V模型是大家更好理解软件测试思想和方法的基础。
现在谈V模型,是否落后于时代?不一定,实际许多软件过程思想是相通的,例如迭代模型、增量模型和螺旋模型都可以归为“分阶段开发”思想这一类。极限编程(XP)对于现在Internet服务模式的软件开发很有效,也只适合软件开发的小团队。V模型适合企业级的软件开发,它更清楚地揭示了软件开发过程的特性及其本质。
V模型是在快速应用开发 (RAD,Rap Application Development)模型基础上演变而来,由于将整个开发过程构造成一个V字形而得名。V模型强调软件开发的协作和速度,将软件实现和验证有机地结合起来,在保证较高的软件质量情况下缩短开发周期。
下面通过对这种模型的水平和垂直的关联和比较分析,理解软件开发和测试的关系,理解V模型具有面向客户、效率高、质量预防意识等特点,能帮助我们建立一套更有效的、更具有可操作性的软件开发过程。
图
1. 从水平对应关系看
左边是设计和分析,是软件设计实现的过程,同时伴随着质量保证活动——审核的过程,也就是静态的测试过程;右边是对左边结果的验证,是动态测试的过程,即对设计和分析的结果进行测试,以确认是否满足用户的需求。如:
l 需求分析和功能设计对应验收测试,说明在做需求分析、产品功能设计的同时,测试人员就可以阅读、审查需求分析的结果,从而了解产品的设计特性、用户的真正需求,确定测试目标,可以准备用例(Use Case)并策划测试活动。
l 当系统设计人员在做系统设计时,测试人员可以了解系统是如何实现的,基于什么样的平台,这样可以设计系统的测试方案和测试计划,并事先准备系统的测试环境,包括硬件和第三方软件的采购。因为这些准备工作,实际上是要花去很多时间。
l 当设计人员在做在做详细设计时,测试人员可以参与设计,对设计进行评审,找出设计的缺陷,同时设计功能、新特性等各方面的测试用例,完善测试计划,并基于这些测试用例以开发测试脚本。
l 在编程的同时,进行单元测试,是一种很有效的办法,可以尽快找出程序中的错误,充分的单元测试可以大幅度提高程序质量、减少成本。
从中可以看出,V模型使我们能清楚地看到质量保证活动和项目同时展开, 项目一启动,软件测试的工作也就启动了,避免了瀑布模型所带来的误区——软件测试是在代码完成之后进行。
2. 从垂直方向看
水平虚线上部表明,其需求分析、定义和验收测试等主要工作是面向用户,要和用户进行充分的沟通和交流,或者是和用户一起完成。水平虚线下部的大部分工作,相对来说,都是技术工作,在开发组织内部进行,主要是由工程师、技术人员完成。
预知后事如何,请读下回分解:第2回 究竟什么是软件测试?
系列讨论的目录,详见: 软件测试演义——中高级系列(序)
- 第1回 V模型,我的完整诠释
- 第1回 V模型,我的完整诠释
- 第1回 V模型,我的完整诠释
- 转义字符的完整诠释
- 转义字符的完整诠释
- 转义字符的完整诠释
- 转义字符的完整诠释
- C/C++ 转义字符的完整诠释
- V模型的讨论
- 一个扩展的MVC框架,完整诠释MVC概念
- 简单诠释下我所了解的spring架构
- V模型
- V模型
- 基于V&V活动的缺陷清除率模型
- V模型、W模型
- 软件测试模型的v模型、w模型、h模型、x模型总结
- 软件测试过程模型的种类之----------V模型
- 软件测试过程模型的种类之----------V模型 (转)
- 微软再次挑衅:Argo会不会成为iPod杀手?
- asp.net速查手册呵呵
- EasyMock使用说明
- "微软收购Zend"假新闻看开源需要新心态
- 千拣万拣,拣个烂灯盏
- 第1回 V模型,我的完整诠释
- 正则表达式之道
- Vista MMC和PowerShell未达目标并更名"Aspen"
- flash和flex的关系。
- 如果一个国家不爱自己的人民,你有什么权力要求自己的人民去爱他的国家?
- 如何在Debian下编译STLport
- 北京工作流厂商第一次非正式聚会总结
- JavaScript中的循环函数
- 某些王道--从那里来到那里去