【软件测试】软件测试的基本概念和开发模型

这篇具有很好参考价值的文章主要介绍了【软件测试】软件测试的基本概念和开发模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 前言

在进行软件测试的学习之前,我们要了解软件测试一些基本概念. 这些基本概念将帮助我们更加明确工作的目标以及软件测试到底要做什么.

2. 软件测试的基本概念

软件测试的基本概念有3个,分别是需求,测试用例和BUG.

2.1 需求

这里的需求还可以分为 用户需求和软件需求,用户需求: 简单理解为甲方提出的需求. 软件需求: 开发人员要实现的软件功能. 软件也会作为开发和测试的依据.
一般来说 用户需求不能直接作为软件需求. 我们要对用户需求进行分析,这里的分析可能是从技术上分析(看技术是否可行). 从市场上分析(市场需求量),从成本上分析(成本与收益占比).

2.2 测试用例

测试用例意义就是:测什么,怎么测. 明确出要测试的要素,测试用例的要素包括标题,测试环境,操作步骤,测试数据和预期结果这五大要素.

  • 标题: 简要说明这个测试用例是干什么的
  • 测试环境: 不同的环境测试出来的结果可能不同
  • 操作步骤: 不同的操作步骤测试出来的结果也可能不同
  • 测试数据: 根据测试环境和测试步骤得出的结果
  • 预期结果: 期望得到的结果

2.3 BUG

与产品规格说明书(需求文档)不符就算的上是BUG
主要有以下几点:

  • 当且仅当产品规格说明书(需求文档)存在且正确的时候,程序实现地功能与产品规格说明书(需求文档)要求不匹配时,那就是软件错误.
  • 当产品规格说明书(需求文档)没有提出的功能时,以用户为准.当程序没有实现用户合理预期(需要测试人员具有良好的产品思维)的需求时,这也是软件错误

3. 开发模型

开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架

3.1 软件/软件开发 的生命周期

软件/软件开发 的生命周期一般分为6个阶段: 需求分析->计划->设计->编码->测试->运行维护

  • 需求分析: 这里的分析与前面一致,要进行市场分析,技术分析(站在技术的角度上看技术是否支持),成本和收入占比分析.
  • 计划: 什么时候开始,什么时候结束.耗时多久
  • 设计: 将大的需求拆分成一个个小的可执行任务
  • 编码: 开发人员参考测试文档和开发文档等进行功能实现
  • 测试: 测试人员进行测试
  • 运行维护: 运行维护要具有完善性,修复性和预防性.当产品上线之后,用户开始使用.当用户发现了测试人员没有发现的BUG,后面测试开发人员对BUG进行修复,同时也对可能出现的BUG进行处理

软件测试贯穿软件的整个生命周期

3.2 软件测试的生命周期

软件测试分为以下几个阶段: 需求分析->测试计划->测试设计与开发->测试执行->测试评估

  • 需求分析: 1. 站在用户角度上思考问题: 判断软件需求是否合理. 2. 站在技术的角度上思考问题:技术上是否可行,还有没有优化空间. 3. 站在测试的角度上思考问题: 判断当前的业务逻辑是否存在冗余/冲突
  • 测试计划: 什么时候开始测试,什么时候结束测试,测试耗时多久
  • 测试设计与开发:1.写测试文档,明确标注测试方法,测试工具,测试形式等等. 2. 编写测试用例
  • 测试执行:充分利用测试用例和其它工具对项目尽可能的全覆盖测试
  • 测试评估: 评估产品是否有其它质量问题,功能演示

项目测试完成之后,需要进行项目上线.项目上线之后,测试人员也需要及时关注产品是否出现了问题.
如果出现了问题:

  1. 尝试复现,判断这个问题是普遍出现的还是个别情况.
  2. 尝试定位问题出现的原因,帮助开发人员定位尽快定位问题并解决问题
  3. 反思问题:为什么会出现问题,如何解决,今后如何避免问题.

3.3 瀑布模型

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

瀑布模型流程图:
【软件测试】软件测试的基本概念和开发模型
主要就是以下几个步骤:
【软件测试】软件测试的基本概念和开发模型
瀑布模型的特点:

  1. 线性结构,每个结构只执行一次
  2. 是所有其他模型的基础框架

