软件测试的基础入门(二)

文章目录

  • 一、软件(开发)的生命周期
    • 什么是生命周期
    • 软件(开发)的生命周期
      • 需求分析
      • 计划
      • 设计
      • 编码
      • 测试
      • 运行维护
  • 二、常见的开发模型
    • 瀑布模型
      • 流程
      • 优点
      • 缺点
      • 适应的场景
    • 螺旋模型
      • 流程
      • 优点
      • 缺点
      • 适应的场景
    • 增量模型和迭代模型
      • 流程
      • 适应的场景
    • 敏捷模型
      • 流程
      • 优点
      • 适应的场景
  • 三、软件测试的生命周期
    • 定义
    • 各个阶段具体内容
  • 四、常见的测试模型
    • V模型
      • 定义
      • 优点
      • 缺点
    • W模型(双V模型)
      • 定义
      • 优点
      • 缺点
  • END


一、软件(开发)的生命周期

什么是生命周期

生命周期指的是从生命的开始到生命结束的一段时间。

软件(开发)的生命周期

需求分析——计划——设计——编码——测试——运行维护。

需求分析

具体内容产出
分析用户的需求是否合理,分别从市场需求、技术等方面进行分析。输出需求等文档。

计划

具体内容产出
对成立的需求执行计划。输出计划等文档。

设计

具体内容产出
将需求细化成一个一个的任务,团队的成员按照自己的岗位职责,进行技术的设计(如:进行架构设计、设计哪些接口、采用什么技术等)。输出技术等文档。

编码

具体内容产出
开发人员参考需求文档等有关文档,进行代码的编写。输出代码文件等文档。

测试

具体内容产出
测试人员根据需求文档,设计出测试用例,对软件进行测试。输出测试设计、测试计划、测试报告等文档。

运行维护

具体内容产出
有三个方面的维护:(1)修复性维护;(2)完善性维护;(3)预防性维护;~

(1)修复性维护:对项目中发现的问题进行修复;
(2)完善性维护:对功能进行完善;
(3)预防性维护:为避免产品出现不可预测的问题,采取一些预防的措施。

二、常见的开发模型

瀑布模型

流程

需求分析——计划——设计——编码——测试。

优点

  • 1、线性结构,每个阶段只执行一次;
  • 2、是其他开发模型的基础框架。

缺点

  • 1、周期太长,产品需要较长的时间才能看到和使用,可能会导致需求和功能过时;
  • 2、测试后置:
    (1)前期各个阶段存在的风险要到测试阶段才能被发现,出现项目大面积的返工;
    (2)留给测试阶段的时间可能不充分,软件可能存在缺陷。

基于上面的分析,瀑布模型 存在严重的项目风险。

适应的场景

需求固定的小项目


螺旋模型

流程

见下图:

优点

  • 1、引入了风险分析和原型;
  • 2、强调全过程的风险管控;
  • 3、重视各个开发阶段的质量。

缺点

  • 1、需要投入更多的人力、资金和时间,从而提高项目的成本;
  • 2、风险分析师的能力对项目中存在的风险有直接的影响。

适应的场景

规模庞大、复杂度高、风险大的项目。


增量模型和迭代模型

流程

增量是逐块建造的概念,迭代是反复求精的概念

需求分析——计划——设计——编码——测试。

适应的场景

大型项目,需求不明确。


敏捷模型

流程

需求分析——计划——设计——编码——测试。
需求被分解成许多可以增量开发的小部分,采用迭代开发。

优点

  • 1、轻文档;
  • 2、轻流程;
  • 3、重目标;
  • 4、重产出。

适应的场景

处理来自客户的变更请求以及合并这些变更所需的高成本和时间。
促进项目的快速完成。

三、软件测试的生命周期

定义

软件测试的生命周期是测试的流程,贯穿于软件的整个生命周期;
需求分析——测试计划——测试设计和测试开发——测试执行——测试评估——项目上线——运行维护。

各个阶段具体内容

