测试|测试分类
测试|测试分类
文章目录
- 测试|测试分类
- 1.按照测试对象分类(部分掌握)
- 2.是否查看代码:黑盒、白盒灰盒测试
- 3.按开发阶段分:单元、集成、系统及验收测试
- 4.按实施组织分:α、β、第三方测试
- 5.按是否运行代码:静态、动态测试
- 6.按是否手工划分
- 7.按跨地域分:国际化、本地测试(略)
1.按照测试对象分类(部分掌握)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-puVebyRg-1690710244707)(F:\typora插图\image-20230730162359988.png)]](https://img-blog.csdnimg.cn/10436f28a2ae4c5c8d6f6a15af0e9cb3.png)
2.是否查看代码:黑盒、白盒灰盒测试
黑盒测试/数据驱动测试:就是在完全不考虑程序逻辑和内部结构的情况下,检查系统功能是否满足规范需求。只注重软件功能。
黑盒测试的优缺点:优点不关注软件内部实现 ,需要从用户角度出发设计测试用例 ,测试用例是基于软件需求开发文档。缺点:代码覆盖率比较低。
白盒测试:一般用来分析程序的内部结构,针对程序的逻辑结构设计测试用例进行测试。关注代码逻辑,对业务功能有一定漏洞。
主要有六种测试方法:语句测试、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
白盒测试优缺点:优点代码覆盖率高,缺点业务功能覆盖率较低。
灰盒测试:介于白盒和黑盒测试之间的测试,多用于集成测试阶段。
灰盒测试特点:既关注输入输出的正确性,同时也关注程序内部的情况。
3.按开发阶段分:单元、集成、系统及验收测试
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BvLUh2n7-1690710244708)(F:\typora插图\image-20230730164251132.png)]](https://img-blog.csdnimg.cn/d99473f485b14079b43448d8ebd5a70e.png)
顺序:单元测试–>集成测试–>冒烟测试–>系统测试–>回归测试–>验收/交付测试(系统测试之后)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kDGQcrYG-1690710244708)(F:\typora插图\image-20230730171629131.png)]](https://img-blog.csdnimg.cn/44f4674f93bb408ea36f00fbaceb2306.png)
冒烟测试的执行:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RQlQkKM1-1690710244709)(F:\typora插图\image-20230730170115732.png)]](https://img-blog.csdnimg.cn/66bf88f302fe46feac7ebc3d7b4ae301.png)
单元测试:
单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。又称为模块测试
测试阶段:编码后或者编码前(TDD)
测试对象:最小模块
测试人员:白盒测试工程师或开发工程师(测试人员+后端开发人员)
测试依据:代码和注释+详细设计文档
测试方法:白盒测试(语句覆盖、判定覆盖、条件覆盖…(6))
测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试Java如何进行单元测试?
利用Junit等框架
集成测试:
集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。
测试阶段:一般单元测试之后进行
测试对象:模块间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试的模块+概要设计文档
测试方法:黑盒测试与白盒测试相结合
测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响
系统测试:
将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。
测试阶段:集成测试通过之后
测试对象:整个系统(软、硬件)测试人员:黑盒测试工程师
测试依据:需求规格说明文档
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等
回归测试:回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误 。
解决回归测试的重复性:自动化
冒烟测试:
对象:每一个新编译的需要正式测试的软件版本
测试阶段:系统测试之前完成
目的:确认软件主要功能和核心流程正常,在正式进行系统测试之前执行冒烟测试一般在**开发人员开发(也需要首先进行冒烟测试)**完毕后提交给测试人员来进行测试
时,先进行冒烟测试,保证基本功能正常,不阻碍后续的测试。
如果冒烟测试通过,则测试人员开始进行正式的系统测试,如果不通过,则测试人员可以让开发人员重新修复代码直到冒烟测试通过,再开始进行系统测试。
回归测试和冒烟测试都属于系统测试
验收测试:
测试人员:一般交给最终用户/需求方(产品)
测试方法:黑盒测试
阶段:一般是在系统测试之后
4.按实施组织分:α、β、第三方测试
α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。 α测试不能由程序员或测试员完成。
Beta测试是一种验收测试。Beta测试由软件的最终用户们在一个或多个场所进行 .
第三方测试是介于开发方和用户间的组织的测试。
α测试与β测试区别:
- 环境上,α测试是公司内部进行测试,β测试环境不确定;
- 测试人员类型上,α测试是公司内部人员,β测试人员是用户
- 测试人员数量上,α测试人员数量较少,β测试人员较多
- 阶段上,α测试是在β测试之前测试
- 测试周期上,α测试周期较短,β测试周期较长
5.按是否运行代码:静态、动态测试
区别:静态测试就是不实际运行被测软件而只是静态检查程序代码,界面或文档中可能存在的错误过程;动态测试指的是实际运行被测程序输入响应的测试数据,检查实际输出结果和预期结果是否相符的过程。
大部分软件测试都属于动态测试
6.按是否手工划分
手工测试:人一个一个输入用例,观察结果与机器测试相对应,比较原始但是必须进行。
自动化测试:把人测试转化为机器执行的一个过程
Q1:自动化能否完全替代手动测试?
A1:不能,只能完成一部分
Q2:手工测试和自动化测试哪个好?
A2:自动化测试可以执行手工测试相当困难或根本做不到的测试,自动化测试具有一致性和可重复性, 自动化脚本完全可复用,自动化测试使软件更有信任度,自动化测试适合做兼容性测试,自动化测试使回归测试更方便、可靠;手工发现的缺陷远远比自动化测试得多,自动化测试对测试人员的技术要求较高,自动化测试成本投入高、风险大,自动化测试是死的,不具有情感,自动化测试完全不可能取代手工测试。
7.按跨地域分:国际化、本地测试(略)
本地化测试
国际化测试
国际化:货币格式,语言,页面布局,时间,日期,流行的设备等
什么是软件国际化?
是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,使创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。
测试
国际化测试
国际化:货币格式,语言,页面布局,时间,日期,流行的设备等
什么是软件国际化?
是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,使创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。
相关文章:
测试|测试分类
测试|测试分类 文章目录 测试|测试分类1.按照测试对象分类(部分掌握)2.是否查看代码:黑盒、白盒灰盒测试3.按开发阶段分:单元、集成、系统及验收测试4.按实施组织分:α、β、第三方测试5.按是否运行代码:静…...
矩阵中的路径(JS)
矩阵中的路径 题目 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是…...
Linux时间体系与LinuxPTP
Linux时间体系 Linux 需要提供“知道当前时间、计算时间长度、定时提醒”这三种功能。 其中知道当前时间和计算时间长度在某种程度上可以互相转换。即以UNIX Epoch计时开始可以知道当前时间。 一般硬件可以提供下列的硬件时钟: RTC 【真实时钟】 对于PC而言&…...
最优除法(力扣)数学 JAVA
给定一正整数数组 nums,nums 中的相邻整数将进行浮点除法。例如, [2,3,4] -> 2 / 3 / 4 。 例如,nums [2,3,4],我们将求表达式的值 “2/3/4”。 但是,你可以在任意位置添加任意数目的括号,来改变算数的…...
Git代码管理
目录: git环境配置 git工作流程git常用命令gitlab实战gitlog分析与检索分支管理策略git合并与冲突 1.git环境配置 Git 简介: Git 是目前世界上最先进的分布式版本控制系统。Git 优点: 适合分布式开发,强调个体…...
使用vscode进行远程开发服务器配置
1.下载vscode 2.给vscode 安装python 和 remote ssh插件 remote—SSH扩展允许您使用任何具有SSH服务器的远程机器作为您的开发环境。 3.安装remote-SSH插件之后,vscode左侧出现电脑图标,即为远程服务,按图依次点击,进行服务器配置…...
北斗gps卫星授时服务器(NTP)应用于防火墙场景
北斗gps卫星授时服务器(NTP)应用于防火墙场景 北斗gps卫星授时服务器(NTP)应用于防火墙场景 作为网络建设中不可或缺的两方面,在保证网络安全稳定以及时间同步精确性方面,防火墙和NTP服务器都极为重要。而防…...
Quartz中Misfire机制源码级解析
文章目录 前文案例展示Misfire机制1. 启动过程补偿2. 定时任务补偿3. 查询待触发列表时间区间补偿 前文 Misfire是啥意义的?使用翻译软件结果是"失火"。一个定时软件,还来失火?其实在Java里面,fire的含义更应该是触发&…...
每日一题——重建二叉树
重建二叉树 题目描述 给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。 提示: 1.vin.length pre.length 2.pre 和…...
Python - json与字典dict
Python中的JSON和字典都是数据序列化的格式,它们都可以将数据转换为字符串以便于存储或传输。虽然它们有一些相似之处,但也有很多不同之处。 字典 字典是Python中的一种数据类型,它是一个键值对的集合。每个键对应一个值,可以通…...
性能测试必备监控技能linux篇
前言 如果性能测试的目标服务器是linux系统,在如何使用linux自带的命令来实现性能测试过程的监控分析呢? 对于日常性能测试来讲,在linux下或是类Unix系统,我们必须掌握以下常用的指标查看命令。 ps pstree top free vmstat …...
【如何训练一个中英翻译模型】LSTM机器翻译模型部署之ncnn(python)(五)
系列文章 【如何训练一个中英翻译模型】LSTM机器翻译seq2seq字符编码(一) 【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存(二) 【如何训练一个中英翻译模型】LSTM机器翻译模型部署(三) 【如何训练…...
C++ 面向对象三大特征
文章目录 一、封装二、继承三、多态 一、封装 目的:隐藏实现细节;模块化 特性: 1) 访问权限: public 所有 protected 子类 private 自己(友元类也可以访问) 2)属性 3)方…...
【Github】自动监测 SSL 证书过期的轻量级监控方案 - Domain Admin
在现代的企业网络中,网站安全和可靠性是至关重要的。一个不注意的SSL证书过期可能导致网站出现问题,给公司业务带来严重的影响。针对这个问题,手动检测每个域名和机器的证书状态需要花费大量的时间和精力。为了解决这个问题,我想向…...
Echarts常见图表展示
一、折线图 1.1 堆叠折线图 const option {title: {text: 折线图,},tooltip: {trigger: axis},legend: {data: [张三, 李四, 王五],bottom: 10,},grid: {left: 3%,right: 4%,bottom: 10%,containLabel: true},xAxis: {type: category,boundaryGap: false,data: [Mon, Tue, We…...
PySpark机器学习实战案例
目录 PySpark机器学习库 分布式机器学习原理 PySpark架构设计 PySpark项目实战...
微软操作系统中,windows server 系列和windows 的区别
Windows Server和Windows Desktop(即我们常说的Windows系统)是Microsoft公司的两种操作系统产品,它们都基于Windows NT内核。两者在设计目标、功能和价格等方面存在显著的区别。 设计目标与功能 Windows Desktop系统主要针对个人用户和企业的…...
本地部署 Stable Diffusion XL 1.0 Gradio Demo WebUI
StableDiffusion XL 1.0 Gradio Demo WebUI 0. 先展示几张 StableDiffusion XL 生成的图片1. 什么是 Stable Diffusion XL Gradio Demo WebUI2. Github 地址3. 安装 Miniconda34. 创建虚拟环境5. 安装 Stable Diffusion XL Gradio Demo WebUI6. 启动 Stable Diffusion XL Gradi…...
模型法在初中物理中的实例与应用
摘要:模型法是初中物理解题的重要方法,它的优点有方便快捷,易于理解等。文章通过列举模型法在初中物理解题时应用的例子,与模型法在学习与生活中的实际应用,说明了模型法可用性高,易于理解,能让…...
el-table 设置行背景颜色 鼠标移入高亮问题处理
一、 设置行背景颜色 1. 需求描述 后端返回表格数据,有特定行数需要用颜色标识。类似于以下需求: 2. 解决方式 方式区别:row-class-name“tableRowClassName”已返回类名的形式设置样式,代码整洁,但是会鼠标高亮,…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
