软件测试模型有哪些?

目录

1、瀑布模型

2、V模型

3、W模型

4、H模型

5、X模型

6、前置测试模型


1、瀑布模型

瀑布模型(Waterfall Model)是一个软件生命周期模型,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。

软件测试模型有哪些?_第1张图片

1970年温斯顿·罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。

                         软件测试模型有哪些?_第2张图片

2、V模型

V 模型反映了测试活动与分析和设计的关系,从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系,如图所示,图中的箭头代表了时间方向,左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即各测试过程的各个阶段。

软件测试模型有哪些?_第3张图片

V 模型指出,单元和集成测试是验证的程序设计,检测程序的执行是否满足软件设计的要求。系统测试应当验证系统设计,检测系统功能、性能的质量特性是否达到系统设计的指标。测试人员和用户进行软件的确认测试和验收测试,追溯软件需求说明书进行测试,以确定软件的实现是否满足用户需求或合同的要求。

V 模型存在一定的局限性,它仅仅是测试过程作为在需求分析、概要设计、详细设计及编码后的一个阶段。需求分析阶段隐藏的问题一直到后期的验收测试才被发现。

V 模型的软件测试策略既包括低层测试又包括了高层测试,低层测试是为了源代码的正确性,高层测试为了使整个系统满足用户的需求。

3、W模型

V 模型的局限性在于没有明确地说明早期的测试,不能体现“尽早地和不断地进行软件测试”的原则。在 V 模型中增加软件各开发阶段应同步进行的测试,被演化为一种 W 模型,因为实际上开发是 “V”,测试也是与此相并行的 “V”。基于“尽早地和不断地进行软件测试”的原则。

软件测试模型有哪些?_第4张图片

W 模型的优点:

(1)测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。

(2)体现“尽早地和不断地进行软件测试”的原则。

(3)在 V 模型中增加软件和开发阶段应同步进行的测试。

W 模型的局限性:

软件开发和测试保持一种线性的前后关系,需要有严格的指令表示上一阶段完全结束,才可正式开始下一个阶段。这就无法支持迭代、自发性以及变更调整。

                    软件测试模型有哪些?_第5张图片

4、H模型

H 模型将测试活动独立出来,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。贯穿于整个产品周期,与其他流程并发地进行。

软件测试模型有哪些?_第6张图片

5、X模型

X 模型定位了探索性测试。

X 模型的基本思想是由 Marick 提出的。Marick 对 V 模型最主要批评是 V 模型无法引导项目全部过程。他认为一个模型必须能处理开发的所有方面,包括交接、频繁重复的集成以及需求文档的缺乏等。

软件测试模型有哪些?_第7张图片

X 模型具有以下特征:

(1)公司可以根据自身的情况确定是否要做单元测试,还是直接做系统测试。

(2)测试应该是一个不断迭代的过程,直到封版发布。

(3)提倡探索性测试。

6、前置测试模型

前置测试模型是一个将测试和开发紧密结合的模型,该模型提供了轻松的方式,可使你的项目加快速度

软件测试模型有哪些?_第8张图片

前置测试模型体现了以下的要点:

(1)开发和测试相结合;前置测试模型将开发和测试的生命周期整合在一起,标识了项目生命周期从开始到结束之间的关键行为。

(2)对每一个交付内容进行测试;每一个交付的开发结果都必须通过一定的方式进行测试。

(3)在设计阶段进行测试计划和测试设计;设计阶段是作测试计划和测试设计的最好时机。

(4)测试和开发结合在一起;前置测试将测试执行和开发结合在一起,并在开发阶段以编码——测试——编码——测试的方式来体现。

(5)让验收测试和技术测试保持相互独立;验收测试应该独立于技术测试,这样可以提供双重的保险,以保证设计及程序编码能够符合最终用户的需求。

软件测试模型有哪些?_第9张图片

感谢每一个认真阅读我文章的人!!!

如果下面这些资料用得到的话可以直接拿走:

1、自学开发或者测试必备的完整项目源码与环境

2、测试工作中所有模板(测试计划、测试用例、测试报告等)

3、软件测试经典面试题

4、Python/Java自动化测试实战.pdf

5、Jmeter/postman接口测试全套视频获取

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。需要可以评论区留言或者私信我

你可能感兴趣的:(自动化测试,测试工具,自动化,python,运维,架构)