V模型是最具有代表意义的测试模型,最早是由Paul Rook在20世纪80年代后期提出,由英国 国家计算机中心文献中发布,旨在改进软件开发的效率和效果;
V模型推出之前,人们通常把测试过程作为在需求分析、概要设计、详细设计、编码全部完成 之后的一个阶段,尽管当时已经出现了测试工作会占用这个项目周期一半的时间,但是大多数人 认为测试只是一个收尾工作;V模型在这个时候推出,就是为了改变之前行业的普遍认识。
V模型本身是软件开发中瀑布模型的变种,它反映了测试活动与分析和设计的关系。
V模型标明了测试过程中的不同阶段,从左到右,描述了开发过程和测试过程间的阶段对应关系。
优点:
1、开发V模型即包含了底层测试又包含了高层 测试;
2、底层测试:检验源代码质量的测试,如:单 元测试;
3、高层测试:检验整个系统的需要,如:系统 测试;
4、模型清楚地标识出了软件开发的阶段。
5、它采用自顶向下逐步求精的方式把整个开发 过程分成不同的阶段,每个阶段的工作都很 明确,因此便于控制开发过程。当所有的阶 段都完成之后,该软件的开发过程也随之结束。
缺点:
1、V模型仅仅把测试过程作为在需求分析、概 要设计、详细设计以及编码之后的一个阶段, 容易使人误解测试是软件开发的最后一个阶 段,是软件开发的从属。
2、V模型的另一个大缺点正是它自身的顺序性 所导致的。到了测试阶段,程序已经完成, 错误已经产生,很多前期的错误一直到测试 阶段才发现,甚至无法发现,往往无从修改了。
3、同时实际的开发过程中,在需求阶段很难把 用户的需求完全明确下来,因此,当需求变 更时将会导致阶段反复,而且都要重复需求、 设计、编码、测试等过程,返工量非常大, 模型灵活性比较低。