V模型
1980年,Paul Rook(保罗·洛克)提出,旨在改进瀑布模型的开发效率和效果。
“V”的左端表示传统的瀑布开发模型,而“V”的右端表明相应的测试阶段
V模型大体可以划分为以下几个不同的阶段步骤:需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试。
需求分析(需求经理做的)
即首先要明确客户需要的是什么,需要软件做成什么样子,需要有那几项功能,这一点上比较关键的是分析师和客户沟通时的理解能力与交互性。要求分析师能准确的把客户所需要达到的功能,实现方式,等表述出来,给出分析结果,写出需求规格说明书。
概要设计(开发人员)
主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据传递的实现等项事务。
详细设计(开发人员)
对概要设计中表述的各模块进行深入分析,对各模块组合进行分析等,这一阶段要求达到伪代码级别,已经把程序的具体实现的功能,现象等描述出来。其中需要包含数据库设计说明。
软件编码(开发人员)
按照详细设计好的模块功能表,编程人员编写出实际的代码。
单元测试(开发人员)
进行单个最小模块进行测试,主测代码,一般归软件开发人员编写。目地保证这一小模块的程序正确。
集成测试(开发人员)
将经过单元测试的>=2个的模块进行连接,然后保证两个模块联结在一起之后的功能实现无问题,目的保证模块连接后接口成功与否功能实现正确与否,产地数据是否正确 。
系统测试(测试人员)
经过了单元测试和集成测试以后,将整个体统搭建起来,按照需求要求,查看是否满足用户需求,程序是否存在问题
验收测试(第三方:上线后使用人员)
用户在拿到软件后,根据自己需求进行测试,查看是否实现自己想要的效果。
缺陷及解决
V模型仅仅把测试过程作为在需求分析、系统测试及编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,需求的满足情况一直到后期的验收测试才被验证。
解决;当一个软件开发的时候,研发人员和测试人员需要同时进行工作。
W模型
W模型,由Evolutif公司提出,相对于V模型,W模型增加了软件开发各阶段中同步进行的验证和确认活动。
如图所示,由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。
W模型强调
测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等开发输出的文档同样要测试 也就是说,测试与开发是同步进行的。W模型有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求文档的分析中(例如咱们现在的需求分析会),以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试,加快项目进度。
优点
测试的活动与软件开发同步进行,减少时间。
测试的对象不仅仅是程序,还包括需求和设计(测试设计:UI界面美观,用户交互)
尽早发现软件缺陷可降低软件开发的成本。