软件测试分类详解

news2024/10/6 1:40:36

一图看清软件测试分类
在这里插入图片描述

一、按测试技术分(是否查看代码)

**1. 黑盒测试**:软件功能是否正常使用【功能的测试】
**2. 白盒测试**:代码逻辑是否正确【结构的测试】
**3. 灰盒测试**:介于两者之间的测试,也称为接口测试

二、被测对象是否运行程序分:

1、动态测试

● 称动态分析,是指需要实际运行被测软件,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能等来发现软件的缺陷。
● 动态测试实际上也是通常意义上的测试,需要搭建测试环境,制订测试计划,设计测试用例,执行测试用例,编写测试报告等

2、静态测试

● 主要是采用走查、同行评审、会审等方法来查找错误,可以在项目开始之初就可以开始介入。
● 静态测试中的差错和分析功能是其他方法所不能替代的,静态测试能尽早发现文档中的问题,进而找出需求分析、软件设计中存在的问题,避免开发后期发现问题而需要返工,减少开发风险。
● 静态测试还能有效地检查代码的编写质量,为后续的维护打下坚实基础。

三、按测试手段分类

**1. 手工测试**:测试人员手动的对被测对象进行验证
**2. 自动化测试:**自己写测试脚本或通过第三方工具对被测对象进行测试

四、按测试阶段

1. 单元测试

概念:(Unit Testing)是指对软件中的最小可测试单元进行检查和验证。组件测试 也称:单元测试
● 什么是桩模块、驱动模块?
○ 桩模块∶被被测模块调用的模块。
○ 驱动模块∶调用被测模块的模块。
● 单元测试的技术∶黑盒白盒技术,但是白盒居多,黑盒居少,一般先做黑盒再做白盒。
● 单元测试重点∶功能性测试,健壮性(逆向测试∶无效值),性能。
● 单元测试前提条件∶完成编译的测试对象,测试环境,开发工具,测试对象的规范说明书

2. 集成测试

(Integration Testing)又称:组装测试;组件间的接口与交互测试。
● 概念:是在单元测试的基础上,按照设计要求,把单元测试通过的单元组成系统或子系统而进行的有序的测试,目的是检验不同程序单元或部件之间的接口关系是否符合设计的要求,能否正常运行。
● 接口和系统内不同部分的相互作用(交互)。
● 测试条件:是完成集成的被测系统,测试台,有关组件间交互的文档。
● 测试技术:包括白盒技术、黑盒技术,白盒居多,黑盒居少,对比单元测试,白盒下降,一般先做黑盒再做白盒。
● 集成测试测试策略:
○ 自顶向下集成
○ 自底向上集成

3. 系统测试

概念:(System Testing)为了验证和确认系统是否达到设计目标,对集成的硬件和软件系统进行的测试
● 对整个系统能不能满足用户需求的测试,目的检查软件是否满足需求。
● 是在实际环境下,与所在操作系统的其他部分(包括硬件、外设、网络、系统软件和数据库等)组合在一起进行的测试。
○ 系统测试的前期:主要看系统功能是否满足需求,被称为功能测试
○ 系统测试的后期:主要测试系统允许是否满足要求,以及在不同硬件和软件环境中的兼容性
■ 这部分主要有性能测试、兼容性测试、界面测试等。
● 系统测试能够发现哪些缺陷?会遗留哪些缺陷?
○ 发现缺陷∶非功能性缺陷、涉及整个系统的问题。
○ 遗留缺陷∶对用户的需求的错误理解、没有实现或者没有完全实现用户的隐性需求

4. 验收测试

概念:(Acceptance Testing)是软件产品发布之前所进行的软件测试活动。技术测试的最后一个阶段,也称为:交付测试。
目的:是确保软件准备就绪,并且可以让用户将其用于执行软件的既定功能和任务。
一般由用户/客户进行的确认是否可以接受一个系统的验证性测试。验收测试根据用户需求,业务流程进行的正式测试以确保系统符合所有验收的准则。
验收测试 分为:正式测试和非正式测试。
正式测试:是一项管理严格的过程,是系统测试的延续。
验收测试一般由用户派出代表和开发方的测试小组一起进行测试验收,也可能由用户单独验收,总之方式不限,最终的目的还是用户满意并接收。
非正式测:包括Alpha测试、Beta测试
a. Alpha测试:一般是在开发者所提供的场所进行测试,主要对软件最初版本进行测试,一般不对外发布,由开发人员、测试人员或用户共同参与。
b. Beta测试:是对上线之后的软件版本进行测试,完全脱离开发者的环境,完全交给用户测试。