瀑布模型的缺点:

  1. 测试后置.(1)测试前的各阶段遗留的风险推迟到测试阶段才会被发现,这会导致项目大规模返工,失去了早点发现解决问题的机会. (2) 必须留足够的时间给测试阶段,如果测试不充分,缺陷就会暴露给用户.
  2. 周期太长,产品很迟才能被看到和使用,可能导致需求过时.

瀑布模型的适用场景: 需求固定的小项目

3.4 螺旋模型

螺旋模型流程图:
【软件测试】软件测试的基本概念和开发模型
上面这张图不太好看,接下来我们用瀑布模型的方式来理解这张图.
看这张图:
【软件测试】软件测试的基本概念和开发模型
螺旋模型与瀑布模型相比增加了 风险分析和原型. 在需求分析,计划和设计之后要进行风险分析,每次风险分析之后就会得到一个新的原型.而在经过设计之后的风险分析之后就会得到一个可执行原型.

螺旋模型的特点: 增加了 风险分析和原型

螺旋模型的缺点:

  1. 项目中可能存在的风险性和风险管理人才的技能水平有直接关系
  2. 需要人员,资金,时间的成本增加和投入,项目的成本太高

螺旋模型的适用场景: 规模庞大,复杂度高,风险大的项目

3.5 增量模型

增量模型流程图:
【软件测试】软件测试的基本概念和开发模型
增量模型把一个大的需求分成了一个个可独立开发上线的功能.
例如一个项目里面要实现很多功能,可以先开发里面的一部分功能,开发完成之后就可以先进行上线,等其它也开发完成之后,再去上线其它功能. 这就是增量模型的流程

3.6 迭代模型

【软件测试】软件测试的基本概念和开发模型
迭代模型就是先完成基本的功能,然后在根据需求不断地取改善优化这些基本的功能

3.7 敏捷模型

敏捷开发有很多种方式,其中scrum是比较流行的一种。

scrum模型中有三个角色: 产品经理,项目经理和研发团队.
五个重要会议:发布计划会议,迭代计划会议,每日例会,演示会议和回顾会议

  • 发布计划会议: 确定最终的需求
  • 迭代计划会议: 任务拆解,确定责任人,工时评估
  • 每日例会: 了解当前项目的进度,每日会议后要给出"可交付的软件"
  • 演示会议: 产出用户需求
  • 回顾会议:总结当前迭代周期中的不足,并在下一次迭代中进行优化

敏捷模型的特点:1. 轻流程 2. 轻文档 3. 重目标 4. 重产出

4. 测试模型

以上都是开发模型,测试模型有V模型和W模型

4.1 V模型

【软件测试】软件测试的基本概念和开发模型
V模型特点: 1.测试过程中存在不同类型的测试 2.测试阶段的参考标准以前面对应阶段为准

缺点: 测试后置(与前面相同)

4.2 W模型

W模型也称"双V模型"
【软件测试】软件测试的基本概念和开发模型
W模型增加了软件各开发阶段中应同步进行的验证和确认活动。
W模型特点:测试的对象不仅是程序,需求、设计等同样要测试,测试与开发是同步进行的
W模型优点:1.有利于尽早地全面的发现问题。2. 对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,显著减少总体测试时间,加快项目进度。
W模型的缺点:1. W模型重流程,不适应与敏捷模型. 2.测试和开发活动也保持着一种线性的前后关系,前一项工作完成才能开展后一项工作

5. 总结

本文主要讲解了软件测试的三个基本概念,开发模型和测试模型的特点,缺点和适用场景. 概念较多,看起来也很枯燥乏味,但是掌握基本概念才能更好地学习软件测试.

感谢你的观看!希望这篇文章能帮到你!
专栏:《软件测试》在不断更新中,欢迎订阅!
“愿与君共勉,携手共进!”
【软件测试】软件测试的基本概念和开发模型文章来源地址https://www.toymoban.com/news/detail-414197.html

