软件测试基础知识整理(五)- 软件开发模型、测试过程模型

news2024/10/5 14:13:10

目录

一、软件开发模型

1.1 瀑布模型

1.1.1 特点

1.1.2 优缺点

1.2 快速原型模型(了解)

1.2.1 特点

1.2.2 优缺点

1.3 螺旋模型(了解)

1.3.1 特点

1.3.2 优缺点

二、测试过程模型

2.1 V模型(重点)

2.1.1 特点

2.1.2 优缺点

2.2 W模型

2.2.1 特点

2.2.2 优缺点


一、软件开发模型

1.1 瀑布模型

(1)需求分析:

  • 研发分析需求说明书
  • 判断需求的可实现性

(2)概要设计:

  • 用到具体的技术点
  • 大致模块划分

(3)详细设计:

  • 详细到可以为编码做支持
  • 类和类的关系,类的设计
  • 函数设计
  • 各个接口的细节
  • 数据库表的关系,字段关系

(4)编码:

  • 依托于详细设计进行编码操作

(5)测试

(6)维护:

  • 上线后也需要持续维护

1.1.1 特点

  1. 是一种线性模型。在所有模型中占有重要的地位,是所有模型的一个基础。
  2. 每个阶段执行一次,文档驱动,按线性顺序进行软件开发。

每个阶段之间有明确的输入和输出,各个阶段按顺序执行,前一阶段完成后才能进入下一阶段。这使得开发过程比较可控,适用于对需求比较稳定、具有明确规格的项目。

1.1.2 优缺点

优点:

  1. 结构清晰:明确的阶段和顺序,使开发过程结构化和可控。
  2. 文档化程度高:每个阶段都有相应的文档产出,有利于项目的管理。
  3. 易于管理和控制:依次进行阶段,有利于项目的管理和进度控制。

缺点:

  1. 不适应需求变化:对需求变化和调整较为困难,一旦进入下一个阶段,很难回头修改前面阶段的成果。
  2. 风险控制较晚:风险可能在后期才被发现,导致修复成本高。
  3. 缺乏灵活性:由于瀑布模型的开发过程是线性的,开发人员每个阶段的选择和决策都相对受限,缺乏灵活性和创新性。
  4. 可能导致较长的交付周期:由于每个阶段需要完成后才能进入下一个阶段,可能导致较长的交付周期。 

1.2 快速原型模型(了解)

在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。

1.2.1 特点

  1. 快速迭代:注重迅速创建和迭代原型。
  2. 用户参与:鼓励用户积极参与。
  3. 可视化交互:通常采用可视化和交互性的原型工具
  4. 风险降低:通过快速创建和验证原型,快速原型模型能够及早发现和解决问题,降低开发过程中的风险。
  5. 迭代改进:支持持续改进和迭代。
  6. 适应需求变化:具有一定的灵活性,可以更好地适应需求变化。

1.2.2 优缺点

优点:克服瀑布模型的缺点,更好地满足用户的需求并减少由于软件需求不明确带来的形目开发风险

缺点:不太适合大型系统的开发(适合小型的、灵活性高的系统)

1.3 螺旋模型(了解)

1.3.1 特点

  1. 风险驱动:强调对项目风险的评估和管理。
  2. 迭代循环:采用迭代循环的方式进行软件开发。
  3. 阶段性输出:每个迭代循环的结束阶段,会产生一个阶段性的软件输出,可以是一个原型、一个部分的系统功能或一个可执行的软件版本。
  4. 用户参与:鼓励用户的积极参与。
  5. 遵循计划:注重项目计划和控制。
  6. 增量交付:通过每个迭代循环的输出,实现增量交付。
  7. 可调整性:允许根据项目的需要进行调整。

1.3.2 优缺点

优点:引进风险分析,有助于降低风险,并及时采取措施解决问题。

缺点:风险分析需要专业的知识和人员,需要有经验的项目团队来管理和执行。 

二、测试过程模型

2.1 V模型(重点)

V模型本身是软件开发模型瀑布模型的变种,反映了测试活动与分析和设计的关系。

V模型表明了测试过程本身存在不同的阶段,从左到右,描述了开发过程和测试过程间的阶段对应关系。

