【测试】开发模型+测试模型

news2024/11/26 12:53:14

努力经营当下,直至未来明朗!

文章目录

  • 一、开发模型和测试模型概述
  • 二、 开发模型
    • 一) 瀑布模型
    • 二)螺旋模型
    • 三)增量模型和迭代模型
    • 四)敏捷模型【重点:sunny:】
  • 三、 测试模型
    • 一)V模型
    • 二)W模型(双V模型)
  • :sparkles:小结


普通小孩也要热爱生活!

一、开发模型和测试模型概述

  1. 开发流程/软件生命周期:从产品开始设想到不再维护使用
  2. 产品/软件生命周期:需求分析(可行性)——计划(时间)——设计(工作)——编码——测试——运行维护

①需求分析:市场分析、投入和收益占比、技术上实现的可行性
②计划:开始时间、结束时间、耗时多久
③设计:将一个大的需求拆分成一个个具体可实施的任务,并进行技术设计(设计哪些接口、采用哪些框架、采用哪些技术等)
④编码:开发人员参考需求文档和技术文档等来进行代码的开发
⑤测试:这里是指执行测试,测试人员参考测试用例来设计
⑥运行维护:修复性维护(对项目中没有发现的问题要进行及时修复)、完善性维护(对功能进行完善)、预防性维护(居安思危:为了避免产品在线上运行期间出现意想不到的问题,需要进行一些预防性的手段)。

(从产品的角度分析,测试是在开发之后;但是从测试的角度分析,测试是贯穿于产品的整个生命周期的)

  1. 软件测试贯穿于软件的整个生命周期,那么是如何贯穿的呢?

  2. 软件测试的生命周期:需求分析——测试计划——测试设计与开发——测试执行——测试评估

① 需求分析:用户角度思考问题(软件需求是否合理)、技术角度思考问题(技术上是否可行,是否还有优化的空间)、测试的角度思考问题(是否存在业务逻辑冲突/冗余)
② 测试计划:开始时间、结束时间以及耗时多久
③ 测试设计与开发:写测试文档,明确标注使用到的测试方法、测试工具、测试形式等。参考需求文档、技术文档等编写测试用例。
④ 测试执行:充分利用测试用例和其他工具对项目尽可能做到全方面的覆盖测试
⑤ 测试评估:评估产品是否存在质量问题,以及进行功能演示

  1. 面试题】如果线上出现问题,测试人员该怎么办?
    项目测试完成之后需要进行项目上线。产品在线上运行期间,我们测试人员也要及时关注产品线上运行情况,是否出现了产品质量问题,如果出现了问题:

① 尝试复现(是普遍存在还是个别问题): 复现成功后通知项目组内所有成员进行问题的定位。
② 尝试定位问题出现的原因,帮助开发人员尽快的定位问题并解决问题。
③ 反思问题(为什么出现,如何解决,后续如何避免):如果问题比较严重or比较典型,则需要写一个文档。
(如果在编写代码过程中出现问题,我们也要学会去定位问题)


二、 开发模型

一) 瀑布模型

  1. 瀑布模型:
    0
    (这里的“测试”指的是所有的测试活动)

  2. 特点:
    ① 线性结构,每个阶段只执行一次
    ② 是其他模型的基础框架

  3. 缺点:
    1)测试后置
    ① 前面各阶段遗留的风险推迟到测试阶段才被发现,导致项目大面积返工,失去了及早修复的机会。
    ② 必须留有足够的时间给测试活动,否则会导致测试不充分,将缺陷暴露给用户(产品质量差)
    2)周期太长,产品很迟才能被用户看到和使用;可能会导致需求/功能过时。

  4. 使用场景:
    需求固定的小项目


二)螺旋模型

  1. 螺旋模型:
    1
    ① 螺旋模型拉直之后就相当于瀑布模型,螺旋模型中增加了风险分析和原型。
    ② 螺旋模型需要招聘专业的风险分析人才。

  2. 特点:
    螺旋模型中增加了风险分析和原型

  3. 缺点:
    1)项目中可能存在的风险性与风险管理人员的技能水平有直接的关系。
    2)需要人员、资金、时间的增加和投入,可能会导致项目的成本过高。

  4. 使用场景:
    规模庞大、复杂度高、风险大的项目尤其适合


三)增量模型和迭代模型

  1. 增量模型(逐块建造
    2

  2. 增量模型中把大的需求划分成一个个可以独立开发上线的功能。

  3. 增量模型在开发上线各功能时是可以并行开发的。

  4. 迭代模型(反复求精):迭代模型在开发上线软件的各功能时,先开发个功能的基础版本,然后再在基础版本上不断进行功能的完善。


四)敏捷模型【重点☀️】

  1. 敏捷模型不强调流程,而是更多地思考如何去激发开发人员的工作热情。
  2. 敏捷模型的考核标准是:可交付的软件。
  3. 简单理解《敏捷宣言》

