软件模型(简洁明了)

news/2024/9/24 0:20:17/

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

一、软件开发模型

1.1 大爆炸模型

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

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

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

1.2 边写边改模型

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

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

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

1.3 瀑布模型

优点:

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

缺点:

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

 适合场景:

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

1.4 螺旋模型

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

1. 确定目标,选择方案

2. 评估方案,解决风险

3. 本阶段的开发和测试

4. 计划下一阶段

5. 确定下阶段方法

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

敏捷模型(略)



二、软件测试模型

V模型

局限性:测试滞后

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

W模型

局限性:

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

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

H模型

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

X模型

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


http://www.ppmy.cn/news/1442725.html

相关文章

CodeInWord 首尾行缩进问题

问题 CodeInWord 首尾行缩进问题 详细问题 笔者使用CodeInWord将代码内容在Word中展示。 但是首尾行缩进存在问题。 解决方案 新建一个Word文档,将内容先粘贴至新建的Word文档中。再将新建的Word文档中的内容复制至目标Word文档中。 问题产生原因 当使用Co…

安装JAVA和java IDEA并汉化过程

1.安装java: 打开java的下载链接: Java Downloads | Oracle 然后选择对应的版本下载即可,我这里是windows 所以下载这个 然后正常一步步安装即可。 2.配置java环境: 在桌面右键此电脑然后点击属性——高级系统设置——环境变量——然后…

Ansible工具的初步使用

目录 概述实践ansible的命令行使用ansible-playbook官方文档 概述 Ansible工具的初步使用 实践 ansible的命令行使用 # 模块 shell(执行shell命令)、copy、systemd # ansible [pattern] -i hosts # pattern:匹配执行的ansible节点、组名、主机名、all、多个组或主机用逗号合并…

Qt和C/C++开发-常见面试笔试题

通常Qt开发岗位面试笔试题,有两部分c/c和Qt 一、c/c 一、看博客从第一遍到第七篇https://blog.csdn.net/weixin_53000184/article/details/124760602 二、static作用1、静态变量声明局部静态变量:在静态存储区,局部有效,直到程序…

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

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

verilog 语法及特点

主线上的硬件描述语言有verilog 和 VHDL 两门, 由于 verilog 语法上比VHDL 语言灵活, 所以现在社区以 verilog 语言开发的项目占比更大。 但是相较于 现在流行的 java/python 计算机语言比起来, 其模块化管理要差很多, 所以现在社…

Java基础知识总结(77)

* 2、JMM模型 JMM(Java Memory Model):Java 内存模型,是 Java 虚拟机规范中所定义的一种内存模型,Java 内存模型是标准化的,屏蔽掉了底层不同计算机的区别。也就是说,JMM 是 JVM 中定义的一种并…

(五)小案例银行家应用程序-实现转账

现在我们想实现用户之间相互转账的功能; ● 和之前一样我们还是要通过这个点击,页面元素一再写在变量里面了 在这里插入图片描述 btnTransfer.addEventListener(click, function (e) {e.preventDefault();const amount Number(inputTransferAmount.val…