以“编码”为黄金分割线,将整个过程分为开发和测试,并且开发和测试之间是串行的关系
特点:
明确标注了测试的类型
明确标注了测试阶段和开发阶段之间的对应关系
缺点:
测试后置
V模型是基于瀑布模型的,将测试放在整个开发的最后阶段,没有让测试今早介入开发,没有在需求阶段就进入测试。
需求分析:
即首先要明确客户需要的是什么,需要软件做成什么样子,需要有哪几项功能,这一点上比较关键的分析师和客户沟通时的理解能力与交互性。要求分析师能准确的把客户所需要达到的功能,实现方式,等表述出来,给出分析结果,写出需求规格说明书。
概要设计:
主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据传递的实现等项事务。
详细设计:
对概要设计中表述的各模块进行深入分析,对各模块组合进行分析等,这一阶段要求达到伪代码级别,已经把程序的具体实现的功能,现象等描述出来。其中需要包含数据库设计说明。
编码:
按照详细设计好的模块功能表,编程人员编写出实际的代码。
单元测试:
是模块测试,验证软件的基本组成单位的正确性,是白盒测试
集成测试:
是模块间的测试,测试接口(软件各模块之间的接口和软件与硬件之间的接口)是否正确,是灰盒测试(白盒和黑盒结合)
系统测试:
系统测试包括:冒烟测试 系统测试 回归测试
(1)冒烟测试:主干流程测试,确认软件的基本功能正常,可以进行后续的测试工作
(2)系统测试:是检测系统的功能、质量、性能能否满足系统的要求,包括功能、性能、界面、可靠性、兼容性等等,是黑盒测试
(3)回归测试:修改了旧代码之后重新进行测试,确认修改后的代码没有引入新的错误或导致其他代码产生新的错误
验收测试:
是确保软件的实现能否满足用户的需求或合同的要求
α测试
非正式验收测试,由用户、测试人员、开发人员共同参与的内部测试 。
α测试是指软件开发公司组织内部人员在开发环境下模拟各类用户对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。
α测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的用户操作方式。
经过α测试调整的软件产品称为β版本。
β测试
内测后的公测,即将正式发布,完全交给最终用户的测试。
β测试是由软件的多个用户在实际使用环境下进行的测试,这些用户返回有关错误信息给开发者。测试时,开发者通常不在测试现场。
因而,β测试是在开发者无法控制的环境下进行的软件现场应用。
在β测试中,由用户记下遇到的所有问题,包括真实的以及主观认定的,定期向开发者报告。
β测试主要衡量产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持),着重于产品的支持性,包括文档,客户培训和支持产品生产能力。
注:α测试和β测试均不能由程序员和测试员完成。