当前位置: 首页 > news >正文

【软件测试】开发/测试模型

开发/测试模型

瀑布模型

image-20230925114819687

设计:技术文档(设计那些接口,库表,mq,定时任务),UI视觉稿

特点:线性的结构。

优点:每个阶段做什么,产出什么非常清晰

缺点:测试人员介入太晚了,风险往往迟至后期的测试阶段才显露,因而失去及早纠正的机会。发现问题后需要不停的向前回溯才能定位问题。

适用于项目:小型的项目适用于这种模型,比如项目周期1天或者0.5天。

螺旋模型

image-20230925115046087

优点:循环进行风险分析。每个阶段开始之前都有一个风险分析,可以避免一定的风险

缺点:风险分析需要一定的投入,如果分析错了,会带来一定的损失。同时不断的迭代,有可能导致项目延期。

适应项目:适用于规模大,复杂度高,风险比多的项目。

增量、迭代模型

增量模型,一个模块开发完毕,在开发下一个模块。

迭代模型,所有模块一起开发,先开发大的框架,在开发细节。

敏捷模型

敏捷开发的概念:就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态

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

个体与交互重于过程和工具(注重面对面沟通)

可用的软件重于完备的文档

客户协作重于合同谈判

响应变化重于遵循计划(拥抱变化)

在每对比对中,后者并非全无价值,但我们更看重前者

简而言之敏捷模型的特点就是:轻流程、轻文档、重目标、重产出

敏捷开发有很多种方式,其中scrum是比较流行的一种,scrum中主要包含三大角色,五大会议。

迭代开发:与瀑布不同,scrum将产品的开发分解为若干个小sprint(迭代),其周期从1周到4周不等,但不会超过4周。参与的团队成员一般是5到9人。每期迭代要完成的user story是固定的。每次迭代会产生一定的交付。

角色:

PO(产品经理): 收集整理用户需求。

SM (项目经理): **需要进行需求优先级确定,项目计划确定。**对需求进行优先级划分,计划项目什么时候开始,什么时候结束,由谁去做。

Team(前端开发,后端开发,测试,设计)

scrum的基本流程:

image-20230905190004733

  • 产品经理负责整理user story,形成左侧的product backlog。

  • 发布计划会议:产品经理负责讲解user story。SM项目经理对其进行估算和排序,发布计划会议的产出, 就是制定出这一期迭代要完成的story列表

  • 迭代计划会议:项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,每 个任务都有明确的负责人,并完成工时的初估计。

  • 每日站会:汇报昨天工作有没有完成,如果没有完成,遇到了什么问题。今天计划做什么。

  • 演示会议: 演示给项目其他人员。期间大家的反馈记录下来,由po整理,形成新的story。

  • 回顾会议: 遇到的问题记录,如何解决这些问题。制定改进计划,下一次迭代继续改进,已达到持续改进的效果

V模型

image-20230926234201726

用户需求阶段:PM将用户需求收集,成为软件需求。

用户分析与系统设计阶段:验证需求是否正确。确定使用的编程语言,确定使用的框架。

概要设计阶段:项目结构如何设计

详细设计阶段:每个接口涉及到那些库表,涉及哪些任务

编码阶段:软件开发人软进行写代码

单元测试:对java中的每一个类,每一个方法进行测试。

集成测试:将许多方法集成到一起进行测试

系统测试:对整个系统进行测试,测试模块和模块间有没有影响。

验收测试:不是测试人员进行测试,是由验收的人进行测试,比如产品,运营。

特点:左边开发,右边测试,类似于瀑布模型。

优点:测试被划分为许多类型。

缺点:测试介入太晚,发现问题时机就会越晚,测试和开发是串行的

W模型(双V模型)

image-20230927172134425

V&V意思是: 软件测试的工作归结起来就是两个V,Verification(验证)和Validation(确认)

实施:部署/运行。

交付:软件交付给用户

用户需求V&V 验收测试准备:根据用户需求写一个文档,在运营验收的时候,把文档给运营,让运营对照文档进行验收。

