v-model包含了三个等级,分别是生存期模型,分配模型,功能性工具需求模型,生存期模型回答了“What has to be done?”的问题,阐述了应当实施哪些活动,应当产生哪些结果,诸如此类。分配模型回答了“How is it be done”,决定了在实施活动的时候应该使用什么方法,功能性工具需求模型回答了“What is used to do it”,采用什么样的工具来实现这些活动。所有这些等级中又是由4个子模块组成的,分别是项目管理模块(PM),系统开发模块(SD),品质保证模块(QA),配置管理模块(CM),这些模块的功能就显而易见了。
最典型的V模型版本一般会在其开始部分对软件开发过程进行描述,如下图所示:
预验收测试
可行性分析 -- ---> 验收测试
↘ 预系统测试 ↗
需求分析 -----> 系统测试
↘ 预集成测试 ↗
概要设计 ----> 集成测试
↘ 预单元测试 ↗
详细设计 -----> 单元测试
↘ ↗
编码
单元测试所检测代码的开发是否符合详细设计的要求。集成测试所检测此前测试过的各组成部分是否能完好地结合到一起。系统测试所检测已集成在一起的产品是否符合系统规格说明书的要求。而验收测试则检测产品是否符合最终用户的需求。
V模型的缺陷
仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段
忽视了测试对需求分析,系统设计的验证,一直到后期的验收测试才被发现。