软件模型(简洁明了)

《 软件测试基础持续更新中》

一、软件开发模型

1.1 大爆炸模型

优点:思路简单, 通常可能是开发者的“突发奇 想”

缺点:开发过程是非工程化的,随意性大,结果不可预知

测试:开发任务完成后,修复较困难

1.2 边写边改模型

优点:简单考虑到了软件的需求,产品周期短

缺点:没有计划和文档的编制

测试工作:由于新的版本不断产生,测试工作长期循环

1.3 瀑布模型

优点:

  • 如同瀑布流水,逐级下落——样式
  • 将软件生存周期各活动规定为依线性顺序联接的若干阶段的模型
  • 易理解,阶段明显,强调需求分析,明确测试阶段,提供了一套模板
  • 文档驱动

缺点:

  • 线性严格——成果晚出——风险大
  • 阶段固定——反复&迭代不适合——灵活性差
  • 单次需求——需求变更多——适应性差
  • 测试滞后——缺陷晚查——代价大

 适合场景:

  • 功能、性能明确完整
  • 需求固定,无重大变动

1.4 螺旋模型

每一个螺旋(开发阶段)包括5个步骤:

1. 确定目标,选择方案

2. 评估方案,解决风险

3. 本阶段的开发和测试

4. 计划下一阶段

5. 确定下阶段方法

优点:严格的全过程风险管理;强调各开发阶段的质量;提供机会评估项目是否有价值继续下 去。(发现问题早)

敏捷模型(略)



二、软件测试模型

V模型

局限性:测试滞后

V模型特点:动态测试行为应与开发行为对应,每个测试阶段的基础是对应开发阶段的提交物,并通过低层测试确保源代码正确,通过高层测试保证整个系统满足用户需求

W模型

局限性:

  • 将软件开发看成需求分析、设计和编码等一系列串行的活动 
  • 开发、测试之间保持着线性的前后关系,无法支持迭代的开发模型,无法支持变更调整 
  • 未体现测试流程的完整性

W模型特点:静态测试和动态测试行为伴随整个开发阶段,并与开发行为对应,有助于早期发现缺陷、了解项目难度、评估测试风险,并加快项目进度,降低项目成本

H模型

测试流程应独立于其他流程,且应保持自身的完整性,即测试是一个独立的流程,与其他流程并 发进行,且其本身的测试准备和执行活动是分离的,不同测试活动可按某个次序先后进行,也可 能是重复的,只要测试准备工作完成,就可以开始测试执行

X模型

清晰地体现了单元测试→集成测试→系统测试的过程,该模型还能处理开发中包括交接、频繁重 复的集成等工作,更加贴合实际的项目开发流程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/581473.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一个自卑的人怎么变得自信

一个自卑的人怎么变得自信 自卑感是一种常见的心理状态,它可能源于个人对自己能力、外貌、价值等方面的负面评价。自卑感不仅会影响一个人的情绪状态,还可能阻碍其在生活、学习和工作中的表现。然而,自信并非一蹴而就的品质,它需要…

基础款:Dockerfile 文件

# bash复制代码# 使用 Node.js 16 作为基础镜像 # 指定一个已经存在的镜像作为模版,第一条必须是from FROM node:16# 将当前工作目录设置为/app # WORKDIR /app# 方法一:用dockerfile命令:进行下载打包文件 # 将 package.json 和 package-loc…

MySQL 之 主从复制

1. 主配置文件(win下是my.ini,linux下是my.cnf) #mysql 服务ID,保证整个集群环境中唯一 server-id1 #mysql binlog 日志的存储路径和文件名 log-bin/var/lib/mysql/mysqlbin #错误日志,默认已经开启 #log-err #mysql的安装目录 #basedir #mys…

Linux软件包管理器——yum

文章目录 1.什么是软件包1.1安装与删除命令1.2注意事项1.3查看软件包1.3.1注意事项: 2.关于rzsz3.有趣的Linux下的指令 -sl 1.什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一…

穷人想要改命,是选择打工还是创业? 2024创业项目小成本!2024轻资产创业!2024风口行业!2024普通人做什么行业赚钱?

今日话题穷人想要改命,是选择打工还是创业? 改命的方式就是跳进水里,忍受呛水,学会游泳,这个过程越年轻实现越好,就像小鹰往山崖下跳,要么学会飞,要么就狠狠的被摔死。打工思维和创…

用vue3实现留言板功能

效果图&#xff1a; 代码&#xff1a; <script setup lang"ts"> import { ref } from vue;interface Message {name: string;phone: string;message: string; }const name ref<string>(); const phone ref<string>(); const message ref<st…

基于YOLOV5和DeepOCSort的实时目标检测跟踪检测系统

