软件测试03:软件工程和软件生命周期

这篇具有很好参考价值的文章主要介绍了软件测试03:软件工程和软件生命周期。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

软件测试03:软件工程和软件生命周期

软件危机

  • 软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

软件工程

  • 基本软件危机对于计算机发展的阻碍,1968年,在联邦德国召开的国际会议,北大西洋公约组织的计算机科学家讨论软件危机问题。提出了软件工程这个名词,从此软件生产进入工程化时代。
  • 软件工程包括两方面的内容:
    • 软件开发技术:软件开发方法学、软件工具和软件工程环境
    • 软件项目管理:软件质量、项目估算、进度控制、人员组织、配置管理、项目计划
  • 引起软件危机的主要问题是软件质量问题
  • 软件工程主要结界的就是软件质量问题
  • 软件测试是软件质量管理体系中一个非常重要的手段

软件生命周期

软件生命周期模型

  • 软件生命周期模型是一个框架,描述从软件需求定义直至软件经使用后废弃为止,跨越整个生存期的软件开发、运行和维护所实施的全部过程、活动和任务,同时描述生命周期不同阶段产生的软件工件,明确活动的执行角色等。

  • 软件过程模型:从一个特定角度提出的对软件过程概括描述,是对软件开发实际过程抽象,包括构成软件过程的各种活动软件工件以及参与角色等。

  • 瀑布模型

    • 基本概念:最早提出的软件开发的过程模型,瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。
    • 核心思想:采用结构化的分析与设计方法将功能的实现与设计分开,便于分工合作。即将软件生命周期划分为可行性分析、需求分析、概要设计、详细设计、编码实现、测试与维护,六个基本阶段,并规定了他们自上而下,相互衔接的固定次序,如同瀑布流水,逐级下落。
    • 实施过程:从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,并作为输出传给下一项活动。同时评审该项活动的实施,若确认,则继续下一项活动;否则返回前面,甚至更前面的活动。
    • 缺点:
      • 强调时间顺序的严格执行,前阶段不完成,后阶段不开始,可能会浪费太多不必要的时间。
      • 将测试放在了编码之后。没有体现出测试贯穿软件生命周期的原则。可以避免需求类的问题一直延续到代码完成才暴露或者被发现。
      • 各种阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
      • 线性开发,用户等到整个过程的末期才能见到开发成果,从而增加了开发风险。
      • 瀑布模型不适应用户需求的变化
    • 优点:
      • 为项目提供了按阶段划分的检查点,能够逐步稳定的使项目向前发展
      • 当前一阶段完成后,只需要去关注后续阶段
    • 注意:要求会画出瀑布模型,易出现在面试题。

    软件测试03:软件工程和软件生命周期

  • 迭代模型(喷泉模型)

    • 迭代包括产生产品发布(稳点、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他元素,强调开发的深入。
    • 在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:需求分析、设计、实施和测试工作流程。
    • 迭代过程具有以下优点:
      • 降低了在一个增量上的开支风险。
      • 降低了产品无法按照既定进度进入市场的风险。
      • 加快了整个开发工作的进度。
      • 迭代过程这种模式使适应需求的变化会更容易些。
      • 提高开发效率、缩短开发周期
    • 缺点:
      • 难于管理

    软件测试03:软件工程和软件生命周期

  • 螺旋模型

    • 螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。
      • 引入了其他模型不具备的风险分析,使软件在无法排出重大风险时有机会停止,以减小损失。
      • 螺旋模型主要针对大型软件项目开发周期长风险高的特点。
      • 螺旋模型的每一次迭代都包含了以下六个步骤
        1.决定目标,替代方案和约束
          2.识别和解决项目的风险
          3.评估技术方案和替代解决方案
          4.开发本次迭代的交付物和验证迭代产出的正确性.
          5.计划下一次迭代
          6.提交下一次迭代的步骤和方案
      • 四个象限:制定计划风险分析实施工程客户评价

    软件测试03:软件工程和软件生命周期

  • 快速原型

    • 基本概念:快速原型模型需要迅速建造一个可以运行的软件原型 ,以便理解和澄清问题,使开发人员与用户达成共识,最终在确定的客户需求基础上开发客户满意的软件产品。
    • 核心思想:在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。
    • 实施过程:第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。
    • 优点:能够有效减少由于软件需求不明确带来的开发风险。
    • 缺点:快速建立起来的系统结构可能会在后续的持续更改中导致然简质量低下。
  • 增量模型

    • 增量模型首先对系统最核心或最清晰的需求进行分析、设计、实现、测试并集成到系统中,再按优先级逐步对后续的需求进行上述工作,逐步建设成一个完整系统的开发方法。结合了瀑布模型和演化模型的优点。
    • 缺点:
      • (1).增量粒度难以选择;
      • (2).确定所有的基本业务服务比较困难。
    • 优点:
      • (1).客户可以在第一次增量后就使用到系统的核心功能,增强了客户使用系统的信心;
      • (2).项目总体失败的风险较低,因为核心功能先开发出来,即使某一次增量失败,核心功能的产品客户仍然可以使用。
      • (3).由于增量是按照从高到低的优先级确定的,最高优先级的功能得到最多次的测试,保障了系统重要功能部分的可靠性。
      • (4).所有增量都是在同一个体系结构指导下进行集成的,提高了系统的稳定性和可维护性。
  • 敏感开发模型

    • 敏捷宣言,也叫做敏捷软件开发宣言,正式宣布了对四种核心价值和十二条原则,可以指导迭代的以人为中心的软件开发方法。

      软件测试03:软件工程和软件生命周期

    • 敏捷开发-Scrum

    软件测试03:软件工程和软件生命周期


 最后,绵薄之力
感谢每一个认真阅读我文章的人,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

软件测试03:软件工程和软件生命周期

 资料获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,关注公众号:一个心态巨好的朋友 扣‘1’即可自行领取。文章来源地址https://www.toymoban.com/news/detail-478077.html

到了这里,关于软件测试03:软件工程和软件生命周期的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【软件工程】测试三-2

    软件测试的目的是()。 A. 试验性运行软件 B. 发现软件错误 C. 证明软件正确 D. 修改软件中出现的错误 正确答案: B 被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测,这种测试称为()。 A. 白盒测试 B. 黑盒测试 C. 静态测试 D. 动

    2024年02月11日
    浏览(54)
  • 【软件工程】测试二

    获取正确软件的关键是() A. 开发逻辑 B. 开发团队 C. 人员素质 D. 明确需求 正确答案: A 瀑布模型的关键不足在于() A. 过于简单 B. 各个阶段需要进行评审 C. 过于灵活 D. 不能适应需求的动态变更 正确答案: D 按照(),可以将软件生存周期过程分为基本过程、支持过程和

    2024年02月10日
    浏览(46)
  • 【软件工程】测试四

    结构化设计的目标是() A. 建立系统软件模型 B. 建立软件体系结构和详细的处理算法 C. 产生设计规格说明书 D. 以上全部 正确答案: D 总体设计不包括() A. 体系结构设计 B. 接口设计 C. 数据设计 D. 数据结构设计 正确答案: D 模块结构图中,如果两个模块之间有直线连接,

    2024年02月10日
    浏览(51)
  • 【软件工程】测试一

    软件产品与物质产品有很大的区别,软件产品是一种()产品。 A. 有形 B. 消耗 C. 逻辑 D. 文档 正确答案: C 在()年的NATO会议上,软件工程的术语被首次提出。 A. 1966 B. 1968 C. 1970 D. 1972 正确答案: B 软件开发中实现映射的基本手段是() A. 抽象 B. 分层 C. 隔离 D. 建模 下列

    2024年02月11日
    浏览(53)
  • 软件测试工程师

    一、什么是软件测试? 1、定义:使用技术手段验证软件是否满足使用需求 2、目的:减少软件缺陷,保障软件质量。 二、主流技术: 1、功能测试:验证程序的功能是否满足需求 2、自动化测试:使用代码或工具代替手工,对项目进行测试 3、接口测试:有硬件接口、软件接

    2023年04月10日
    浏览(89)
  • 8-软件测试的生命周期

    软件测试的生命周期,可理解为软件测试的工作流程: 需求分析:需求是否完整、正确、合理;细化需求;根据需求提取测试点。 测试计划:确定软件由谁测试;什么时候开始测试,什么时候结束测试;测试哪些模块;测试工具;测试环境;测试目标。 测试设计:写测试用

    2024年02月13日
    浏览(46)
  • 软件工程头歌软件测试(实验五)软件项目管理(实验六)

    白盒测试 单元测试 软件维护 维护的事件流 通常维护的事件流如下图所示: 维护记录的内容 1)程序标识; 2)源语句数; 3)机器指令数; 4)使用的程序设计语言; 5)程序安装的日期; 6)自安装以来程序运行次数; 7)自安装以来程序失效次数 8)程序变动的层次和标识

    2024年02月05日
    浏览(65)
  • 软件测试的生命周期、Bug

    1、软件的生命周期: 需求分析:分析需求是否正确、完整。 设计:项目的上线时间、开始开发时间、测试时间、人员... 计划:设计技术文档、进行UI设计... 编码:写代码(实现用户需求)。 测试:测试软件是否有 Bug。 运行维护:出现线上问题进行修复。 2、软件测试的生

    2024年02月08日
    浏览(44)
  • 软件测试工程师如何对算法做测试?

    最近几年,随着大数据、人工智能等领域的快速发展,算法受到前所未有的重视,算法测试也随之兴起。 为了让大家能对算法测试有个初步的了解,这篇文章将对“如何做算法测试”进行梳理,大纲如下: 1、算法测试测什么? 2、算法测试如何做? 3、算法测试的一个真实案

    2024年02月09日
    浏览(60)
  • 【软件工程】金管局计算机岗位——软件测试的分类(⭐⭐⭐⭐)

    考点导读: 软件测试是软件工程中最核心的内容,也是银保监专业课常考内容之一。主要考查学生对软件测试方法、工作原理的掌握。这个考点近几年连续考到,且 题量较大 。 1.白盒测试 白盒测试又称为 结构测试或逻辑驱动测试 ,是一种按照程序内部逻辑结构和编码结构

    2024年02月05日
    浏览(70)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包