① 个体与交互重于过程和工具: 要注重人与人之间的交流沟通
② 可用的软件重于完备的文档: 不太关注在过程中产生的各种文档,更注重最后有没有产出一个可用的软件。【敏捷模型的考核标准是:可交付的软件
③ 客户协作重于合同谈判:用户需求五花八门,可能会在不同时间有不同需求,所以要注重与客户的沟通协调,注意及时修改更新。
④ 响应变化重于遵循计划:及时响应变化
⑤ 在每对比对中,后者并非全无价值,但我们更看重前者。

其实也就是说:
敏捷模型的特点:轻流程、轻文档、重目标、重产出

  1. 敏捷开发有很多种方式,其中scrum是比较流行的一种
  2. scrum模型
    1)重点掌握【三个角色五个重要会议】
    2)三个角色:产品经理、项目经理、研发团队

① 产品经理product owner:负责整理user story(用户故事),定义其商业价值,对其进行排序,制定发布计划,对产品负责
② 项目经理scrum master: 负责召开各种会议,协调项目,为研发团队服务。
③ 研发团队team:由不同技能的成员组成,通过紧密协同,完成每一次迭代的目标,交付产品。

3)五个重要会议:
发布计划会议、迭代计划会议、每日例会、演示会议、回顾会议。
2

4)特点:
敏捷模型拥抱变化


三、 测试模型

一)V模型

  1. V模型
    3

  2. 特点:
    ① 测试过程中存在不同类型的测试
    ② 测试阶段的参考标准以前面对应的阶段为准

  3. 缺点
    测试后置
    ① 前面各阶段遗留的风险推迟到测试阶段才被发现,导致项目大面积返工,失去了及早修复的机会。
    ② 必须留有足够的时间给测试活动,否则会导致测试不充分,将缺陷暴露给用户(产品质量差)


二)W模型(双V模型)

  1. W模型
    5

  2. 特点
    ① W模型重流程(前一个完成之后一个才能开始),不能很好地迎接变化。
    ② W模型不适合敏捷模型。
    ③ 测试阶段从需求开始就介入。


✨小结

  1. 软件以及软件测试生命周期
  2. 如果产品上线出现问题,测试人员怎么办
  3. 开发模型及其特点、缺点、使用场景(瀑布、螺旋、增量和迭代、敏捷模型scrum模型)
  4. 测试模型(V模型、W模型)

yy

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

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

相关文章

【4.2】Ribbon负载均衡策略

【4.2】Ribbon负载均衡策略1 Ribbon--负载均衡策略2.1 修改负载均衡规则--代码方式2.1.1 具体测试:2.2 修改负载均衡规则--配置文件方式2.2.1 具体配置3 总结Ribbon负载均衡原理 中学习到: IRule接口决定了负载均衡的策略。 接下来学习IRule接口的实现有…

【Java编程进阶】Object类及常用方法详解

Java 编程基础教程系列:Java 编程进阶之路【从入门到精通】 ,从入门到精通一站学习,买不了吃亏,买不了上当!! 文章目录1. Object类2. 常用的方法2.1 toString 方法2.2 equals 方法2.3 hashcode 方法3. 注意…

Verilog语法笔记(夏宇闻第三版)-数据类型及其常量、变量

目录 常量: 整数: x和z值: 负数: 下划线(underscore_): 参数(Parameter)型: 变量: wire型: reg型: memory型: Verilog HDL中总共有十九种数据类型,数据类型是用来表示数字…

SSH远程连接服务详解

远程连接服务器 一,远程连接服务器简介 1、什么是远程连接服务器 远程连接服务器通过文字或图形接口方式来远程登录系统,让你在远程终端前登录 linux 主机以取得可操作主机接口(shell),而登录后的操作感觉就像是坐在…

MyBatis Plus学习笔记

MyBatis Plus 国产的开源框架,基于 MyBatis 在Mybatis-Plus中,内置了代码生成器,我们可以通过该工具,生成我们需要的代码,例如:entity层,controller层,mapper层,service…

Java面向对象:构造器、this

目录构造器学构造器的目的构造器的作用样例构造器的注意事项总结this关键字this关键字是什么样例this关键字的作用总结构造器 学构造器的目的 真正知道对象具体是通过调用什么代码得到的。能够掌握为对象赋值的其他简便写法。为以后学习面向对象编程的其他内容做支撑。 构造…

Python实现可视化案例:采集天气数据并可视化分析

