【软件测试】概念篇

在这里插入图片描述
🎃🎃🎃个人主页🎃🎃🎃
🎃🎃🎃【软件测试专栏】🎃🎃🎃
🎃🎃🎃上一篇文章:认识测试🎃🎃🎃

文章目录

  • 1.需求的概念
    • 1.1用户需求
    • 1.2软件需求
    • 2.开发模型
    • 2.1概念
    • 2.2软件的生命周期
      • 2.2.1生命周期各阶段的主要内容
    • 2.3常见的开发模型
      • 2.3.1瀑布模型
      • 2.3.2螺旋模型
      • 2.3.3增量模型
      • 2.3.4迭代模型

1.需求的概念

1.1用户需求

用户需求一般都是没有经过合理评估的一句话。

1.2软件需求

能将用户需求一步一步的分析并且可执行的就叫软件需求,并且软件需求也是开发人员和测试人员工作的依据。

2.开发模型

2.1概念

规范的流程是在时代的演变下逐渐成型这种就是开发模型。

2.2软件的生命周期

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

2.2.1生命周期各阶段的主要内容

  • 需求分析——分析用户是否合理(市场分析,技术上分析…)——软件需求文档
  • 计划——制定需求执行计划
  • 设计——将需求细化成一个个任务,进行技术设计(设计哪些接口,采用什么技术)——产出设计文档
  • 编码——开发人员参考需求文档,设计文档,交互图等等文件进行代码的编写
  • 测试——测试人员参考测试用例对软件进行测试
  • 运行维护——项目上线之后对产品进行线上的维护
    线上的维护分三个方面,分别为修复性维护,完善性维护,预防性维护。
  • 修复性维护:对项目中未发现的问题进行维护
  • 完善性维护:对功能进行完善
  • 预防性维护:为了避免产品在线上出现一些极端的问题,进行一些防护的手段

2.3常见的开发模型

2.3.1瀑布模型

开始——需求分析——计划——设计——编码——测试——运行维护——结束
特点:每一个流程只执行一次,线性的开发流程。
缺陷:

  1. 可以运行的产品很迟才能被看到——产品生成的周期长
  2. 会出现当在测试的时候出现大量的问题导致项目大面积返工,失去了及早的修复机会
  3. 必须要留够时间给测试人员,否则会导致测试不够充分,会将问题暴露给用户,给用户造成不好的体验感。
    适用的场景:项目固定的小项目

2.3.2螺旋模型

在这里插入图片描述
特点:螺旋模型中各个阶段都引入的风险分析+原型
引入的目的:为了减少各个简短会遗留的风险问题,避免把问题留给测试阶段。
优点:

  1. 强调严格的全过程风险管理
  2. 强调各开发阶段的质量
  3. 增加风险分析和原型
    缺点:
  4. 项目中可能存在的风险性与风险管理人员的技能水平直接关系
  5. 需求人员、资金、时间的增加和投入,可能导致项目的成本太高
    适用场景:规模庞大、复杂度高、风险大的项目

2.3.3增量模型

在这里插入图片描述
特点:将大需求拆分为一个个小需求,独立开发并且上线

2.3.4迭代模型

在这里插入图片描述
特点:先将项目的基本大致结构上线,然后再慢慢的将这些功能完善。
这两个模型可以比作画一个人物画:
在这里插入图片描述
关于增量模型和迭代模型的一个小结:

  1. 适用用大项目并且需求不明确的
  2. 迭代模型和增量模型一般都是配合适用

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

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

相关文章

性能测试中关注的指标

性能测试中我们会关注很多的性能指标,会通过观测的性能指标来决定性能测试是否继续执行、性能测试是否通过等等内容,但是每次说到要监控什么指标的时候,往往就纠结在服务器的CPU利用率、可用内存数、磁盘IO、网络吞吐等,这些都是ISO25010定义的资源特性中给出的例子,其实对…

音乐创作与制作软件:Studio One 6.6.1中文版安装激活使用指南

音乐创作与制作软件:Studio One 6.6.1 简介 StudioOne 的设计核心是易于使用。十年来,它已将久经考验的录音棚模型与当今以节拍和循环为导向的制作过程无缝地结合在一起,因此您可以比以往更快地将音乐创意带入声音现实。高效的单屏幕界面可…

嵌入式Linux:开发平台搭建

目录 简介 1. JTAG工具的使用 2. 使用串口工具 3. 安装交叉编译工具 4.NFS文件的使用 简介 嵌入式开发平台的搭建,也即安装交叉编译工具链。 交叉编译是在一种平台上编译出能运行于另一种平台上的程序。 例如在X86平台上编译出能运行于ARM平台上的程序。 由于嵌入式设备…

04-Mysql 索引,事务

MySQL 索引介绍 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。在数据十分庞大的时候,索引可以大大加快查询的速度。这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行…

PointCloudLib-特征(Features)-基于转动惯量和偏心率的描述符

基于转动惯量和偏心率的描述符 在本教程中,我们将学习如何使用 pcl::MomentOfInertiaEstimation 类来获取基于 偏心率和转动惯量。此类还允许提取云的轴对齐和定向边界框。 但请记住,提取的 OBB 不是最小可能的边界框. 理论入门 特征提取方法的思路如下。 首先计算点云的…

