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

软件生命周期及流程【软件测试】

软件的生命周期

软件生命周期是软件开始研制最终被废弃不用所经历的各个阶段。

瀑布型生命周期模型

规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落,具有顺序性和依赖性。每个阶段规定文档并需进行评审。
在这里插入图片描述

特点:自上而下,有顺序性
缺点:测试介入比较晚,回溯成本比较高,测试周期比较长

V模型

通过开发和测试同时进行的方式来缩短开发周期,提高开发效率。
在这里插入图片描述
V模型,测试在需求分析阶段就已经介入了

软件生命周期的各阶段

一、问题的定义及规划
主要确定软件的开发目的及其可行性,制定项目总体开发计划
二、需求分析
在确定软件开发可行的情况下,对软件需要实现各个功能进行详细分析,明确客户的需求,输出需求规格说明书终版,提交评审。
三、设计
把需求分析得到的结果转换为软件结构和数据结构,形成系统架构
概要设计:主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据传递的实现等项事务。
详细设计:对概要设计中表述的各模块进行深入分析等,其中需要包含数据库设计说明。
四、编码
按照详细设计好的模块功能表,编程人员编写出计算机可运行的程序代码
五、软件测试
六、运行维护

敏捷开发模型

是一个用于开发和维持复杂产品的框架。就是把一个大项目分为多个相互联系,但也可以独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

软件测试的基本流程(重点)

测试需求分析阶段:阅读需求,理解需求,主要就是对业务的学习,分析需求点。参与需求评审会议。
测试计划阶段:主要任务是编写测试计划,参考软件需求规格说明书、项目总体计划,内容包括测试范围(来自需求文档)、进度的安排,人力物力的分配,整体测试策略的制定,和风险的评估与规避措施有一个制定,一般有测试负责人编写,当然我们可能也会参与相关的评审工作。
测试设计阶段:主要任务是编写测试用例,会参考需求文档(原型图)、概要设计、详细设计等文档,有不明确的也会及时和开发、产品经理沟通。用例编写完成后会进行评审
测试执行阶段:首先搭建测试环境,执行预测(冒烟),以判定当前版本可测与否,如果预测通过,正式进入系统测试,遇到问题提交Bug到缺陷管理平台,并对bug进行跟踪,直到被测软件达到测试需求要求,没有重大bug,测试结束。----(完善测试用例)
测试评估阶段:出测试报告,对整个测试过程和版本质量做一个详细的评估,确认是否可以上线

http://www.lryc.cn/news/159885.html

相关文章:

  • 2023高教社杯数学建模E题思路代码 - 黄河水沙监测数据分析
  • 双翌保养码使用指南方法(一)
  • hive指定字段插入数据,包含了分区表和非分区表
  • 浏览器端vscode docker搭建(附带python环境)
  • Echarts图表跟随父容器的变化自适应
  • 【多线程】ThreadLocal是什么?有哪些使用场景?使用ThreadLocal需要注意些什么?
  • 一种基于动态代理的通用研发提效解决方案
  • 【vue3】一些关于hooks的使用经验
  • 面试系列 - Java 并发容器详解
  • 使用动态住宅代理还能带来哪些好处?
  • 笙默考试管理系统-MyExamTest----codemirror(18)
  • TGA格式文件转材质
  • IP应用场景查询API:深入了解网络用户行为的利器
  • docker从零部署jenkins保姆级教程(上)
  • 2023数模A题——定日镜场的优化问题
  • Container is running beyond memory limits
  • Java后端开发面试题——JVM虚拟机篇
  • SpringMVC增删改查(CRUD)的实现
  • 智安网络|面临日益增长的安全威胁:云安全和零信任架构的重要性
  • JVM常用调优策略
  • 自动化防火墙放行目标域名IP
  • 12.2RAC环境从RAC转为单机模式的问题处理
  • Docker 中 jdk8容器里无法使用 JDK 的 jmap 等命令的问题
  • typeScript--[es6class类实现继承]
  • 解决eclipse的报错:Must declare a named package because this compilation
  • linux sed常用各种操作大全
  • 通过 Keycloak 结合 OAuth2.0协议进行 Amazon API Gateway 鉴权
  • 修复中间件log4j漏洞方案(直接更换漏洞jar包)
  • 怎么压缩pdf文件大小?详细压缩步骤
  • php 安装rabbitmq:如何使用 PHP 安装 RabbitMQ?