
什么是V模型?
V-模型被称为软件开发过程中的验证和确认模型。
它是瀑布模型的扩展,并基于与每个开发阶段相对应的测试阶段相关联。只有在前一个阶段完成后,才能开始下一个阶段。
从图中可以看出,验证阶段在V字形的一侧,确认阶段在另一侧,而开发阶段则处于两者的结合部。
V-模型确认阶段
需求分析
这是一个从客户的角度理解需求的阶段。"验收测试设计规划 "在这个阶段执行,因为需求可以作为验收测试的输入。
系统设计
包含开发中的产品的所有硬件和通信细节。系统测试计划是根据系统设计而制定的。
架构设计
系统设计被划分为需要不同功能的模块。这也被称为 "高层设计"。
模块设计
在这个阶段,详细的设计被指定为所有的系统模块,这也被称为 "低水平设计"。
开发/编码阶段
根据系统和架构要求决定最合适的编程语言,并对设计阶段设计的系统模块进行编码。
V-模型的验证阶段
单元测试
单元测试是在代码层面的测试,有助于在早期阶段消除bug,但不是所有的bug都能通过单元测试发现。
集成测试
集成测试是为了测试系统内部模块的共存和通信。
系统测试
系统测试检查所有的系统功能和开发中的系统与外部系统的通信。大多数软件和硬件的兼容性问题都可以在系统测试运行中发现。
验收测试
验收测试揭示了与用户环境中其他系统的兼容性问题。它还能发现非功能问题,如真实用户环境中的负载和性能错误。
我们应该在什么时候使用V-模型开发?
- 如果需求(或能够)被很好地定义并清楚地记录下来。
- 如果产品定义是固定的。
- 小-中型项目
- 如果使用的技术不是动态的。(如果不会在项目中间改变框架/SDK)
- 如果没有不明确的或未定义的要求。
使用V-Model可以使项目以非常系统的方式进行。测试从项目的第一天开始。这是一种非常有效的方式,为项目实现良好的可追溯性。
但在某些情况下,例如;
- 大型/复杂的项目
- 在开发过程中需要功能原型
- 如果你需要灵活地满足客户的需求
不适合V-模型。由于它的设计,不能在中途改变一些东西,整个文件需要升级。(需求、设计、测试...)
文章转载自公众号:智能汽车开发者平台
