万事开头难,第一回起头自然比较难,我选择了“V模型,我的完整诠释”作为开始。因为,软件测试的思想方法是建立在软件开发过程模型(思想)基础之上,例如测试驱动开发来源于敏捷开发思想。在这里,也是假定V模型是大家更好理解软件测试思想和方法的基础。
现在谈V模型,是否落后于时代?不一定,实际许多软件过程思想是相通的,例如迭代模型、增量模型和螺旋模型都可以归为“分阶段开发”思想这一类。极限编程(XP)对于现在Internet服务模式的软件开发很有效,也只适合软件开发的小团队。V模型适合企业级的软件开发,它更清楚地揭示了软件开发过程的特性及其本质。
V模型是在快速应用开发 (RAD,Rap Application Development)模型基础上演变而来,由于将整个开发过程构造成一个V字形而得名。V模型强调软件开发的协作和速度,将软件实现和验证有机地结合起来,在保证较高的软件质量情况下缩短开发周期。<o:p></o:p>
下面通过对这种模型的水平和垂直的关联和比较分析,理解软件开发和测试的关系,理解V模型具有面向客户、效率高、质量预防意识等特点,能帮助我们建立一套更有效的、更具有可操作性的软件开发过程。<o:p></o:p>
<!----><!----><!----><o:p></o:p>
图<o:p></o:p>
<o:p> </o:p>
<!---->1. <!---->从水平对应关系看<o:p></o:p>
左边是设计和分析,是软件设计实现的过程,同时伴随着质量保证活动——审核的过程,也就是静态的测试过程;右边是对左边结果的验证,是动态测试的过程,即对设计和分析的结果进行测试,以确认是否满足用户的需求。如:<o:p></o:p>
<!---->l <!---->需求分析和功能设计对应验收测试,说明在做需求分析、产品功能设计的同时,测试人员就可以阅读、审查需求分析的结果,从而了解产品的设计特性、用户的真正需求,确定测试目标,可以准备用例(Use Case)并策划测试活动。<o:p></o:p>
<!---->l <!---->当系统设计人员在做系统设计时,测试人员可以了解系统是如何实现的,基于什么样的平台,这样可以设计系统的测试方案和测试计划,并事先准备系统的测试环境,包括硬件和第三方软件的采购。因为这些准备工作,实际上是要花去很多时间。<o:p></o:p>
<!---->l <!---->当设计人员在做在做详细设计时,测试人员可以参与设计,对设计进行评审,找出设计的缺陷,同时设计功能、新特性等各方面的测试用例,完善测试计划,并基于这些测试用例以开发测试脚本。<o:p></o:p>
<!---->l <!---->在编程的同时,进行单元测试,是一种很有效的办法,可以尽快找出程序中的错误,充分的单元测试可以大幅度提高程序质量、减少成本。<o:p></o:p>
从中可以看出,V模型使我们能清楚地看到质量保证活动和项目同时展开, 项目一启动,软件测试的工作也就启动了,避免了瀑布模型所带来的误区——软件测试是在代码完成之后进行。<o:p></o:p>
<o:p> </o:p>
<!---->2. <!---->从垂直方向看<o:p></o:p>
水平虚线上部表明,其需求分析、定义和验收测试等主要工作是面向用户,要和用户进行充分的沟通和交流,或者是和用户一起完成。水平虚线下部的大部分工作,相对来说,都是技术工作,在开发组织内部进行,主要是由工程师、技术人员完成。<o:p></o:p>
从垂直方向看,越在下面,白盒测试方法使用越多,到了集成、系统测试,更多是将白盒测试方法和黑盒测试方法结合起来使用,形成灰盒测试方法。而在验收测试过程中,由于用户一般要参与,使用黑盒测试方法。
预知后事如何,请读下回分解:第2回 究竟什么是软件测试?
系列讨论的目录,详见: 软件测试演义——中高级系列(序)
分享到:
相关推荐
这是我手工绘制的V&V模型示意图,简单明了
首先,任务定义是数字化改革的第一步。通过任务定义,可以明确改革的目标和范围,从而确定改革的方向和重点。接着,逐级拆解至最小任务项是将大的任务分解成小的、可管理的任务单元,以便更好地实施和跟踪改革的进度...
为了提高软土地基沉降模型的预测精度,将现有的Logistic模型和Von-...沉降后期L-V模型的均方根误差(RMSE=1.512)小于Logistic模型(RMSE=2.930)和Von-Bertalanffy模型(RMSE=3.624)的均方根误差,其预测值更加接近观测值。
"基于模型开发的MATLAB Simulink Validation and Verification(V&V)"这个主题,着重探讨的是在Simulink环境中如何有效地进行模型的验证和确认,以确保设计的准确性和合规性。 验证(Validation)是确认模型是否...
CMMI(Capability Maturity Model Integration)能力成熟度模型集成是一个全球广泛接受的框架,用于提升组织在项目管理和过程改进方面的能力。CMMI V2.0是该模型的最新版本,由CMMI研究院及其业界合作伙伴共同开发,...
关于测试管理方式的介绍
【标题】"VOF模型原理介绍及示例仿真_fluent_vof_" 涉及的主要内容是基于Fluent软件的VOF(Volume of Fluid)模型的理论基础和实际操作步骤,该模型是解决自由表面流动问题的重要工具。 【VOF模型原理】 VOF...
V模型是软件测试过程中的常见的一种模型,它反映了开发过程和测试过程的关系,在测试软件中起着重要的作用
【中国联通】2024中国联通元景大模型AI终端合作白皮书V1.0.pdf【中国联通】2024中国联通元景大模型AI终端合作白皮书V1.0.pdf【中国联通】2024中国联通元景大模型AI终端合作白皮书V1.0.pdf【中国联通】2024中国联通...
process V3.0插件各模型使用图,92个模型
RVC包裹模型整合完整版可能是指一个针对这种体系结构的完整开发工具包或者研究模型,包含了所有必要的组件和资源,方便研究人员和开发者进行工作。 首先,RVC模型的核心是其精简的指令集。这种设计减少了处理器内部...
完整英文版 IEC 61512-1:1997 Batch control - Part 1:Models and terminology (批量控制 - 第一部分:模型和术语)。定义过程工业中使用的批次控制参考模型和有助于解释这些模型和术语之间关系的术语。 可能不...
CMMI V2.0 模型一览 CMMI V2.0 模型是一套经过验证的全球最佳实践,旨在帮助组织建立关键能力并对其进行基准评估,以提高业务性能。该模型采用指南系统和工具培训和认证评估方法,旨在提高可靠性并减少成本。 CMMI...
《颗粒自由表面湍流DEM-VOF模型的建立及其在搅拌混合系统中的应用》这篇文章主要探讨了一种用于模拟颗粒在自由表面湍流流体中运动的离散元素法(DEM)与体积分数法(VOF)相结合的模型,并将其应用于搅拌混合系统。...
这个"RVC懒洋洋模型完整版"似乎是一个特定版本的RVC模型,可能由用户“睿智君”开源分享。下面将详细解释RVC模型以及相关的文件内容。 **RVC模型详解:** RVC,全称为Robust Video Captioning,是视频描述生成任务...
《魔兽世界模型查看提取器WMV_Installer_v0706》是一款专为《魔兽世界》玩家设计的实用工具,它允许用户查看并提取游戏中的3D模型资源,为玩家提供了一个深入理解游戏世界和角色设计的窗口。下面将详细介绍这款软件...
6S模型的V4.1版本是该模型的一个更新迭代,可能包括了性能优化、新功能的添加或者对先前版本中的错误进行修正。 在6S模型V4.1的压缩包中,主要包含以下关键文件: 1. `6s.exe`:这是一个可执行文件,是6S模型的核心...
超级漂亮的二次元模型 擅长二次元女性创作 适合对AI绘图感兴趣的小白 下载stable-diffusion-webui或者novelai-webui后 把ckpt模型放在models\Stable-diffusion\下 把vae模型放在models\VAE\下 把embedding模型放在\...
网络安全能力成熟度模型C2M2 V2.0 网络安全能力成熟度模型是美国能源部(DOE)、电力分部门协调委员会(ESCC)和石油和天然气分部门协调委员会(ONG SCC)资助的公共和私营部门组织共同开发的模型。该模型旨在解决...