软件测试认识

news2025/1/11 18:37:24

    • 什么是软件测试:
    • 软件测试和调试区别
    • 测试和测试开发区别
    • 测试相关概念
      • 什么是需求
      • 什么是测试用例
      • 什么是bug
      • 软件生命周期
    • 开发模型
      • 瀑布模型
      • 螺旋模型
      • 增量、迭代
      • 敏捷开发模型
      • V模型
      • W模型

什么是软件测试:

找bug;发现缺陷;验证功能;性能;是否符合用户需求;
软件测试:验证软件产品特性是否满足闲户的需求.

软件测试和调试区别

1:角色不同;调试是开发;测试:测试人员+开发(通常黑盒测试由测试人员执行;部分白盒测试、系统测试是开发人员执行)
2:阶段不同;调试是开发时候才调试;而测试伴随整个生命周期;介入的时间比较早
3:目的不同;调试是发现问题并且解决问题;测试是发现问题
4:手段不同;调试;debug,分析代码逻辑。测试等价类划分法、边界值等等众多方法。

测试和测试开发区别

测试工程师: 功能测试比较多,设计测试用例,执行测试用例,涉及到的开发工作内容较少的
测试开发工程师: 测试工程师的工作内容上加了一些开发工作(开发测试用例,开发测试工具,开发出来的测试工具让测试人员用,提高测试效率)

测试相关概念

什么是需求

用户需求:可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务。该需求一般比较简略。
软件需求:或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能。

产品经理:大多数公司在进行软件开发的时候会把用户需求转化为软件需求,开发人员和测试人员工作的直接依据就是软件需求;所以产品经理要把用户的需求转换成文档;

需求的作用:把要做什么事情描述清楚;开发测试人员才好进行工作

什么是测试用例

测试用例是一组集合;测试环境、测试数据、预期结果、操作步骤……
比如:
在这里插入图片描述
怎么证明这个测试用例是否通过了;根据实际执行结果;对比预期结果;相同就通过;不相同就没有通过。

测试用例作用:
1:测试用例提高测试人员工作效率/降低测试人员工作的重复性问题
2:测试用例是建立自动化的基础

什么是bug

bug:当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误。
当需求规格说明书没有提到的功能,判断标准以最终用户为准: 当程序没有实现其最终用户合理预期的功能要求时,就是软件错误。

软件生命周期

从软件诞生到停服:需求分析、计划、设计、编码、测试、运行维护
需求分析:分析需求是否合理;需求是否完整
计划:谁开发、谁测试、开发多久、测试多久……
设计:UI设计、技术文档;接口涉及到那些库表
编码:写代码
测试:产生一个测试报告
运行维护:线上出现问题;测试人员需要协助开发定位问题、解决问题

开发模型

瀑布模型

瀑布模型的每一个阶段都只执行一次,是线性顺序进行的软件开发模式。
在这里插入图片描述

优点:每个阶段做什么;产生什么非常清晰;
缺点:风险往往在后期的测试阶段才显露;容易失去及早纠正的机会(在测试阶段才能发现问题;然后需要一层一层往前找问题;如果发现需求有问题;那不是白忙活了吗)
适用:比较适合用于小型项目

螺旋模型

内圈到外圈;每一个阶段都会继续风险分析;反复测试;反复分析
在这里插入图片描述
优点: 每个阶段都会进行风险分析,避免一些线上问题发生
缺点: 风险分析可能分析错,需要人力财力的投入
适用: 适用于比较大的项目,风险比较多

增量、迭代

增量开发能显著降低项目风险,结合软件持续构建机制,构成了当今流行的软件工程最佳实践之一。增量开发模型,鼓励用户反馈,在每个迭代过程中,促使开发小组以一种循环的、可预测的方式驱动产品的开发。因此,在这种开发模式下,每一次的迭代都意味着可能有需求的更改、构建出新的可执行软件版本,意味着测试需要频繁进行,测试人员需要与开发人员更加紧密地协作。
增量通常和迭代混为一谈,但是其实两者是有区别的。增量是逐块建造的概念,例如画一幅人物画,我们可以先画人的头部,再画身体,再画手脚……而迭代是反复求精的概念,同样是画人物画,我们可以采用先画整体轮廓,再勾勒出基本雏形,再细化、着色。
在这里插入图片描述

敏捷开发模型

