按软件测试模式来分类
1、瀑布模型
项目计划:制定研发计划,确定里程碑节点,输出项目计划书
需求分析:明确用户的需求定义,并对定义进行清晰的描述,充分理解客户需求明确产品功能,输出需求规格说明书
软件设计:根据需求确定产品实现的方案,概要设计、详细设计的多个文档
程序开发
软件测试:独立的测试的小组,评估产品是否满足需求,输出测试报告
集成维护:根据用户使用情况对产品进行修改
优点:强调需求、设计的作用;前一阶段完成后。只需关注后续阶段;为项目提供了按阶段划分的检查点,里程碑清晰;文档规范
缺点:难以适应需求的频繁变化;项目周期后段才能看到成果;强制里程碑、完成时间点;文档工作量大
没有体现出测试的地位和价值,测试阶段只是补救的阶段,缺陷发现太晚,修改成本高
2、V模型
使用最广泛的模型
明确表明了测试过程的不同阶段,描述了测试阶段与开发阶段的对应关系
单元测试、集成测试:检测程序是否满足设计上的要求
系统测试:软件在功能、性能上是否满足系统要求的指标
验收测试:是否满足用户的要求和合同的标准
在V模型里强调了软件开发的协作和速度,反应测试活动和分析设计的关系,并且将软件的实现和验证有机的结合起来。
局限性:仅仅把测试过程作为在编码后面的阶段,需求和系统设计的验证只能在验收测试中发现
3、W模型
V模型的改进模型
测试伴随整个开发周期,对需求和设计都全面测试,有利于尽早的发现问题
及时了解项目风险
局限性:开发与测试仍然是线性关系
4、X模型
5、H模型
将测试流程看成是一个独立的模型,与软件其他流程并发进行
软件测试的分类
软件测试模式
软件测试的分类
瀑布模式、敏捷测试、基于脚本大的测试、基于风险的测试、探索式测试等
传统的瀑布模型(传统软件工程学的开发模式,最早出现,)
(1)瀑布模型
项目计划-->需求分析-->软件设计-->程序开发-->软件测试-->集成维护
(每一个阶段都是以上一个阶段的输出做为下一个阶段的输入)
项目计划:制定项目总体的研发计划,确定项目主要的里程碑节点;需要输出项目计划书。
需要分析:明确用户的需求定义,并对定义进行清晰的描述,是充分理解客户需求,详细描述产品功能的一个重要阶段;需要输出产品的需求规格书。
软件设计:根据产品的定义,确定产品的实现方案;包括定义软件与硬件的结构,组件模块的实现方法,接口、界面、数据如何组织,需要输出概要设计、详细设计在内的多份说明书。
程序开发:由开发团队根据需求和设计具体实现产品的功能,根据编程规范编写各类组件和模块,最后输出产品版本。
软件测试:通过独立的测试小组(QA团队)来评估产品是否满足需求的定义,需要输出测试结果、测试报告。
集成维护:产品经过测试后交付给用户,根据用户的使用情况,对产品进行维护,及必要的修改、升级的操作。
瀑布模式的有缺点
优点
1、强调需求、设计的作用
2、前一阶段完成后,只需要关注后续阶段
3、为项目提供了按阶段划分的检查点,里程碑清晰
4、文档规范
缺点
1、难以适应需求的频繁变化
2、项目周期后段才能看到成果
3、强制的里程碑、完成时间点
4、文档工作量大
(2)V模型(使用最广泛)
优点
描述了测试与软件开发过程的对应关系。
强调了软件开发的协作与速度,反应测试活动和分析设计的关系,并且将软件实现和验证有机的结合起来,明确界定测试过程存在不同阶段的,明确了不同测试阶段和研发过程每个阶段的对应关系。
缺点
把测试当做软件编码后的阶段,忽视了测试对需求的分析和验证,对需求与概要的验证要到后期才能进行,不符合软件测试需要尽早进行的感念。
(3)W模型
软件开发过程中,各个阶段测试都参与,测试伴随软件开发的整个开发周期
优点:能尽早的发现软件的缺陷;有利于尽早的发现软件的风险,及早的制定相应的应对方案,加快项目的进度
缺点:需求设计编码还是串行的关系,测试开发保持着一种线性的关系,在上一个阶段完成后才能进行以一个阶段,不能很好的支持迭代场景。
(4)X模型
解决交接与频繁集成周期的问题。
分片段进行测试。
(5)H模型
把软件测试当做一个独立的流程,贯穿在整个软件测试周期当中,与其他流程并发进行。
在H模型当中,测试阶段是一个独立的阶段,有利于我们更早的实行测试和交互性测试
基于V模型改进的一种模型方式
W模型也是有局限性的,每一个步骤需要在上一个步骤完成之后才能进行
W模型属于开发和测试同步进行,相对于V模型,有利于我们更早的实行验收测试
V模型是目前普遍运用的
传统瀑布模型的优缺点
传统瀑布模型 测试流程
软件测试的分类 按照测试模式区分
按测试模式来分类:
瀑布模型、敏捷测试、基于脚本的测试、基于风险的测试、探索式测试等。
1、瀑布模型:项目计划->需求分析->软件设计->程序开发->软件测试->集成维护
2、V模型(最广泛)
需求分析->概要设计->详细设计->软件编码->单元测试->集成测试->系统测试->验收测试
3、W模型(双V模型)
开发与测试并行,可以尽早发现问题
4、X模型
解决交接和频繁集成周期的问题
5、H模型:把软件测试看成一个独立的流程,与其他流程并发进行,比如设计流程,并发流程,甚至是测试流程
软件测试的分类
按测试模型分类
瀑布模型
传统的瀑布模型
敏捷测试
基于脚本的测试
基于风险的测试
探索式测试
。。。。。。
按测试模型分类
瀑布模型、敏捷测试、基于脚本的测试、基于风险的测试、探索式测试
瀑布模型:
优点:强调需求、设计的作用;前一阶段完成后,只需关注后续阶段;为项目提供了按阶段划分的检查点,里程碑清晰;文档规范
缺点:难以适应需求的频繁变化;项目周期的后期才能看到成果;强制的里程碑、完成时间点;文档工作量大
V模型:
W模型:
X模型:
H模型:
测试模型分类:
瀑布模型:
1.项目计划书、2.需求说明书、3.根据需求定义来确定产品实现的方案,包括定义软件、硬件的结构、组件模块的组建方法、接口界面数据如何进行组织,这阶段会输出概要设计、详细设计等多份设计说明书,4.根据需求和设计具体实现产品,来根据编程规范构建各类的组件模块最后输出产品版本,5.通过独立的测试小组来评估产品是否满足需求的定义,最后输出测试结果、测试报告,6.则是产品经过测试阶段后,交付给用户,根据用户的使用情况在对产品进行维护以及必要的修改升级等
敏捷测试:
基于脚本的测试
基于风险的测试
探索式测试
软件测试的分类
按测试模式来分类:瀑布模型、敏捷模型、基于脚本的测试、基于风险的测试、探索式测试等。
软件测试模式
按测试模式来分类
传统的瀑布模型:
按顺序的 下落的
每一个阶段 上一个输出 一个输入
瀑布模型的优缺点
大量文档
软件测试的地位和价值 研发的后期
V模型
W模型 (双V模型)
软件开发各个阶段
需求 设计 都要测试
尽早发现问题
及时了解项目的风险
需求 设计 编码 仍是串行的
线性的 测试 开发 (迭代不能很好支持)
X模型
H模型
并发执行
软件 设计 编码 测试 进展
按测试模式来分类:
瀑布模型、敏捷测试、基于脚本的测试、基于风险的测试、探索式测试等
w模型流程图
v模型流程图
111111111
V模型测试:
按测试模式分类
瀑布模型