文章目录
一、V模型
1.1 V模型的背景
- V模型是最具有代表意义的测试模型,最早是由Paul Rook在20世纪80年代后期提出,由英国国家计算机中心文献中发布,旨在改进软件开发的效率和效果;
- V模型推出之前,人们通常把测试过程作为在需求分析、概要设计、详细设计、编码全部完成之后的一个阶段,尽管当时已经出现了测试工作会占用这个项目周期一半的时间,但是大多数人认为测试只是一个收尾工作;V模型在这个时候推出,就是为了改变之前行业的普遍认识。
- V模型本身是软件开发中瀑布模型的变种,它反映了测试活动与分析和设计的关系。
- V模型标明了测试过程中本身存在的不同阶段,从左到右,描述了开发过程和测试过程间的阶段对应关系。
1.2 V模型示意图

需求分析—>概要设计—>详细设计—>编码—>单元测试—>集成测试—>系统测试—>验收测试
1、 单元测试:又称模块测试,针对单一的程序模块进行的测试。
2、 集成测试:又叫组装测试,在单元测试的基础上,将所有程序模块进行有序的、递增的测试。
3、 系统测试:将整个软件看做一个整体来进行测试,包括功能、性能、兼容性
4、 验收测试:
(1)内测版(alpha)内部交流版本,可能存在很多bug,不建议用户安装。
(2)公测版(beta)面向所有用户,通过用户的反馈再去修改细节。
(3)候选版(gamma)与正式软件相差无几。
1.3 V模型优缺点
1.3.1 V模型优点
1、测试V模型即包含了底层测试又包含了高层测试。
- 底层测试:检验源代码质量的测试,如:单元测试;
- 高层测试:检验整个系统的需要,如:系统测试;
2、V模型清楚地标识出了软件开发的阶段。
3、它采用自顶向下逐步求精的方式把整个开发过程分成不同的阶段,每个阶段的工作都很明确,因此便于控制开发过程。当所有的阶段都完成之后,该软件的开发过程也随之结束。
1.3.2 V模型缺点
- V模型一大缺点正是它自身的顺序性所导致的。到了测试阶段,程序已经完成,错误已经产生,很多前期的错误一直到测试阶段才发现,甚至无法发现,往往无从修改了。
- 同时实际的开发过程中,在需求阶段很难把用户的需求完全明确下来;因此,当需求变更时将会导致阶段反复,而且都要重复需求、设计、编码、测试等过程,返工量非常大,模型灵活性比较低。
1.3.3 V模型改良
改良:每个步骤都可以进行小的迭代工作。
二、W模型
2.1 W模型的背景
- IEEE std1012-1998《软件验证和确认(V&V)》的原则中提出了在软件的需求和设计阶段也应有测试活动,并且提出了相应的原则;
- W模型由Evolutif公司提出:开发一个V,测试一个V,组合的W模型;
- 测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试。
2.2 W模型示意图

2.3 W模型优缺点
2.3.1 W模型优点
- 开发和测试伴随着整个开发周期,而且测试的对象不仅仅是程序,需求和概要设计同样要测试;
- 更早地介入测试,可以发现开发初期的缺陷,那么可以用更加低的成本进行缺陷修复。
- 同样是分阶段的工作,便于控制项目过程。
2.3.2 W模型缺点
- 依赖于软件开发和软件测试依然保持一前一后的线性关系,依然无法支持迭代、自发性和需求等变更调整;
- 对于当前很多项目,在执行的过程中根本不产生文档,那么W模型基本无法适用;
- 使用起来技术复杂度很高,对于需求和设计的测试要求很高,实践起来困难。
三、H模型
3.1 H模型的背景
- 人们发现虽然软件开发中需求、设计、编码等活动被分阶段执行、但是实践中,他们并不是完全串行的,它们之间更多时候是交叉进行的,更多的是迭代执行。
- 为了解决上面的问题,有专家专门提出了H模型,它将测试活动完全独立出来,形成一个完全独立的流程,同时将测试准备和测试执行也清晰表现出来。
3.2 H模型示意图

1、测试流程
- 测试准备:所有测试执行活动的准备;判断是否到测试就绪点;
- 测试就绪点:测试准入准则,即是否可以开始执行测试的条件;
- 测试执行:具体的执行测试的程序。
2、其他流程
- 具体开发中的流程,如:设计流程
3.3 H模型优缺点
3.3.1 H模型优点
- 开发的H模型揭示了软件测试除测试执行外,还有很多工作;
- 软件测试完全独立,贯穿整个生命周期,且与其他流程并发进行;
- 软件测试活动可以尽早准备、尽早执行,具有很强的灵活性;
- 软件测试可以根据被测物的不同而分层次、分阶段、分次序的执行,同时也是可以被迭代的。
3.3.2 H模型缺点
- **管理型要求高:**由于模型很灵活,必须要定义清晰的规则和管理制度,否则测试过程将非常难以管理和控制;
- **技能要求高:**H模型要求能够很好的定义每个迭代的规模,不能太大也不能太小;
- **测试就绪点分析困难:**测试很多时候,你并不知道测试准备到什么时候是合适的,就绪点在哪里,就绪点的标准是什么,这就对后续的测试执行的启动带来很大困难;
- **对于整个项目组的人员要求非常高:**在很好的规范制度下,大家都能高效的工作,否则容易混乱。例如:你分了一个小的迭代,但是因为人员技能不足,使得无法有效完成,那么整个项目就会受到很大的干扰。
四、总结
定义:开发一个v;测试一个v组合起来的模型(w模型也叫双v模型)
- V模型适用于中小企业。
- W模型适用于中大型企业(因为人员要求高)。
- H模型人员要求非常高,很少有公司使用。

被折叠的 条评论
为什么被折叠?