鸿蒙开发:1.环境搭建和入门

环境搭建 安装HUAWEI DevEco Studio 简介 HUAWEI DevEco Studio是基于IntelliJ IDEA Community开源版本打造, 为运行在HarmonyOS和OpenHarmony系统上的应用和服务提供一站式的开发平台。 特点 1.高效智能代码编辑:支持ArkTS、JS、C/C等语言的代码高亮、…

GNU、Unix、Linux、Makefile、GCC、GDB 之间的关系

1.1 Makefile Makefile 是一个用于自动化编译和构建过程的文本文件,尤其在软件开发项目中被广泛使用。它定义了一系列规则,说明了如何将源代码文件编译成可执行文件、库或者其他目标文件。Makefile 的核心作用在于它能够管理源代码文件之间的依赖关系&am…

Python多线程技巧心得详解

概要 多线程是一种能够并发执行代码的方法,可以提高程序的执行效率和响应速度。本文将详细介绍 Python 中多线程的概念、使用场景、基本用法以及实际应用,可以更好地掌握多线程编程。 什么是多线程? 多线程是一种在单个进程内并发执行多个线程的技术。每个线程共享相同的内…

笔记101:OSQP求解器的底层算法 -- ADMM算法

前言1:这篇博客仅限于介绍拉格朗日乘子法,KKT条件,ALM算法,ADMM算法等最优化方法的使用以及简版代码实现,但不会涉及具体的数学推导;不过在下面我会给出具体数学推导的相关文章和截图,供学有余力…

图书馆书籍管理系统

项目名称与项目简介 图书馆书籍管理系统 本项目是一个计算机管理系统,也就是将传统手工的管理方式转变为智能化、标准化、规范化的管理管理模式,对图书馆中所有的图书、文献资料、音像资料、报刊、期刊等各种类型的资料实现采编、收集图书信息、检索、归…

探讨数字化背景下VSM(价值流程图)的挑战和机遇

在信息化、数字化飞速发展的今天,各行各业都面临着前所未有的挑战与机遇。作为源自丰田生产模式的VSM(价值流程图),这一曾经引领制造业革命的工具,在数字化背景下又将如何乘风破浪,应对新的市场格局和技术变…

Java中的方法重载

方法重载(Method Overloading)是Java中面向对象编程的重要特性之一。它允许一个类中有多个方法名称相同但参数列表不同的方法,从而实现不同的功能。本文将深入探讨方法重载的概念、规则及其应用场景,并通过示例代码展示其实际用法…

屏幕翻译下载哪个软件好?好用的屏幕翻译推荐

想象一下,当我们在阅读外文文档或是观看外语电影时,如果能有一款翻译工具同步提供译文,那将是多么令人愉悦的体验! 如果这种翻译服务能够在不影响其他应用的情况下进行,那就是double快乐了。 其实,现在要…

JAVA之Guava

Guava 是由 Google 开发的一个开源 Java 库,包含了大量被认为是 Java 编程中常用的实用工具类和方法。Guava 提供了丰富的集合处理、缓存、字符串处理、并发工具和 I/O 操作等功能。 1. 集合工具 Guava 提供了强大的集合框架扩展,简化了集合的创建、操…

【LeetCode】每日一题:二叉树的层次遍历

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 解题思路 水题 AC代码 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightN…

【ajax07基础】回调函数地狱

一:什么是回调函数地狱 在一个回调函数中嵌套另一个回调函数(甚至一直嵌套下去),形成回调函数地狱 回调函数地狱存在问题: 可读性差异常捕获严重耦合性严重 // 1. 获取默认第一个省份的名字axios({url: http://hmaj…

Postman使用简要步骤

目录 下载与安装 Postman 启动 Postman 创建请求 设置请求信息 发送请求 编写测试脚本 使用环境变量和全局变量 使用 Pre-request Script 生成 API 文档 模拟和测试 API 持续集成与自动化测试 下载与安装 Postman 访问 Postman 官网(https://www.postman…

在 C 语言中使用 UT_hash_handle 简化实现哈希表

在 C 语言中使用 UT_hash_handle 简化实现哈希表的步骤如下: 1、包含头文件:首先需要包含 uthash 库的头文件 uthash.h。 #include "uthash.h"2、定义包含哈希表支持的结构体:在定义结构体时,需要在结构体中添加 UT_h…

浏览器自动填充登录用户名和密码,如何清除

文章目录 刷新网页的时候浏览器会自动填充用户名和密码刷新之后效果图解决方案完整的login.vue代码核心代码原理(添加 readonly 和监听 focus 事件) 刷新网页的时候浏览器会自动填充用户名和密码 刷新之后效果图 解决方案 完整的login.vue代码 <template><div class…

【线上】如何解决积压消费?

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货!​​​​​​​ Hello, 各位亲爱的读者朋友们!我是你们的小米,一个积极活泼的技术分享达人,今天我们要聊聊一个大家在分布式系统中经常遇到的棘手问题…