当前位置: 首页 > news >正文

软件测试——开发模型

目录

一、软件的生命周期​

1、需求分析阶段

2、计划

3、设计

4、编码

5、测试

6、运行维护    

二、常见的开发模型

1、瀑布模型

2、螺旋模型

3、增量模型

4、敏捷模型​

三、测试模型

1、v模型

2、vv模型


一、软件的生命周期​

1、需求分析阶段

       目的:需要明确用户的需求,确定软件的功能、性能、特性和约束条件等。

       如何做:和用户沟通,收集相应的需求,分析需求的可行性和优先级,考虑先做哪些能做和先做哪些,形成需求规格说明书

        产物:需求规格说明书。

2、计划

        目的:制定软件开发的时间分配、资源分配、投入资金分配

        如何做:确定项目范围、任务分配、工作量分配和成本、里成本,指定风险管理计划。

        产物:项目计划文档。

3、设计

        目的:将需求转化为软件构架和详细设计。。

        如何做:需要设计软件架构、划分模块、定义接口、设计数据结构和算法。

        产物:设计文档、系统架构图、模块设计说明等。

4、编码

        目的:将设计好的东西转化为编程

        如何做:按设计文档进行代码编写,遵循编码规范,进行单元测试。。

        产物:源代码和单元测试报告。

5、测试

        目的:验证软件是否符合预期,发现bug并及时修改

        如何做:对项目进行集成测试、系统测试和验收测试,确保软件功能正常、性能达标。

        产物:测试报告和缺陷报告。

6、运行维护    

         目的:确保软件在实际环境中能够良好的运行,后进行持续改进。

        如何做:提供技术支持,在运行中出现问题及时修改,通过问卷调查获取返回及时优化功能。

        产物:用户反馈信息、软件版本更新以及维修记录。

二、常见的开发模型

1、瀑布模型

        

        瀑布模型是其他模型的基础框架,换句话来说,没有瀑布模型,就没有剩下的东西,而瀑布模型的特点就是每一个阶段只能执行一次,因此是线性顺序进行开发模型。

        缺点:

        1、由于是线性执行的开发模式,因此,测试是后置的,可能在前面有很多的错误到最后才开始测试,会失去及时早修复的机会,导致项目大面积返工。

        2、周期太长,产品需要很久才能被看到和使用,会导致需求/功能过时。

         适用场景:固定的小项目

2、螺旋模型

        ps:图在网上找的

        在图中看到的好像比较麻烦,其实可以以瀑布模型为例子,每一个原型到下一个模型中途会进行一次风险分析,这个就是螺旋模型

        优点:

        1、有利于早点发现问题所在,及时解决问题,强调各个开发阶段的质量

        2、有严格的过程风险管理,增加风险分析和模型

        缺点:

        1、时间、资金成本会导致项目要成本过高。

        2、项目要中存在的风险性与风险管理人员技能水平有直接关系(人员水平低->风险管理差)。

        适⽤场景:规模庞⼤、复杂度⾼、⻛险⼤的项⽬。

3、增量模型、迭代模型​

        

       迭代模型更类似于一个草图,画一个框架,再慢慢画内部的东西.

        增量模型和迭代模型再现在一般是一起使用的,很少会分开使用,同时也是当今流行的软件工程最佳实践之一,增量开发模型,鼓励用户反馈,在每个迭代的过程中,促使开发小组以一种循环的、可预测的方式驱动产品的开发,因此每一次迭代都可能有需求的更改,构建出新的可执行版本,需要测试频繁进行,所以很需要测试人员和开发人员的紧密协作。

        增量模型和迭代模型区别,增量是逐块建造的概念,迭代是返回求精的概念。

        适⽤场景:⼤型项⽬,需求不明确。