五、按测试包含的内容:

**1. 功能测试**:各个功能模块是否正常
**2. 界面测试**:被测系统界面是否和原型图一致
**3. 安全测试**:对系统进行安全测试(账号多次输入错误,是否允许继续输)
**4. 兼容性测试**:在不同的环境下被测系统是否正常
**5. 易用性测试**:各个功能是否操作方便,是否容易理解、容易上手
**6. 性能测试**:某时间用户数量剧增,软件是否正常【负载测试、压力测试】
**7. 安装测试**

六、其他测试

1、 冒烟测试:

测试整个软件的主体业务功能是否可以正常的运行(在进行正式测试前(开发人员或测试主管)对主要功能核心功能进行的测试)

2、回归测试:

将某个缺陷提交给开发人员后由开发人员进行修复,修复完成后需测试人员再次进行的测试

3、探索性测试:

根据自己的项目经验而进行的随意测试

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

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

相关文章

第12章_集合框架

第12章_集合框架 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 本章专题与脉络 1. 集合框架概述 1.1 生活中的容器 1.2 数组的特点与弊端 一方面,面向对象语言对事物的体现都是以对…

iOS 项目嵌入Flutter 运行

一 创建Flutter 模块命令行flutter create --template module my_flutter创建完成后,该模块和普通的Flutter项目一直,可以通过Android Studio或VSCode打开、开发、运行;和之前项目不同的iOS和Android项目是一个隐藏文件,并且我们…

黑马点评缓存练习题shop-type缓存,附带详细解析

黑马点评缓存练习题shop-type缓存 依照shop详情的缓存 Controller代码 public class ShopTypeController {Resourceprivate IShopTypeService typeService;GetMapping("list")public Result queryTypeList() {return typeService.queryList();} }创建service接口方…

SentenceTransformers介绍

SentenceTransformer使用范例 1使用SentenceTransformers获得句子向量嵌入 from sentence_transformers import SentenceTransformer#模型下载 model SentenceTransformer(paraphrase-MiniLM-L6-v2)# 编码句子 sentences [Python is an interpreted high-level general-pur…

JavaScript【五】JavaScript中的对象

文章目录🌟前言🌟对象:🌟声明对象:🌟隐式创建对象:🌟实例化Object:🌟实例化自定义构造函数:(会重复占用内存)🌟new运算符具体做了什么…

自动内存管理之【常量池】

首先上一段代码,一起思考,打印的结果,基于jdk1.8。 StringBuilder sbnew StringBuilder("我爱我媳妇儿");String s sb.toString();System.out.println(s.intern()s); //falsesb.append(",她也很爱我!&…

C++——入门讲解

作者&#xff1a;几冬雪来 时间&#xff1a;2023年4月16日 内容&#xff1a;C入门讲解 目录 前言&#xff1a; 1.什么是C&#xff1a; 2.C关键字&#xff1a; 3.命名冲突&#xff1a; 4.域和::操作符&#xff1a; 5.std内容讲解&#xff1a; 6.<<符&#xff1a…

STM32F4_独立看门狗详解(IWDG)

目录 1. 独立看门狗是什么 2. 独立看门狗 IWDG简介 3. 独立看门狗的主要特性 4. 独立看门狗功能 4.1 独立看门狗功能框图 4.2 IWDG寄存器 4.2.1 关键字寄存器 IWDG_KR 4.2.2 预分频器寄存器 IWDG_PR 4.2.3 重载寄存器 IWDG_RLR 4.2.4 状态寄存器 IWDG_SR 5. 库函数…

OpenCV实战之人脸美颜美型(六)——磨皮

1.需求分析 有个词叫做“肤若凝脂”,直译为皮肤像凝固的油脂,形容皮肤洁白且光润,这是对美女的一种通用评价。实际生活中我们的皮肤多少会有一些毛孔、斑点等表现,在观感上与上述的“光润感”相反,因此磨皮也成为美颜算法中的一项基础且重要的功能。让皮肤变得更加光润,就…

interface陷阱