特点:开发一个V,测试一个V.

优点:测试在刚开始就介入了整个项目,测试是对整个项目的每个阶段进行了测试

缺点:测试人员和开发人员在一定程度上还是串行的,不能拥抱变化。不适用于敏捷开发。

相关文章:

【软件测试】开发/测试模型

开发/测试模型 瀑布模型 设计:技术文档(设计那些接口,库表,mq,定时任务),UI视觉稿 特点:线性的结构。 优点:每个阶段做什么,产出什么非常清晰 缺点:测试人员介入太晚…...

用于时间触发的嵌入式软件的IDE

TTE Systems的RapidiTTy IDE为希望创建“时间触发”微控制器软件以提高整体系统可靠性的开发人员提供了一个独立的环境。RapidiTTy(下面的图1)旨在解决深度嵌入的应用,包括医疗,国防,汽车和工业部门以及白色和棕色商品…...

wordpress插件-免费的wordpress全套插件

在当今数字化时代,网站和博客已经成为信息传递、观点分享和商业交流的重要平台。在这个背景下,WordPress作为最受欢迎的内容管理系统之一,无疑扮演着至关重要的角色。然而,要保持一个成功的WordPress网站,不仅需要出色…...

第一百五十七回 SliverList组件

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了沉浸式状态栏相关的内容,本章回中将介绍SliverList组件.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在这里介绍的SliverList组件是一种列表类组件,类似我们之前介绍过的L…...

数据结构与算法——17.二叉搜索树

这篇文章我们来看一下数据结构中的二叉搜索树。 目录 1.概述 2.二叉搜索树的实现 3.总结 1.概述 我们前面学到的数据结构,比如:动态数组、链表、队列、栈、堆,这些数据结构存储完数据后,我们要去查找某个数据,它的…...

rust所有权

一、堆和栈 栈和堆都是程序运行时使用的内存,但是它们的结构不同。 1.栈 栈,英文是stack。是内存的一段区域。 栈是后进先出形式的。就像薯片桶,先放进去的一片只能后拿出来。 栈上存储的数据大小必须是已知且固定的。也就是说如果一个变量…...

Win10电脑任务栏没有蓝牙图标的简单解决方法

Win10电脑任务栏没有蓝牙图标怎么办?在Win10电脑中,用户有时候会发现任务栏上没有蓝牙图标了,这样就无法通过蓝牙图标快速打开蓝牙服务了。下面小编给大家介绍最简单的解决方法,帮助大家找回任务栏上面的蓝牙图标吧。 问题原因 反…...

判断编译器类型、编译器版本、操作系统。

目录 1. 判断编译器类型: 2. 判断编译器版本: 3. 判断操作系统: 总结: 1. 判断编译器类型: 可以使用预定义的宏来判断编译器类型。例如,__GNUC__ 宏用于判断是否使用了GCC 编译器,_MSC_VER…...

百度实习一面(知识图谱部门)

百度面经(知识图谱部)一面 1.自我介绍 介绍完了,打开共享,对着简历一点一点问 2.ffmpeg在项目中是怎么使用的 回答了ffmpeg在项目中使用的命令,用来干了什么 3.为什么使用toml配置,了解过yml配置吗&am…...

Oracle 数据库查询优化

目录 1. Oracle 数据库查询优化(上百万级记录如何提高查询速度)2. Oracle SQL 性能优化 40 条 | 收藏了! 1. Oracle 数据库查询优化(上百万级记录如何提高查询速度) 对查询进行优化, 应尽量避免全表扫描, 首先应考虑在 where 及 order by 涉及的列上建立索引应尽量避免在 wher…...

时序预测 | MATLAB实现POA-CNN-GRU鹈鹕算法优化卷积门控循环单元时间序列预测