敏捷宣言:
在这里插入图片描述
敏捷开发有很多种方式,其中scrum是比较流行的一种:
scrum由product owner(产品经理)、scrum master(项目经理)和team(研发团队;前端、后端、ui设计师)组成。

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

scrum基本流程
在这里插入图片描述

V模型

在这里插入图片描述
特点;左边开发、右边测试;类似瀑布模型;测试人员在编码后介入;
优点: 测试被划分成许多类型
缺点 : 测试人员介入太晚,发现问题时机太晚

W模型

在这里插入图片描述
特点: 开发一个V测试一个V
优点:测试人员尽早介入了需求
缺点:测试人员和开发人员一定程度上还是串行的;后面的都依赖于前面的。比如验收出现问题;就得一步一步往前回溯。不能很好的变化;不适用敏捷;W模型对于项目需求或技术变化的适应性不如敏捷开发方法;万一用户还有其它的需求;很难做到优化软件。v和w都不支持变化;需求文档一开始就确定了

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

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

相关文章

线程简单随笔

线程安全性 原子性:synchornized、AtomicXXX、Lock ​ 原子性是指汇编指令不可拆分的,如同数据库中的事务,要么全部成功,要么全部失败一样 可见性:synchornized、volatile有序性:synchornized、volatile…

安装docker服务 配置镜像

1.安装docker服务,配置镜像加速器 2.下载系统镜像(Ubuntu、 centos) 3.基于下载的镜像创建两个容器 (容器名一个为自己名字全拼,一个为首名字字母) 4.容器的启动、 停止及重启操作 操作代码启动docker sta…

OLED透明屏硬性设计:产品设计中的创新之道

OLED透明屏作为一项革命性的技术创新,不仅具备透明度,而且还拥有硬性的特点,为各行业带来了前所未有的设计和应用可能性。 那么,在这篇文章中,尼伽将深入探索OLED透明屏的硬性设计优势,并通过相关数据和报…

ubuntu20.04安装gcc5.4 g++5.4

在进行ubuntu20.04的系统中安装gcc g5.4中,会出现安装问题 1、pip安装,失败 2、使用apt-get install 进行安装时,提示没有候选项; 原因:ubuntu20.04的系统下,系统默认安装的gcc9.0的版本,默认…

HVV爆火漏洞:最新 WPS RCE (远程命令执行) 复现

最近HVV爆出的很火的WPS命令执行漏洞&#xff0c;其实并不是0DAY&#xff0c;早在2019年就出现了&#xff0c;只不过最近EXP才公开。接下来我们来复现一遍。 0x00 影响版本 WPS Office 2023 个人版 < 11.1.0.15120WPS Office 2019 企业版 < 11.8.2.12085 0x01 环境配置…

光学成像传感器均匀性校准积分球光源

均匀光源被广泛应用于光学成像、遥感仪器的研制与标定等领域。积分球作为一种测量发光体光学参数的高效率仪器&#xff0c;常用于测量光谱强度与功率、光通量、散射体分布、颜色温度、电学特性等参数。积分球光源主要用途是可以作为参考源校准各种光度辐射仪器&#xff0c;其照…

数据结构与算法基础-学习-29-图之关键路径

图的其他相关知识点和源码分享可以参考之前的博客&#xff1a; 《数据结构与算法基础-学习-23-图之邻接矩阵与邻接表》&#xff0c; 《数据结构与算法基础-学习-24-图的遍历之DFS&#xff08;深度优先搜索&#xff09;和BFS&#xff08;广度优先搜索&#xff09;》&#x…

字节跳动 Git 的正确使用姿势与最佳实践

版本控制Git 黑马&尚硅谷 Git的前世今生 方向介绍 为什么要学习Git 1.0 Git是什么 1.1 版本控制 1.1.1 本地版本控制 1.1.2 集中版本控制 1.1.3 分布式版本控制 我们已经把三个不同的版本控制系统介绍完了&#xff0c;Git 作为分布式版本控制工具&#xff0c; 虽然目前来讲…

Python Web开发 OAuth2.0 简介

我们经常看到或者用到一些可以使用微博、微信、支付宝等账号登录的应用&#xff0c;还有一些微博助手、微信公众号助手、客户端之类的东西&#xff0c;这些是怎么做的呢&#xff0c;背后的原理是什么呢&#xff1f;为什么公众号配置起来那么繁琐呢&#xff1f;什么是 access to…

数据标注工具:功能及评估