2.1.1 特点

  1. 阶段性对应:将开发过程和测试过程相互对应,每个开发阶段都有与之对应的测试阶段。
  2. 明确的验证:强调在开发阶段都有相对应的验证,以确保开发过程的正确性和产品的质量。
  3. 逐步递进:采用逐步递进的方式进行开发和测试,每个阶段都构建在前一个阶段第基础上。
  4. 测试驱动:强调了测试的重要性,将测试的活动作为开发活动的驱动力,以确保软件的质量。

2.1.2 优缺点

优点:

  1. 提前测试:在早期开发阶段就注重测试,早期发现问题和解决问题,减少后期的成本和风险。
  2. 明确的验证:确保开发过程的正确性和产品的质量。
  3. 易于理解和实施:结构清晰,容易理解和实施,能够明确各个阶段的任务和目标。

缺点:

  1. 不适用于需求变更频繁的项目
  2. 对需求变更的适应性较低

2.2 W模型

测试伴随整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试。

2.2.1 特点

  1. 强调测试活动:测试活动与开发活动相互对应,每个开发阶段都有与之对应的测试阶段,测试伴随整个软件开发周期。
  2. 并行测试:鼓励在每个开发阶段并行进行测试活动。

2.2.2 优缺点

 优点:

  1. 强调测试活动:明确了测试在软件开发过程中的重要性。
  2. 早期测试:在开发早期就开始测试,有助于及早发现和修复问题,减少后期成本和风险。
  3. 全面的测试覆盖:通过阶段性的测试活动,确保了从需求到维护的全面测试覆盖。

缺点:

  1.  不适用于需求变更频繁的项目。
  2. 对需求变更的适应性较低。
  3. 使用起来技术复杂度高,对于需求和设计的测试要求高,实践起来困难。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能Python-python3_6_4怎么用

Python3.6.4简介 Python3.6.4是Python编程语言的一个版本,于2017年12月19日发布。这个版本是Python3系列的一个重要更新版本,包含许多新的特性、改进以及Bug修复。 Python3.6.4有一个众所周知的特点:它是一个不断发展的语言,因此…

springcloud再次学习

