V模型
V模型图形如下:
v模型是软件开发过程中的一个重要模型,大体可划分为六个阶段的步骤:需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试。
需求分析
①用户需求:明确用户需求
②业务需求:把用户需求转换成可行方案和建议,明确问题以及背景、原因。根据解决方案明确需求功能点
③书写需求规格说明书
概要设计
设计系统架构、模块划分以及接口
详细设计
模块内部的具体实现,最好有伪代码
软件编码
用代码的方式对系统进行实现
单元测试
编写单元测试用例,测试模块内部是否存在bug。最好先写单元测试用例,再编码
集成测试
测试模块之间的接口
系统测试
测试软件再特定场景下的工作情况
验收测试
验收标准要在需求分析阶段确定。
与系统测试区别:
①执行人不同,系统测试是厂商执行,验收测试是代表客户立场的人执行
②验收测试用例不同,验收测试用例在系统测试应该已测试过
③验收测试是偏向于商务环节的测试
优点:V模型揭示了开发过程与测试过程中各阶段的对应关系,通过开发和测试同时进行的方式来缩短开发周期,提高开发效率
缺点:忽视了测试对需求分析,系统设计的验证,需求的满足情况一直到后期的验收测试才被验证;没有体现出“尽早地和不断地进行软件测试”的原则W模型
W模型图形如下:
W 模型也称之为双V 模型,一个V 是开发的生命同期,另一个V 是测试的生命周期,W 模型与V 模型有一个很大的不同,就是W 模型是一个并行的模型,V 模型是一个串行的模型,W 模型开始是从需求分析开始就开始了,而不是等到编码完成后才开始。并且测试阶段的划分更清楚,而不仅仅是单元测试、集成测试、系统测试,还包括前期的测试计划、测试方案等内容,这更符合现在企业测试的流程。
W 模型强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。
W 模型有利于尽早全面地发现问题。从需求分析开始测试工程师就参与到项目的测试中,当需求分析完成后,测试工程师就需要参与到需求的验证和确认活动中,并需要提供可测试性需求分析说明书,这样可以尽早地发现需求阶段的缺陷。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。但W 模型也存在局限性,需求、设计、编码等活动被视为是串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一阶段工作,这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W 模型并不能解除测试管理面临的困惑。
H模型
H模型图形如下:
H 模型将测试活动分离出来,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。
H 模型提倡者认为测试是一个独立的过程中,所以在H 模型中并没有看到关于开发的过程,而是测试的一个流程,当然这个测试的流程并不像V 模型和W 模型那样有明确的测试区分。H 模型演示了在整个生命周期中某个层次上一次软件测试的“微循环”。当测试条件准备完成,进入测试就绪状态后,所在测试H 模型中有一个测试就绪点,也就是测试有一个准入条件。通常情况下判断测试是否达到准入条件,应该检查以下几部分内容是否已经完成:
该开发流程对应的测试策略是否完成;
测试方案是否完成;
测试用例是否完成;
测试环境是否搭建好;
相关输入件、输出件是否明确。
也就是说,通常我们要检查上面一些内容是否完成,再确定我们是否需要进入下一个阶段的测试。当测试条件成熟,并且测试准备工作已经完成,进入了测试就绪点,测试执行活动才可以进行。
H 模型中还有一个“其他流程”的测试,这个观点强调了测试其他不一定要是常见的应用程序也可以其他的内容,这可以理解为整个产品包中所有的对象,包括开发阶段的一些设计流程,这样将测试的范围直接扩展到整个产品包,而非W 模型中提到的代码、需求或其他相关说明书。
与V 模型和W 模型不同的是,H 模型的核心是将软件测试过程独立出来,并贯穿产品的整个生命周期,与开发流程并行进行,不需要等到程序全部开发完成才开始执行测试,这充分体现了软件测试要尽早准备、尽早执行的原则。不同的测试活动可以按照某个次序先后进行,当一次测试工作后产品质量无法达到要求时,可以反复进行多次测试
2021-04-21
最新推荐文章于 2023-07-04 22:13:46 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)