从垃圾邮件过滤到个性化的聊天机器人体验&#xff0c;人工智能创新正日益成为我们日常生活中的一部分。大多数还没有部署人工智能的公司&#xff0c;都在考虑如何在其内部和外部流程中采用人工智能和机器学习工具。 在接触人工智能和机器学习前&#xff0c;很多人都不知道&…

空间换时间-五秒出解:从900ms到5ms的幕后优化大揭秘!

作者&#xff1a;麦客奥德彪 探索数据操作的效率是软件开发中的一项重要任务。开发中遇到了Java中的ArrayList和removeAll方法&#xff0c;意外发现当面对大量数据时&#xff0c;其执行效率可能会让人瞠目结舌&#xff0c;高达900毫秒以上&#xff01;然而&#xff0c;通过一系…

景区气象站

景区气象站是通过各种传感器实现气象数据采集&#xff0c;这些传感器就是它的核心部件&#xff0c;拥有抗风、防腐、耐尘的优势&#xff0c;可以在各种复杂气象条件下稳定工作&#xff0c;为工作人员提供高精度的气象数据。搭配气象通讯主机&#xff0c;对传感器采集的数据进行…

2023-08-23 LeetCode每日一题(统计点对的数目)

2023-08-23每日一题 一、题目编号 1782. 统计点对的数目二、题目链接 点击跳转到题目位置 三、题目描述 给你一个无向图&#xff0c;无向图由整数 n &#xff0c;表示图中节点的数目&#xff0c;和 edges 组成&#xff0c;其中 edges[i] [ui, vi] 表示 ui 和 vi 之间有一…

echarts 之 科技感进度条

1.图片展示 2.代码实现 /* ng qty 进度条 */ <template><div class"ngqty-progress"><div class"ngqty-info"><span>X4</span><span>50%</span></div><div :id"barNgQtyProgress index" c…

ubuntu18.04复现yolo v8之CUDA与pytorch版本问题以及多CUDA版本安装及切换

最近在复现yolo v8的程序&#xff0c;特记录一下过程 环境&#xff1a;ubuntu18.04ros melodic 小知识&#xff1a;GPU并行计算能力高于CPU—B站UP主说的 Ubuntu可以安装多个版本的CUDA。如果某个程序的Pyorch需要不同版本的CUDA&#xff0c;不必删除之前的CUDA&#xff0c;…

wazuh环境配置

目录 一、wazuh的安装 1.1官方仓库安装 1.2虚拟机OVA安装 1.2.1 然后执行下面命令 1.2.2 这里还要下载脚本和config.yml配置文件&#xff0c;用来生成证书​编辑 1.2.3然后编辑config.yml文件&#xff0c;将下面的三个IP地址改为一样的 1.2.4运行./wazuh-certs-tool.sh以…

Linux Ubuntu系统安装OpenVPN服务

OpenVPN Ubuntu/Linux 服务端安装 官方文档&#xff1a;https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage 介绍 嘿&#xff0c;今天我们要探讨的话题是OpenVPN——那个让你在互联网上以安全又私密的方式冲浪的神奇工具。 首先&#xff0c;你可能会问&#xff…

机器学习模型的可解释性算法汇总

模型可解释性汇总 现有许多机器学习模型,尤其是深度学习模型,虽然他们的预测效果很好,但不具备很强的解释性,难以解释模型内部是如何作出决策的。这确实会带来很多问题: 信任度问题。如果一个模型无法解释自身,人们很难 100%信任它。这对于一些重要应用场景如医疗诊断来说尤其重…

【安全】原型链污染 - Code-Breaking 2018 Thejs

目录 准备工作 环境搭建 加载项目 复现 代码审计 payload 总结 准备工作 环境搭建 Nodejs BurpSuite 加载项目 项目链接 ① 下载好了cmd切进去 ② 安装这个项目 可以检查一下 ③运行并监听 可以看到已经在3000端口启动了 复现 代码审计 const fs require(fs) cons…

整理mongodb文档:聚合管道

个人博客 整理mongodb文档:聚合管道 个人博客&#xff0c;求关注&#xff0c;电脑版看体验更加&#xff0c;如果不够清晰&#xff0c;请指出来&#xff0c;谢谢 文章概叙 文章主要通过几个常用的聚合表达式来介绍聚合管道的使用&#xff0c;以及从索引的角度来介绍聚合管道…