到了这里,关于【软件测试】软件测试的基本概念和开发模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件测试/测试开发丨Selenium Web自动化测试基本操作

    本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接:https://ceshiren.com/t/topic/26901 模拟功能测试中对浏览器的操作 get方法打开浏览器 refresh方法刷新页面 用back方法回退到上一个界面 maximize_window方法使窗口最大化 minimize_window方法使窗口最小化 标签: a 属性:href 类属性

    2024年02月10日
    浏览(41)
  • [软件测试] 01 软件测试基础概念 习题

    软件测试期末复习系列 课件知识点整合 : 软件测试基础 白盒测试 黑盒测试 PTA习题汇总 : 软件测试基础 白盒测试-逻辑覆盖测试 白盒测试-基本路径测试 白盒测试-静态测试 黑盒测试-等价类划分 黑盒测试-边界值测试 黑盒测试-场景法 提示 : 篇幅较长,可以使用 Ctrl+F ,在

    2024年02月04日
    浏览(34)
  • 【软件测试】入门答疑,概念

    目录 一 、答疑 🌷 1. 什么是软件测试 🌷 2. 软件测试和开发的区别 🌷 3. 调试和测试的区别是什么? 🌷 4. 软件测试岗位 🌷 5. 一个优秀的软件测试人员具备的素质 🌷 6. 为什么要做测试 二、概念 🌷 1. 衡量软件测试结果的依据—需求 🌳(1) 需求的概念 🌳(2)

    2023年04月15日
    浏览(45)
  • 软件测试基础概念

    需求分析-》测试计划-》测试设计-》测试开发-》测试执行-》测试评估 需求分析:分析需求是否合理和正确 计划:确定软件由谁测试? 什么时候开始测试,什么时候结束测试 测试那些模块 测试设计和测试开发阶段:设计测试用例(手工测试用例,自动化测试用例),编写测

    2023年04月21日
    浏览(40)
  • 软件测试相关概念

    目 什么是软件测试 软件测试的特点 什么是需求 用户需求 软件需求 从软件测试人员角度看需求 需求对测试人员的重要性 测试用例 BUG 软件生命周期 开发模型 瀑布模型 螺旋模型 增量迭代 敏捷 测试模型 V模型 W模型(双V模型) 软件测试就是验证软件产品特性是否满足用户的需

    2024年02月08日
    浏览(36)
  • 软件测试(概念篇)

    目录 1.什么是软件测试? 2.什么是测试用例? 3.软件测试目的和原则? 4.测试左移和测试右移? 5.用户需求和软件需求的区别? 6.软件测试和研发的区别? 7.软件测试岗位? 8.软件测试人员应具备的素质? 验证软件是否满足用户的需求。 向被测系统发起的一组集合,这组集

    2023年04月10日
    浏览(29)
  • 软件测试-测试的概念,单元测试的详细介绍,如何设计测试用例

    作为测试工程师,你就必须掌握设计开发测试基础架构的关键技术。第三,随着自动化测试的规模化,测试数据准备的各种问题被逐渐暴露并不断放大,成为影响自动化测试效率以及稳定性的“拦路虎”。早期的传统测试数据准备方法,无论是从测试数据准备的时间成本,还

    2024年04月14日
    浏览(46)
  • 分享 | 软件测试的基本流程是什么?软件测试流程详细介绍

    软件测试和软件开发一样,是一个比较复杂的工作过程,如果无章法可循,随意进行测试势必会造成测试工作的混乱。为了使测试工作标准化、规范化,并且快速、高效、高质量地完成测试工作,需要制订完整且具体的测试流程。 不同类型的软件产品测试的方式和重点不一样

    2024年02月05日
    浏览(36)
  • [软件测试] 03 白盒 基本路径测试 习题

    软件测试期末复习系列 课件知识点整合 : 软件测试基础 白盒测试 黑盒测试 PTA习题汇总 : 软件测试基础 白盒测试-逻辑覆盖测试 白盒测试-基本路径测试 白盒测试-静态测试 黑盒测试-等价类划分 黑盒测试-边界值测试 黑盒测试-场景法 提示 : 篇幅较长,可以使用 Ctrl+F ,在

    2024年02月04日
    浏览(30)
  • 软件测试 - 测试用例基本理论

    目录 前言: 1. 概念 2. 组成要素 3. 作用 软件测试用例是软件测试的基本理论之一,它是用来定义和描述对软件系统进行测试的一组步骤和条件。测试用例旨在验证软件系统的功能、性能、可靠性等方面是否满足需求和预期。 为了特定的目的(该目的是检验代码是否满足用户需

    2024年02月12日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包