时序预测 | MATLAB实现POA-CNN-GRU鹈鹕算法优化卷积门控循环单元时间序列预测 目录 时序预测 | MATLAB实现POA-CNN-GRU鹈鹕算法优化卷积门控循环单元时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 MATLAB实现POA-CNN-GRU鹈鹕算法优化卷积门控循环单元时间序…...

Java技术接单

今天给大家介绍一个阶段性(周期性)能获取一定收益的Java技术接单群,分享给大家!主要对搞Java的粉丝有帮助,因为可以赚点小钱,对Java技术的要求不高! 注意:首先进群不是免费的&#…...

多家企业发布基于大模型的AI产品,大模型应用落地哪家强?

https://m.mp.oeeee.com/a/BAAFRD000020230603805161.html “无产业不AI,无应用不AI。” 随着AI(人工智能)大模型技术落地,AI应用遍地开花。连日来,多家企业发布基于大模型的AI应用产品。身处“百模大战”时代&#x…...

如何在小程序中获取用户昵称、电话号,头像

一、如何获取昵称(获取微信昵称)以Taro框架为例 Taro框架中的组件Input的一个属性,type属性的值有一个nickname. 如果要拿到input的值,是要value结合onChange事件。 type"nickname" value{nickName} onChange{(value: …...

26606-2011 工业用氰乙酸甲酯 阅读笔记

声明 本文是学习GB-T 26606-2011 工业用氰乙酸甲酯. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了工业用氰乙酸甲酯的要求、试验方法、检验规则、标志、包装、运输、贮存和安全。 本标准适用于以氯乙酸、氰化钠、甲醇等为原料…...

微软开源 windows-drivers-rs, 用 Rust 开发 Windows 驱动程序

目录 1. 微软开源 windows-drivers-rs, 用 Rust 开发 Windows 驱动程序 1. 微软开源 windows-drivers-rs, 用 Rust 开发 Windows 驱动程序 Microsoft Azure 首席技术官兼著名 Windows 软件开发人员 Mark Russinovich 在社交平台上宣布, 启动了一个名为 windows-drivers-rs 的新…...

Java中判断字符串是否为合法数字

问题 最近遇到需要将String转BigDecimal的场景。 解决思路 利用NumberUtils.isCreatable判断是否为合法数字,然后,对字符串进行数字转换。注意:这里的NumberUtils类是org.apache.commons.lang3.math库里面的类。 Java if (NumberUtils.i…...

[LeetCode] Hard-2251. 花期内花的数目 - 二分查找/有序数组

Problem: 2251. 花期内花的数目 2251. 花期内花的数目 思路解题方法Code 思路 看题目应该是一道比较经典的差分,本来准备拿差分数组做的,后来搂了一眼题解,发现用二分的方法更简单 解题方法 此题有一种很简便的方法,第i个人到…...

VUE3父子组件传值defineProps() 和 defineEmits()

defineProps 和 defineEmits 都是只能在<script setup>中使用的编译器宏。他们不需要导入&#xff0c;且会随着 <script setup> 的处理过程一同被编译掉。 官网传送门 父组件向子组件传值 defineProps 是 Vue3 中一种新的组件数据传递方式&#xff0c;可以用于在…...

OmniPlan Pro 4 for Mac:引领项目管理的创新与高效

OmniPlan Pro 4是一款强大且高效的项目管理工具&#xff0c;专为Mac用户设计。它提供了一套综合性的解决方案&#xff0c;帮助用户在Mac上便捷地进行项目规划、追踪和管理。凭借其直观的界面&#xff0c;用户可以快速上手&#xff0c;并且能充分利用这款工具的各种功能。 规划…...

SeqGPT-560M惊艳效果:支持多值字段提取——同一段文本中识别全部手机号而非仅首个

SeqGPT-560M惊艳效果&#xff1a;支持多值字段提取——同一段文本中识别全部手机号而非仅首个 在信息爆炸的时代&#xff0c;我们每天都要处理海量的非结构化文本。无论是从一份简历里找出候选人的所有联系方式&#xff0c;还是从一份合同里提取所有涉及的金额和日期&#xff…...

s2-pro开源大模型实战:低成本GPU部署语音合成服务完整流程

s2-pro开源大模型实战&#xff1a;低成本GPU部署语音合成服务完整流程 1. 前言&#xff1a;语音合成技术的新选择 语音合成技术正在改变我们与数字世界的交互方式。今天要介绍的s2-pro是Fish Audio开源的一款专业级语音合成模型镜像&#xff0c;它让高质量语音合成服务的部署…...

SDMatte镜像结构解析:/opt/sdmatte-web与模型目录映射关系

SDMatte镜像结构解析&#xff1a;/opt/sdmatte-web与模型目录映射关系 1. SDMatte简介 SDMatte 是一款面向高质量图像抠图场景的 AI 模型&#xff0c;特别适合处理以下任务&#xff1a; 主体分离与提取透明物体抠图&#xff08;玻璃、薄纱等&#xff09;复杂边缘精修&#x…...

STM32F103引脚功能全解析:从供电到通信接口的实战配置指南

STM32F103引脚功能全解析&#xff1a;从供电到通信接口的实战配置指南 在嵌入式系统开发中&#xff0c;STM32F103系列微控制器因其出色的性能和丰富的外设资源&#xff0c;成为众多开发者的首选。这款基于ARM Cortex-M3内核的MCU&#xff0c;不仅具备72MHz的主频&#xff0c;还…...

NaViL-9B多模态模型5分钟快速部署:图文问答零基础入门教程

NaViL-9B多模态模型5分钟快速部署&#xff1a;图文问答零基础入门教程 1. 认识NaViL-9B多模态模型 NaViL-9B是上海人工智能实验室推出的原生多模态大语言模型&#xff0c;它不仅能像传统语言模型一样处理纯文本问答&#xff0c;还具备强大的图片理解能力。这意味着你可以上传…...

F3D动画播放教程:如何轻松展示和播放3D模型动画

F3D动画播放教程&#xff1a;如何轻松展示和播放3D模型动画 【免费下载链接】f3d Fast and minimalist 3D viewer. 项目地址: https://gitcode.com/GitHub_Trending/f3/f3d 想要快速查看和播放3D模型动画吗&#xff1f;F3D&#xff08;Fast and minimalist 3D viewer&am…...

多层PCB结构与设计技术详解

多层PCB内部结构解析与设计指南1. 多层PCB概述1.1 多层PCB的基本概念现代电子设备对电路板的要求越来越高&#xff0c;多层PCB已成为复杂电子系统的标准配置。与单层或双层PCB相比&#xff0c;多层PCB通过在绝缘基材上叠加多个导电层&#xff0c;实现了更高的布线密度和更优的信…...

终极指南:如何快速搭建NixOS配置开发环境 [特殊字符]

终极指南&#xff1a;如何快速搭建NixOS配置开发环境 &#x1f680; 【免费下载链接】linux-nixos-hyprland-config-dotfiles Linux &#x1f427; configuration based on NixOS ❄️, Hyprland, and Catppuccin Macchiato theme &#x1f638; for a consistent, complete, a…...

收藏!AI大模型产品经理学习路线(2026最新),从零基础到专家,收藏这一篇就够

一、AI产品经理和和通用型产品经理的异同&#xff1a; 市面上不同的公司对产品经理的定位有很大的差别&#xff0c;一名合格的产品经理是能对软件产品整个生命周期负责的人。 思考框架相同&#xff1a; AI产品经理和通用型软件产品经理的底层思考框架是一样的&#xff0c;都是…...

嵌入式GUI技术选型与实现方案对比

1. 主流小型嵌入式GUI技术解析1.1 TouchGFX技术方案TouchGFX以其华丽的界面效果和流畅的动画著称&#xff0c;采用C语言开发&#xff0c;特别适合STM32系列MCU。其核心优势在于TouchGFX Designer工具&#xff0c;该工具提供&#xff1a;可视化界面设计环境丰富的控件库&#xf…...