项目简介 本项目旨在研究由YOLOV5模型在多目标检测任务重的应用。通过设计YOLOV5模型及DeepOCSORT模型来实现多物体检测、追踪&#xff0c;最终达高实时性、高精度的物件检测、分割、追踪的效果。最后通过AX620A完成嵌入式硬件部署 项目研究背景 近年来&#xff0c;近年来&am…

【Linux】fork函数详解and写时拷贝再理解

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

茶叶直播间电商运营带货方案营销计划书

【干货资料持续更新&#xff0c;建议先关注&#xff0c;以防走丢】 茶叶直播间电商运营带货方案营销计划书 部分资料预览 资料部分是网络整理&#xff0c;仅供学习参考。 PPT可编辑&#xff08;完整资料包含以下内容&#xff09; 目录 直播带货方案细化 1. 直播筹划 - 目标…

基于SSM+Jsp+Mysql的汽车租赁系统的设计与实现

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

OpenHarmony实战开发-如何实现单一手势

点击手势&#xff08;TapGesture&#xff09; TapGesture(value?:{count?:number; fingers?:number})点击手势支持单次点击和多次点击&#xff0c;拥有两个可选参数&#xff1a; count&#xff1a;声明该点击手势识别的连续点击次数。默认值为1&#xff0c;若设置小于1的非…

poi-tl自定义渲染策略学习

文章目录 实现逻辑参考代码注意点 实现逻辑 自定义渲染策略实现逻辑&#xff1a; 找到模板中的表格标签render方法接收java中对应模板表格标签的所有list数据执行自定义渲染逻辑 参考代码 word模板如下&#xff1a; 实体类&#xff1a; Data public class GksxRowData {/…

结构体枚举、联合、位段

枚举 枚举顾名思义就是一一列举。 把可能的取值一一列举。 比如我们现实生活中&#xff1a; 一周的星期一到星期日是有限的7天&#xff0c;可以一一列举。 性别有&#xff1a;男、女、保密&#xff0c;也可以一一列举。 月份有12个月&#xff0c;也可以一一列举 这里就可以使…

Shader for Quest 2: 自定义shader在Unity Editor中可以使用,但是在Quest 2中却不可以

GameObject segment GameObject.Find("DisplayArea_" i); MeshRenderer renderer segment.GetComponent<MeshRenderer>(); Material mat new Material(Shader.Find("Custom/MyShader")); mat.mainTexture option.Image360;上面这份代码&#x…

低代码开发之腾讯云微搭工具

低代码开发之腾讯云微搭工具 微搭简介诞生缘由开发模式如何创建组件模块介绍实例讲解url传参级联联动使用事件其他方法调用数据源方法 callDataSource触发流程 callProcess 引入外部css/js代码编辑器的使用Handler 方法使用介绍Style 用法示例LifeCycle 生命周期介绍 数据模型方…

【1471】java项目进度管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java 项目进度管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.0&…

测试必备 | 测试工程师必知的Linux命令有哪些?

在日常的测试工作中&#xff0c;涉及到测试环境搭建及通过查看日志来定位相关问题时经常会用到Linux&#xff0c;在测试工程师的面试中也经常会有笔试或面试的题目来考查测试人员对Linux的熟悉程度&#xff0c;这里分享下测试工程师需知的 Linux 命令有哪些。 Linux 作为一种常…

【 书生·浦语大模型实战营】作业(四):XTuner 微调 LLM:1.8B、多模态、Agent

【 书生浦语大模型实战营】作业&#xff08;五&#xff09;&#xff1a;LMDeploy 量化部署 &#x1f389;AI学习星球推荐&#xff1a; GoAI的学习社区 知识星球是一个致力于提供《机器学习 | 深度学习 | CV | NLP | 大模型 | 多模态 | AIGC 》各个最新AI方向综述、论文等成体系…

模块四:前缀和——DP35 【模板】二维前缀和

文章目录 题目描述算法原理解法一&#xff1a;暴力模拟&#xff08;时间复杂度为O(n*m*q)&#xff09;解法二&#xff1a;二维前缀和&#xff08;时间复杂度为O(m*n)O(q)) 代码实现解法二&#xff1a;前缀和&#xff08;C)Java 题目描述 题目链接&#xff1a;DP35 【模板】二维…

微信第三方开放平台,实现代公众号保留排版样式和图片发布文章

大家好&#xff0c;我是小悟 要想实现代公众号发布文章的功能&#xff0c;就得接入富文本编辑器&#xff0c;市面上富文本编辑器有很多&#xff0c;轻量的、重量的都有。 从开发者的角度&#xff0c;自然把轻量作为第一选择&#xff0c;因为好对接&#xff0c;怎么方便怎么来…