前言 最近长沙的天气,真的就是不能理解,大起大落的,就跟我的心情一样… 有点无聊就来采集一些天气数据,做个可视化的小案例吧(我采集的是以前北上广深的天气数据哈) 实现案例的步骤 一.分析数据来源 从…

狂神说笔记——Linux快速入门27

Linux快速入门 参考于:B站狂神视频! Java开发之路:JavaSE、MySQL、前端(HTML、Css、JS)、JavaWeb、SSM框架、SpringBoot、Vue、SpringCloud、Mybatis-plus、Git、Linux (CentOS 7) 操作系统&…

【Linux】-- 程序地址空间

目录 程序地址空间 进程地址空间 - 虚拟地址空间 概念引入(浅) 初步理解结构 深入理解虚拟地址 为什么要有地址空间? 程序地址空间的角度理解挂起 程序地址空间 C/C在Linux下的程序地址空间分布: 栈向低地址增长&#xff0…

透过现象看本质,我找到了Netty粘包与半包的这几种解决方案

1、粘包与半包 啥也不说了,直接上代码是不是有点不太友好,我所谓了,都快过年了,还要啥自行车 我上来就是一段代码猛如虎 1.1 服务器代码 public class StudyServer {static final Logger log LoggerFactory.getLogger(StudyS…

怎样进行股票量化对冲策略分析?

股票量化对冲策略的分析需要从各方面去深入了解,就比如说明确量化和对冲的概念,可以先下载OA系统中“量化对冲 产品基础知识的学习,也要知道量化对冲产品在构建股票多头的同时,也构建期货空头。在市场不稳定的操作情绪之下&#x…

Git——初识git

1、git概述 1.1 简介 Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种 项目。 Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作 流分支等特性。其性能优于…

rtl8188eus Linux驱动移植

rtl8188eus Linux驱动移植 rlt8188eus作为无线USB网卡,可以给我们的Linux设备提供无线上网能力,也能配置为AP,给其它无线设备提供上网能力。在使用较低版本的内核时,内核中不含rtl8188eus驱动,因此尝试自己移植&#…

1、常见的存储设备

文章目录较为常见的存储设备机械硬盘简介固态硬盘简介U盘简介固态U盘MMC卡SD卡简介TF卡NM卡MS卡CF卡CFExpress卡磁带光盘较为常见的存储设备 目前较为常见的存储设备,从电脑用的: 机械硬盘固态硬盘U盘固态U盘 到单反相机、运动相机、手机、行车记录仪…

BigDecimal 基本使用和常用方法

背景 涉及到比较大的数字之间的计算,使用float、double这样的浮点数就不那么准确了。因为不论是float 还是double都是浮点数,而计算机是二进制的,浮点数会失去一定的精确度。所以在商业计算中基本要用java.math.BigDecimal 一、初始化使用…

蹭秦霄贤流量,郭德纲凌晨时分转发老秦动态

都知道德云社董事长王慧很忙,每天除了打理公司业务,还要照顾众多徒弟们的衣食住行。王慧作为德云社董事长,她的忙都在情理之中,而郭德纲作为德云社总班主,他的时间就更加弥足珍贵了。 可是谁能想到,就是这样…

VSCode配置C++开发环境:OpenCV

文章目录Linux编译调试配置OpenCVWin10编译调试配置OpenCV参考最近在做深度学习的C部署相关工作,于是写下这篇文档记录环境配置的过程。环境配置是一项非常繁琐的工作,无论从大学做相关作业还是到工作上。做这项工作需要技术的同时,还需要点运…

从0到1完成一个Vue后台管理项目(一、创建项目)

1.创建文件夹 这很简单,自己选一个盘,然后建一个文件夹即可 我选择的是D盘,最后的目录是vue-admin 注意:最后的目录一定要是英文 2.创建项目 初始化 npm init -y 局部安装vue-cli vue-cli的版本一直在更新,所以不推…

品牌舆情总结及品牌修复,品牌舆情监测监控怎么做?

如今互联网大数据时代,信息流通越来越快,影响覆盖面广。品牌一旦出现舆论,很容易引起大范围的热议,对品牌发展造成不利影响,进而影响品牌声誉。接下来TOOM舆情监测小编带您简单了解品牌舆情总结及品牌修复,…

Linux_Study

文章目录1.操作系统概述1.1 操作系统的作用1.2 常见的操作系统2.Linux介绍2.1 诞生2.2 Linux内核3. Linux基础操作3.1 虚拟机快照3.2 Linux 目录结构3.3 命令、命令行3.4 ls命令(列表命令)3.5 cd/pwd命令(目录命令)3.6 相对路径、…