测试 | 五种开发模型和测试模型

目录

需求的概念

测试用例概念

什么是BUG(软件错误)?

开发模型(5个模型)

1.瀑布模型

2.螺旋模型

3.增量模型、迭代模型

4.敏捷模型

敏捷开发较流行的方式——scrum

测试模型

1.V模型

2.W模型(双V模型)


需求的概念

满足用户期望或正式规定文档(合同、标准、规范)所具有的条件和权能,包含用户需求和软件需求。

用户需求:可以简单理解为甲方的需求,如果没有甲方,就是终端用户使用产品时必须要完成的任务。该需求一般比较简陋。

软件需求:或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能。

测试用例概念

是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等因素。(重要性、优先级、操作方式、标题等)

测试用例主要解决两大问题:测什么,怎么测。

优点:衡量需求覆盖率、复用性、借鉴意义;用于回归测试;防止遗漏测试需求

什么是BUG(软件错误)?

当且仅当程序规格说明书(软件需求)存在并且合理,如果软件功能和软件规格说明书不相符合,就是软件错误。

当软件需求不存在,用户需求存在并且合理,软件功能和用户功能不相符合,就说明是软件错误。

开发模型(5个模型)

软件开发的生命周期

需求分析——计划——设计——开发——测试——运行维护

计划:时间、人数等

设计:整体框架、用的语言等

1.瀑布模型

瀑布模型在软件工程中占重要地位,是其他所有模型的基础框架,瀑布模型的每一个阶段都只执行一次,因此是线性顺序进行的开发模型。

特点:阶段性强,每一个阶段比较独立;看重前期的需求分析和后期的测试。

缺点:测试在编码后才介入,导致前期的问题到后期才能显露,失去及早补救的机会。

2.螺旋模型

适用于项目庞大,前期风险大、不是很明确的项目

特点:强调每一个阶段的测试质量和风险分析

缺点:风险管控入人力物力投入很多,成本很大

3.增量模型、迭代模型

同一个系统的四个模块A B C D  计划两周

增量模型:第一周开发 A B 模块 第二周开发 C D 模块

迭代模型:第一周开发A B C D 基础模块 第二周在第一周的基础上完善功能

增量通常和迭代混为一谈,但是其实两者是有区别的。增量是逐块建造的概念,例如画一幅人物画,我 们可以先画人的头部,再画身体,再画手脚……而迭代是反复求精的概念,同样是画人物画,我们可以 采用先画整体轮廓,再勾勒出基本雏形,再细化、着色。

特点:抗风险能力强

4.敏捷模型

《敏捷宣言》提到:我们通过身体力行和帮助他人来 揭示更好的软件开发方式。经由这项工怍,我们形成了如下价值观。

个体与交互重于过程和工具

可用的软件重于完备的文档

客户协作重于合同谈判

响应变化重于遵循计划

在每对比对中,后者并非全无价值,但我们更看重前者。

特点:轻文档、轻流程、重目标、重产出、拥抱变化

敏捷开发较流行的方式——scrum

 角色:

PO:产品经理(product owner),负责整理user story(用户故事),定义其商业价值,对其进行排序,制定发布计划,对产品负责。

SM:项目经理(scrum master),管理整个团队,负责敏捷流程顺利实施,召开各种会议,为研发团队服务。

ST:研发团队(scrum team),各种技能的人组成,开发、测试UI...通过紧密协同,完成每一次迭代的目标,交付产品。

scrum流程:

scrum的基本流程如上图所示:

  • 产品负责人负责整理user story,形成左侧的product backlog。
  • 发布计划会议:product owner负责讲解user story,对其进行估算和排序,发布计划会议的产出 就是制定出这一期迭代要完成的story列表,sprint backlog。
  • 迭代计划会议:项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,每 个任务都有明确的负责人,并完成工时的初估计。
  • 每日例会:每天scrum master召集站立会议,团队成员回答昨天做了什么今天计划做什么,有什么问题。
  • 演示会议:迭代结束之后,召开演示会议,相关人员都受邀参加,团队负责向大家展示本次迭代取得的成果。期间大家的反馈记录下来,由po整理,形成新的story。
  • 回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,已达到持续改进的效果。

测试模型

1.V模型

 V模型最早是由Paul Rook在20世纪80年代后期提出的,目的是改进软件开发的效率和效果。是瀑布模型的变种

  • 明确的标注了测试过程中存在的不同类型的测试,并且清楚的描述了这些测试阶段和开发过程期间 各阶段的对应关系
  • V模型指出,单元和集成测试应检测程序的执行是否满足软件设计的要求;系统测试应检测系统功 能、性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是否满足用户需要或合同 的要求
  • 局限性:仅仅把测试作为在编码之后的一个阶段,未在需求阶段就进入测试

2.W模型(双V模型)

 W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分 别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。

W模型特点:测试的对象不仅是程序,需求、设计等同样要测试,测试与开发是同步进行的

W模型优点:有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需 求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度 和测试风险,及早制定应对措施,显著减少总体测试时间,加快项目进度。

局限性:需求、设计、编码等活动被视为串行的;测试和开发活动也保持着一种线性的前后关系, 上一阶段完全结束,才可正式开始下一个阶段工作。无法支持敏捷开发模式。对于当前软件开发复 杂多变的情况,W模型并不能解除测试管理面临着困惑。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
需求指的是对于软件或产品功能、性能、界面等方面的具体要求或期望,包括用户需求和系统需求两种。用户需求是指最终用户对产品的期望和要求,而系统需求是指开发团队根据用户需求提炼出来的功能、性能等方面的具体规格。 测试用例是为了验证软件或产品功能是否按照需求进行开发而编写的测试案例或测试脚本。测试用例包括对各种输入条件的验证和对应输出结果的判断,以及各种功能和场景下的验证操作,请在输入和输出符合预期的情况下进行。 bug指的是软件或产品中的错误、缺陷或故障。当软件无法按照预期功能运行或者功能不符合需求时,就可能出现bug。软件开发过程中,通过测试发现的bug会被记录、报告和修复。 软件开发模型是指按照一定规范和流程进行软件开发的方式,常见的有瀑布模型、迭代模型、敏捷模型等。瀑布模型是一种传统的开发流程,按照需求分析、设计、编码、测试和维护的顺序进行。迭代模型是一种重复循环的开发方式,每个迭代周期都会完成需求分析、设计、编码、测试等步骤。敏捷模型是一种强调合作和迭代开发的方法,通过不断反馈和调整来满足用户需求。 测试模型是指按照一定规范和流程进行软件测试的方式,常见的有瀑布测试模型、V模型、敏捷测试模型等。瀑布测试模型是按照瀑布模型进行测试,将需求分析阶段的测试结果作为后续测试的基础。V模型则是在开发的各个阶段都有相应的测试活动,测试开发对应。敏捷测试模型则是在敏捷开发模式下进行测试,强调即时反馈和快速响应的特点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值