对应版本关系,如果不对应可能会报错 在启动类配置,也可以在配置类配置 远程调用使用RestTemplate Eureka配置 步骤 Docker部署Eureka 先创建一个文件将打好的jar包文件去,再写一个Dockerfile文件 负载均衡 (LoadBalanced&#xf…

【密码产品篇】动态口令系统密钥体系结构(SM3、SM4)

【密码产品篇】动态口令系统密钥体系结构(SM3、SM4) 动态口令是一种一次性口令机制,用户无须记忆口令,也无须手工更改口令。口令通过用户持有的客户端器件生成,并基于一定的算法与服务端形成同步,从而作为…

HDMI视频标准

一、常见的显示接口 常见的显示接口有AV、VGA、DVI、HDMI。 AV接口与显示器有3个接口,分别为音频接口、左声道接口、右声道接口。线束太多,被淘汰。 VGA显示接口由于个头较大,不能传输音频,逐渐被淘汰。 DVI不能传送音频也被淘汰&…

公司已有springboot项目引入swagger

公司已有springboot项目引入swagger 1、swagger介绍 官网:https://swagger.io/ Swagger 是一个用于生成、描述和调用 RESTful 接口的 Web 服务。通俗的来讲,Swagger 就是将项目中所有(想要暴露的)接口展现在页面上,…

iOS版ChatGPT突然上线!Plus用户笑疯了!

大家好,我是五竹。 今天,ChatGPT官方在苹果的应用商店毫无征兆的上线了自己的App——ChatGPT的 iOS版正式上线,Android读者们留下了羡慕的眼泪。 仅仅睡个觉的时间就冲到了苹果商店免费榜第二名 商店里有很多三方的ChatGPTAPP,为…

Su+ELK实现网络监测(3)——实际应用配置

SuELK实现网络监测(3)——实际应用配置 Suricata一、启动项二、规则使用三、解析eve.json文件四、主要目录及文件位置 ElasticSearch一、启动项二、主要目录及文件位置 Logstash一、启动项二、配置项三、主要目录及文件位置 kibana一、启动项二、可视化三…

公司没有一个会自动化测试的,果断离职了····

面试问到离职原因,我想这是很多面试者的痛,包括我自己,曾经也被离职原因所坑过。 面试回答离职原因简直特么就是巨坑! 话说最近我面试了个两三年经验的测试工程师,离职原因说出来就是砸自己的脚,真是感慨…

中间件(二)- Tomcat

中间件(二)- Tomcat 1. 什么是Tomcat?2. 安装tomcat(linux)2.1 下载2.2 安装2.3 配置环境变量并启动2.4 验证tomcat是否安装成功 1. 什么是Tomcat? Tomcat是一个开源、免费、轻量级的Web服务器。 Tomcat是Apache 软件基金会&…

XSS-labs-level1详解

访问题目url 我们分析一下代码层面: 接受名为“name”的GET参数并在页面上显示它。其中包含了一个对alert()的覆盖。当alert()被调用时,它将显示一个确认框提示,然后将页面重定向到“level2.php?keywordtest”的URL,这将把关键字…

Win10和Win11上设置VS(Visual Studio)默认以管理员权限权限启动设置方法

本次管理员权限启动 如果只需要当前启动为管理员权限,方法如下: 1、使用“开始”菜单 2、根据所使用的 Windows操作系统 版本,执行以下步骤之一: 在 Windows 10 中,打开“开始”菜单,然后滚动到 Visual S…

Mysql——SQL语言入门

1.创建数据库表 【1】创建数据库表t_student (1)创建数据库: (2)新建查询 (3)创建数据库表 ##单行注释 /* 多行注释 多行注释 *//* 建立一张用来存储学生信息的表 字段包含学号、姓名、性别、…

chatgpt赋能Python-python30_3__2

Python30-3**2 – 强大的Python解释器的介绍 Python30-32是一个开源的Python解释器,其名称表示30乘以3的平方,即2700,意味着它是Python 3的改进版本。Python30-32由一群志愿者开发,旨在提供一个高效、强大、易于使用的编程工具&a…

【ChatGPT】无需注册,无需科学上网,无需人工验证的速度超快的 ChatGPT

文章目录 一、ChatGPT介绍二、使用ChatGPT时经常遇到的一些问题三、一个让你呼吸顺畅的 ChatGPT 一、ChatGPT介绍 ChatGPT,全称聊天生成预训练转换器(英语:Chat Generative Pre-trained Transformer),是OpenAI开发的人…

【数学建模】矩形桌子能放平(初等模型)

把一把四只脚的椅子往不平的地面上一放,通常只有三只脚着地,放不稳,然而只要稍挪动几次,就可以四脚着地,放稳了。如何解释这种现象? 1 模型假设 椅子四条腿一样长,椅脚与地面接触可视为一个点&…

【MCS-51】定时器原理

时间是我们设计功能模块时一个十分重要的输入或者衡量指标,而51单片机中就为我们提供了两个时域上的模块:定时器和计数器。它们可以帮助我们实现一些非实时性的功能:延迟、计时以及定时等。其中51单片机有两个16位的模块:定时器0&…

SCI论文总重复率29%,单篇重复达到了4%,请问可以了吗?

👉🏻有小伙伴问:SCI论文查重29%,有一篇跟导师之前发表的论文重复达到了4%,请问可以吗?之前重复率是37%,改了好久才改下来,但是感觉29%…

劝你别去外包,干了三年,感觉废了一半....

先说一下自己的情况,大专生,19年通过校招进入杭州某个外包软件公司,干了接近3年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了3年的功…

UWB技术在人员管理上的应用

UWB技术在人员管理上的应用 UWB 技术是一种新型的无线通信技术,主要用于低功耗数据快速传输以及室内静止或移动物体/人的定位跟踪与导航。在人员管理方面,UWB 技术有着广泛的应用,可以实现对人员的实时定位管理、历史轨迹追溯、电子围栏、巡…

ipa文件怎么安装到iPhone手机上?

无需越狱帮你把ipa文件安装到苹果手机上 E86苹果签名简介:点击可查看 很多人都知道apk文件是安卓的app应用程序文件名,但有人知道苹果ios的app应用程序app是什么样的文件名吗? 是ipa文件。 ipa文件由三个部分组成,payload目录下…