A1 interface Duck Typing: 当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子&#xff0c;那么这只鸟就可以被称为鸭子 目的: 在 Go 中&#xff0c;Interface&#xff08;接口&#xff09;只是一组方法集合。描述事物的外部行为而非内部结构。 通过接口实现多态的概…

微服务架构——SpringCloud快速入门

认识微服务 随着互联网行业的发展&#xff0c;对服务的要求也越来越高&#xff0c;服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢&#xff1f; 单体架构 将业务的所有功能集中在一个项目中开发&#xff0c;打成一个包部署。 优点&#…

如何保证缓存和数据库的数据一致性

文章目录1、错误的解决方案1.1、 先更新数据库&#xff0c;再删除缓存1.2、 先更新数据库&#xff0c;再更新缓存1.3、 先删除缓存&#xff0c;再更新数据库1.4、 先更新缓存&#xff0c;再更新数据库2、正确的解决方案2.1、使用 CAS2.2、使用分布式锁2.3、使用消息队列异步更新…

字符串匹配—KMP算法

字符串匹配的应用非常广泛&#xff0c;例如在搜索引擎中&#xff0c;我们通过键入一些关键字就可以得到相关的搜索结果&#xff0c;搜索引擎在这个过程中就使用字符串匹配算法&#xff0c;它通过在资源中匹配关键字&#xff0c;最后给出符合条件的搜索结果。并且我们在使用计算…

SpringBoot解决用户重复提交订单(方式三:通过Redis实现-升级版)

文章目录前言1、方案实践1.1、引入Redis依赖1.2、添加Redis环境配置1.3、编写服务验证逻辑&#xff0c;通过 aop 代理方式实现1.4、在相关的业务接口上&#xff0c;增加SubmitLimit注解即可2、小结前言 在上一篇文章中&#xff0c;我们详细的介绍了随着下单流量逐渐上升&#…

【PyTorch】第二节:梯度的求解

作者&#x1f575;️‍♂️&#xff1a;让机器理解语言か 专栏&#x1f387;&#xff1a;PyTorch 描述&#x1f3a8;&#xff1a;PyTorch 是一个基于 Torch 的 Python 开源机器学习库。 寄语&#x1f493;&#xff1a;&#x1f43e;没有白走的路&#xff0c;每一步都算数&#…

python提取多个pdf特定页,并合并为新pdf文件

文章目录1&#xff0c;代码结构2&#xff0c;代码详解2.1&#xff0c;将范围字符串转成list2.2&#xff0c;获取pdf文件特定页2.3&#xff0c;将pdf页list合并为pdf文件并保存2.4&#xff0c;遍历所有要合并的文件&#xff0c;进行合并2.5&#xff0c;给出要合并的pdf文件及范围…

大模型学习

大模型学习计算机视觉方向ViTImage Token EmbeddingMulti-head Self-attentionStable Diffusionstable diffusion支持功能stable diffusion整体结构ClipText如何训练图像信息创建器&#xff08;Image information creator&#xff09;自动编码解码器&#xff08;降噪绘制图形&a…

One Note插件——gem for onenote的安装

文章目录一、前言二、报错原因三、解决方法一、前言 平时写笔记都是用的OneNote来记录&#xff0c;但是Onenote没有 Markdown编辑器 ,写起来很不方便&#xff0c;搜索了解后知道gem for OneNote这个插件&#xff0c;于是下载安装了&#xff0c;但是插件每次都要手动勾选&#…

什么是小程序SDK?安全吗?

前面分享了很多小程序相关的内容&#xff0c;常常提到小程序SDK的概念&#xff0c;但似乎有很多小伙伴不是很理解&#xff0c;今天就来跟大家聊聊小程序SDK。 什么是小程序SDK&#xff1f; 小程序SDK是一种开发工具包&#xff0c;用于开发和构建小程序应用程序。它提供了一系列…

【thingsboard+chirpstack 下行数据通信测试】

这里写目录标题 7. 节点未收到 tb 平台下发数据原因分析7.1 收到的size为07.2 节点收不到数据7.3 可以收到数据的一组例子7.4 节点没收到数据原因分析本文主要描述 tb 下发的数据,节点接收不到原因分析。 主要是数据格式以及解析脚本的对应关系 7. 节点未收到 tb 平台下发数据…