4、敏捷模型​

       敏捷开发模型是一种以人为核心、迭代、循序渐进的开发方法。它强调在整个开发过程中的适应性和灵活性,以快速、灵活地响应变化。

        敏捷模型中有一个非常重要的敏捷宣言:

        1)个体与交互重于过程和工具:重视团队成员之间的沟通和协作,而不是单纯依赖工具和流程。
        2)可工作的软件高于详尽的文档:优先交付可用的软件,而不是编写大量的文档。
        3)客户协作重于合同谈判:与客户紧密合作,快速响应需求变化,而不是严格遵循合同。
        4)响应变化重于遵循计划:灵活应对需求变化,而不是死守固定的计划。

        总结来说四个特点:轻文档,轻流程,重目标,重产出。

        作为当今比较流行的一种敏捷模型——scrum(迭代式)增量软件开发模型,主要有三个角色和五个重要会议

        三个角色:

        1)produce owner(产品经理):负责需求管理和客户沟通

        2)scrum master(项目经理):负责流程管理和团队协作

        3)team(研发团队):负责实际开发和交付产品。

        五个重要会议:

        

        scrum基本流程图如图:

        1、产品负责人负责整理用户需求,形成产品product backlog。

        2、发布计划会议:产品经理负责讲解用户需求,对其进行估算和排序,发布会议的产出就是指定出这一期迭代完成的story列表。

        3、迭代会议计划:项目组对每个用户需求进行分解,分解标准是完成用户需求的所有内容,对于每一个部分内容都有明确的负责人,并计算完成的初估时。

        4、每日例会:每天scrum master召集站立会议(站会),而团队成员回答昨天做了什么,今天准备做什么,有什么问题

        5、演示会议:产品有哪些问题,需要优化的地方,还有什么功能能够增加。

        6、回顾会议:回顾本次迭代流程中的问题并不断进行优化。

三、测试模型

1、v模型

        v模型属于瀑布模型的变种,所以也有瀑布模型的优缺点。

        优点:明确标注了测试过程中存在的不同类型测试,并清除的描述了这些测试阶段和开发过程期间各个阶段的段颖关系,有效提升测试质量。

        缺点:仅仅把测试作为在编码之后的一个姐u但,没有在需求阶段就介入测试,会导致周期太长,产品需要很久才能被看到和使用,会导致需求/功能过时。

2、vv模型

        双v模型增加了软件各个开发阶段中应同步进行的验证和确认活动双v模型俩个v分别代表测试与开发过程,测试是和开发同时进行的,但也有其优缺点。

        优点:

        1、有利于尽快发现问题。

        缺点:

        1、需求、设计、编码等活动被视为串行。

        2、重流程:无法支持敏捷开发模型。

        3、测试活动和开发活动保持线性关系,上一段结束才到下一段。

        

http://www.xdnf.cn/news/416179.html

相关文章:

  • 杭州电商全平台代运营领军者——品融电商
  • 企业数字化中台建设方案(AI/技术中台、数据中台、业务中台)
  • 【Linux】基础I/O文件——文件描述符的引入
  • switch能否作用在byte上,long上,string上
  • 小皮面板从未授权到RCE
  • 常微分方程(OTD)和偏微分方程(PDE),以及混合精度
  • Vue 3 实现转盘抽奖效果
  • EMQX本地部署
  • 传奇游戏跟奇迹游戏的区别
  • 序列检测器
  • Wi-Fi网络角色及功能详解
  • 强大的Lora绘图模型使用-StableDiffusion
  • 用1W字讲透数据预处理,数据增强
  • 【Unity3D插件】Unity3D插件之天气系统/日夜系统插件-UniStorm
  • Linux 内核参数
  • vue+threeJS 大理石贴图
  • 网络层:ICMP协议
  • Femap许可使用统计与分析
  • 电脑端音乐播放器推荐:提升你的听歌体验!
  • python3数据类型
  • 导轨式直流电表在充电桩中的新突破:DJSF1352-D实战解析
  • 【数据结构与算法】二分查找
  • 嵌入式软件开发常见warning之 warning: implicit declaration of function
  • HTTP协议解析:Session/Cookie机制与HTTPS加密体系的技术演进(一)
  • 专题二:二叉树的深度搜索(求根节点到叶节点数字之和)
  • 构建Android系统UI架构方法论
  • telnetlib关键流程示意图
  • ​​Python大数据分析专项课程​​
  • 解析文件加密软件,文件加密软件是什么?2025最新分享
  • 【深度学习-Day 9】机器学习核心概念入门:监督、无监督与强化学习全解析