V模型是
软件开发过程中的一个重要模型,由于其模型构图形似字母V,所以又称
软件测试的V模型。
即首先明确客户对于产品的需求,软件所具备的功能。这一点上比较关键的是
分析师和
客户沟通时的理解能力与
交互性。要求分析师能准确的把客户所需要达到的功能,实现方式,等表述出来,给出
分析结果,写出需求规格说明书。
主要根据
客户需求分析出软件方面的需求,即需要软件需要的功能,软件需要适应的硬件功能。该部分关键的是做到需求的剥离,以保证软件功能需求覆盖客户需求且不涵盖硬件或其他方面的需求,以方便
软件工程师的进一步开发。
主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和
数据传递的实现等项事务。
对概要设计中表述的各模块进行深入分析,对各模块组合进行分析等,这一阶段要求达到
伪代码级别,已经把程序的具体实现的功能,现象等描述出来。其中需要包含
数据库设计说明。
按照设定好的最小
测试单元进行按单元测试,主要是
测试程序代码,为的是确保各单元模块被正确的编译,单元的具体划分按不同的单位与不同的软件有不同,比如有具体到模块的测试,也有具体到类,函数的测试等。
经过了单元测试后,将各单元组合成完整的体系,主要测试各模块间组合后的功能实现情况,以及模块接口连接的成功与否,数据传递的正确性等,其主要目的是检查软件单位之间的接口是否正确。根据
集成测试计划,一边将模块或其他软件单位组合成系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。
集成测试对应概要设计。在做模块
功能分析及模块接口,
数据传输方法的时候,就把集成测试用例根据概要设计中模块功能及接口等实现方法编写出来,以备以后作集成测试的时候可以
直接引用;
系统测试对应系统设计,在系统分析人员作系统分析,编写需求说明书的时候测试人员就根据客户需求说明书,把最后能实现
系统功能的各种测试用例写出来,为做最后系统测试作准备。
V模型仅仅把
测试过程作为在
需求分析、
系统设计及编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,需求的满足情况一直到后期的验收测试才被验证。
解决的思路是,当一个
软件开发的时候,研发人员和测试人员需要同时工作,测试在软件做需求分析的同时就会有
测试用例的跟踪,这样,可以尽快找出
程序错误和需求偏离,从而更高效的提高程序质量,
最大可能的减少成本,同时满足用户的实际
软件需求。
V模式是一种传统
软件开发模型,一般适用于一些传统信息系统应用的开发,而一些高性能
高风险的系统、
互联网软件,或一个系统难以被具体模块化的时候,就比较难做成V模式所需的各种构件,需要更强调迭代的开发模型或者
敏捷开发模型。