软件测试的各个阶段具体工作内容
需求分析进行用户、技术和测试角度的分析。
测试计划制定测试计划,确定测试所花的时间。
测试设计和测试开发编写测试用例,写测试文档,明确测试方法、测试工具和测试流程等。
测试执行根据测试用例,使用测试工具对项目进行尽可能全面的测试覆盖。
测试评估根据测试中存在的BUG,输出一个测试报告。
项目上线将项目发布上线,根据需求进行跟踪软件的运行情况。
运行维护参加培训,收集问题进行反馈。

四、常见的测试模型

V模型

定义

如下图:

优点

  • 1、 改进了软件开发的效率和成果。
  • 2、明确的标注了测试过程中存在的不同类型的测试。
    如:
    单元和集成测试应检测程序的执行是否满足软件设计的要求;
    系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;
    验收测试确定软件的实现是否满足用户需要或合同的要求。

缺点

测试阶段还是放在编码的最后一个阶段,缺点同开发模型中的瀑布模型。

W模型(双V模型)

定义

如下图:

优点

  • 1、增加了软件各开发阶段中应同步进行的验证和确认活动,即体现了测试与开发的并行关系;
  • 2、有利于尽早地全面地发现问题。

缺点

  • 测试和开发阶段是线性的前后关系,存在连贯性,上一阶段完全结束,才能开启下一阶段;
  • 流程是连续的,重视流程,无法支持开发模型中的敏捷模型。

END

每天都在学习的路上!
On The Way Of Learning

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型架构记录2

一 应用场景 1.1 prompt 示例 1.2 自己搭建一个UI界面,调用接口 可以选用不同的模型,需要对应的API KEY 二 Agent 使用 2.1 构建GPT

PQL查询和监控各类中间件

1 prometheus的PQL查询 1.1 Metrics数据介绍 prometheus监控中采集过来的数据统一称为Metrics数据,其并不是代表具体的数据格式,而是一种统计度量计算单位当需要为某个系统或者某个服务做监控时,就需要使用到 metrics prometheus支持的met…

maven学习

Maven 概述 Maven 是一个基于 POM(Project Object Model,项目对象模型) 的项目管理和构建工具,主要用于 Java 项目。它通过一个中央信息管理模型(POM 文件)来管理项目的构建、依赖、文档、报告等。Maven 的…

STM32-I2C通信外设

目录 一:I2C外设简介 二:I2C外设数据收发 三:I2C的复用端口 四:主机发送和接收 五:硬件I2C读写MPU6050 相关函数: 1.I2C_ GenerateSTART 2.I2C_ GenerateSTOP 3.I2C_ AcknowledgeConfig 4.I2C…

c语言程序设计--(数据的存储)冲刺考研复试面试简答题,看看我是怎么回答的吧!!!!!

目录 1、整型在内存中的存储是怎样的? 2、原码反码补码的计算方式是什么? 3、对于整形数据在内存中存的都是二进制补码是为什么? 2、什么是大端小端存储? 3、为什么要有大端和小端的存储方式呢? 1、整型在内存中的…

记录小白使用 Cursor 开发第一个微信小程序(二):创建项目、编译、预览、发布(250308)

文章目录 记录小白使用 Cursor 开发第一个微信小程序(二):创建项目、编译、预览、发布(250308)一、创建项目1.1 生成提示词1.2 生成代码 二、编译预览2.1 导入项目2.2 编译预览 三、发布3.1 在微信开发者工具进行上传3…

Java 大视界 -- 基于 Java 的大数据实时数据处理框架性能评测与选型建议(121)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

MySQL索引数据结构

目录 1 索引常用的数据结构 1.1 二叉树 1.2 平衡二叉树 1.3 红黑树 1.3 Hash表 1.4 B树 1.4 B树 2 MySQL索引的数据结构 2.1 MyISAM存储引擎索引 2.2 InnoDB存储引擎索引 2.2.1 聚集索引 2.2.2 非聚集索引 2.2.3 联合索引数 2.2.4 hash索引 1 索引常用的数据结构 1.1 二叉树 二…

链表算法题目

1.两数相加 两个非空链表,分别表示两个整数,只不过是反着存储的,即先存储低位在存储高位。要求计算这两个链表所表示数的和,然后再以相同的表示方式将结果表示出来。如示例一:两个数分别是342和465,和为807…

