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

embedded/2025/3/11 0:33:23/

文章目录

  • 一、软件(开发)的生命周期
    • 什么是生命周期
    • 软件(开发)的生命周期
      • 需求分析
      • 计划
      • 设计
      • 编码
      • 测试
      • 运行维护
  • 二、常见的开发模型
    • 瀑布模型
      • 流程
      • 优点
      • 缺点
      • 适应的场景
    • 螺旋模型
      • 流程
      • 优点
      • 缺点
      • 适应的场景
    • 增量模型和迭代模型
      • 流程
      • 适应的场景
    • 敏捷模型
      • 流程
      • 优点
      • 适应的场景
  • 三、软件测试的生命周期
    • 定义
    • 各个阶段具体内容
  • 四、常见的测试模型
    • 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.ppmy.cn/embedded/171617.html

相关文章

clickhouse的优缺点

《ClickHouse的优缺点及成功案例分析》 当我们谈论数据库技术时,ClickHouse无疑是一个引人注目的名字。它是一种专为在线分析处理(OLAP)设计的列式数据库管理系统(DBMS),由俄罗斯的Yandex公司开发。随着大…

Milvus JSON数据存储优化方案

无论是json数据还是string/varchar 类型数据,其长度都不能超过65536,这是根本,不像ES的text类型数据一样,可以无限长。 总结 数据类型适用场景最大长度STRINGMilvus <2.2.x 的短文本(<65KB)隐式 ≈65,535 字节VARCHAR(N)Milvus ≥2.2.x 的文本显式 N≤65,535 字符…

基于HAproxy搭建负载均衡

基于HAproxy搭建负载均衡器 HAproxy的优势 相比于nginx&#xff0c;处理能力更好&#xff0c;但是扩展性上没有nginx好 LVS处于四层上&#xff0c;处理能力最好&#xff0c;稳定强&#xff0c;成本低&#xff0c;不支持正则&#xff0c;处理上不太好 Haproxy 安装部署 yum…

hadoop集群HDFS读写性能测试

一、写测试命令 hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.4-tests.jar TestDFSIO -write -nrFiles 10 -size 10MB二、读测试命令 hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.4-t…

蓝桥备赛(11)- 数据结构、算法与STL

一、数据结构 1.1 什么是数据结构&#xff1f; 在计算机科学中&#xff0c;数据结构是一种 数据组织、管理和存储的格式。它是相互之间存在一种 或多种特定关系的数据元素的集合。 ---> 通俗点&#xff0c;数据结构就是数据的组织形式 &#xff0c; 研究数据是用什么方…

蓝桥杯备考:bfs之马的遍历

像这种最短路径啊&#xff0c;我们一般都是用的bfs来求 像这道题&#xff0c;我们要定义dxdy两个方向向量 然后我们先把起点放在队列里面&#xff0c;然后把起点出队列&#xff0c;把最短路径是1的点放在队列里面&#xff0c;然后在再依次把最短路径是1的点出队列&#xff0c…

git-在ubuntu/debian搭建简易的git服务器

安装git sudo apt-get update sudo apt-get install git -y 创建一个git用户并建立一个 .ssh 目录和验证文件&#xff1a; sudo adduser git su git cd mkdir .ssh && chmod 700 .ssh touch .ssh/authorized_keys # ssh用户验证 然后将ssh公钥添加到authorized_ke…

uniapp 自定义地图组件(根据经纬度展示地图地理位置)

目录 一、定义组件&#xff08;pages/compoent/diy/mapDiy.vue&#xff09; 二、父页面引入子组件 一、定义组件&#xff08;pages/compoent/diy/mapDiy.vue&#xff09; <template><view class"diy-map" :style"{padding: paddingTop paddingL…