深入解析 BitBake 日志机制:任务调度、日志记录与调试方法

1. 引言:为什么 BitBake 的日志机制至关重要? BitBake 是 Yocto 项目的核心构建工具,用于解析配方、管理任务依赖,并执行编译和打包任务。在 BitBake 构建过程中,日志记录机制不仅用于跟踪任务执行情况,还…

C++--迭代器(iterator)介绍---主要介绍vector和string中的迭代器

目录 一、迭代器(iterator)的定义 二、迭代器的类别 三、使用迭代器 3.1 迭代器运算符 3.2 迭代器的简单应用:使用迭代器将string对象的第一个字母改为大写 3.3 将迭代器从一个元素移动到另外一个元素 3.4 迭代器运算 3.5 迭代器的复…

基于multisim的自动干手器设计与仿真

1 设计的任务与要求 设计一个输出 5V 的直流稳压电源。用开关的闭合模拟手挡住光线的功能。用灯的亮灭模拟烘干吹风功能。 2 方案论证与选择 2.1 自动干手器的系统方案 本设计由5V直流电源、红外发射电路、红外接收电路、灯模拟电路构成。 1. 5V直流电源系统 这一部分是整…

【算法学习之路】7.链表算法

链表算法 前言一.原地逆置思路一:头插法思路二:双指针法思路3:递归 例题:1.头插法2.双指针法3,递归 二.双指针快慢指针:一个指针快一个指针慢例题1例题2 前言 我会将一些常用的算法以及对应的题单给写完&am…

分布式锁—7.Curator的分布式锁

大纲 1.Curator的可重入锁的源码 2.Curator的非可重入锁的源码 3.Curator的可重入读写锁的源码 4.Curator的MultiLock源码 5.Curator的Semaphore源码 1.Curator的可重入锁的源码 (1)InterProcessMutex获取分布式锁 (2)InterProcessMutex的初始化 (3)InterProcessMutex.…

IPD(集成产品开发)简介

参考:IPD咨询_研发管理咨询_IPD集成产品开发-百思特管理咨询集团 一、什么是IPD IPD到底是什么?一套体系?一些流程?还是一种模式? 华为在整个企业内部改革中最重要的两个项目一个是ISC(集成供应链),另外…

解决Jenkins默认终止Shell产生服务进程的问题

1、Windows环境 Jenkins进行Build steps的使用Execute Windows batch command启动微服务(Jar包),Jenkins会默认终止Shell产生的服务进程,而在命令行能够正常运行的服务进程。 1.1 使用命令行启动服务是正常 使用命令行执行 正常…

C 语言数据结构(三):栈和队列

目录 1. 栈 1.1 栈的概念及结构 1.2 栈的实现 2. 队列 2.1 队列的概念及结构 2.2 队列的实现 💬 :如果你在阅读过程中有任何疑问或想要进一步探讨的内容,欢迎在评论区畅所欲言!我们一起学习、共同成长~! &#x…

多模态分子预训练模型 - SPMM 评测

SPMM 是 Structure-Property Multi-Modal foundation model 的简称,一种多模态分子性质-结构双向预训练模型。作者是韩国科学技术研究院人工智能研究生院,大田,韩国的 Jong Chul Ye,于 2024 年 3 月 14 日 发表在 nature communic…

算法.习题篇

算法 — 地大复试 模拟 while循环和MOD循环计数 1.约瑟夫问题 http://bailian.openjudge.cn/practice/3254 using namespace std;bool isNoPeople(vector<bool> c)//判断当前数组是否一个小孩都没有了 {bool nopeople true;for (bool ival : c){if ( ival true)nop…

C++第十节:map和set的介绍与使用

【本节要点】 1.关联式容器2.键值对3.map介绍与使用4.set介绍与使用5.multimap与multisedd的介绍与使用 一、关联式容器&#xff1a;数据管理的核心利器 关联式容器是STL中用于高效存储和检索键值对&#xff08;key-value pair&#xff09;的数据结构&#xff0c;其底层基于红黑…