测试|测试分类

测试|测试分类

文章目录

  • 测试|测试分类
    • 1.按照测试对象分类(部分掌握)
    • 2.是否查看代码:黑盒、白盒灰盒测试
    • 3.按开发阶段分:单元、集成、系统及验收测试
    • 4.按实施组织分:α、β、第三方测试
    • 5.按是否运行代码:静态、动态测试
    • 6.按是否手工划分(简单了解)
    • 7.按跨地域分:国际化、本地测试(略)

1.按照测试对象分类(部分掌握)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-puVebyRg-1690710244707)(F:\typora插图\image-20230730162359988.png)]

2.是否查看代码:黑盒、白盒灰盒测试

黑盒测试/数据驱动测试:就是在完全不考虑程序逻辑和内部结构的情况下,检查系统功能是否满足规范需求。只注重软件功能。

黑盒测试的优缺点:优点不关注软件内部实现 ,需要从用户角度出发设计测试用例 ,测试用例是基于软件需求开发文档。缺点:代码覆盖率比较低。

白盒测试:一般用来分析程序的内部结构,针对程序的逻辑结构设计测试用例进行测试。关注代码逻辑,对业务功能有一定漏洞。

主要有六种测试方法:语句测试、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

白盒测试优缺点:优点代码覆盖率高,缺点业务功能覆盖率较低。

灰盒测试:介于白盒和黑盒测试之间的测试,多用于集成测试阶段。

灰盒测试特点:既关注输入输出的正确性,同时也关注程序内部的情况。

3.按开发阶段分:单元、集成、系统及验收测试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BvLUh2n7-1690710244708)(F:\typora插图\image-20230730164251132.png)]

顺序:单元测试–>集成测试–>冒烟测试–>系统测试–>回归测试–>验收/交付测试(系统测试之后)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kDGQcrYG-1690710244708)(F:\typora插图\image-20230730171629131.png)]

冒烟测试的执行:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RQlQkKM1-1690710244709)(F:\typora插图\image-20230730170115732.png)]

单元测试:

单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。又称为模块测试
测试阶段:编码后或者编码前(TDD)
测试对象:最小模块
测试人员:白盒测试工程师或开发工程师(测试人员+后端开发人员)
测试依据:代码和注释+详细设计文档
测试方法:白盒测试(语句覆盖、判定覆盖、条件覆盖…(6))
测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

Java如何进行单元测试?

利用Junit等框架

集成测试:

集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。
测试阶段:一般单元测试之后进行
测试对象:模块间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试的模块+概要设计文档
测试方法:黑盒测试与白盒测试相结合
测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响

系统测试:

将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。
测试阶段:集成测试通过之后
测试对象:整个系统(软、硬件)

测试人员:黑盒测试工程师
测试依据:需求规格说明文档
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等

回归测试:回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误 。

解决回归测试的重复性:自动化

冒烟测试:

对象:每一个新编译的需要正式测试的软件版本

测试阶段:系统测试之前完成

目的:确认软件主要功能和核心流程正常,在正式进行系统测试之前执行冒烟测试一般在**开发人员开发(也需要首先进行冒烟测试)**完毕后提交给测试人员来进行测试
时,先进行冒烟测试,保证基本功能正常,不阻碍后续的测试。
如果冒烟测试通过,则测试人员开始进行正式的系统测试,如果不通过,则测试人员可以让开发人员重新修复代码直到冒烟测试通过,再开始进行系统测试。
回归测试和冒烟测试都属于系统测试

验收测试:

测试人员:一般交给最终用户/需求方(产品)

测试方法:黑盒测试

阶段:一般是在系统测试之后

4.按实施组织分:α、β、第三方测试

α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。 α测试不能由程序员或测试员完成。

Beta测试是一种验收测试。Beta测试由软件的最终用户们在一个或多个场所进行 .

第三方测试是介于开发方和用户间的组织的测试。

α测试与β测试区别:

  1. 环境上,α测试是公司内部进行测试,β测试环境不确定;
  2. 测试人员类型上,α测试是公司内部人员,β测试人员是用户
  3. 测试人员数量上,α测试人员数量较少,β测试人员较多
  4. 阶段上,α测试是在β测试之前测试
  5. 测试周期上,α测试周期较短,β测试周期较长

5.按是否运行代码:静态、动态测试

区别:静态测试就是不实际运行被测软件而只是静态检查程序代码,界面或文档中可能存在的错误过程;动态测试指的是实际运行被测程序输入响应的测试数据,检查实际输出结果和预期结果是否相符的过程。

大部分软件测试都属于动态测试

6.按是否手工划分(简单了解)

手工测试

自动化测试:

  • 功能测试自动化,性能测试自动化,安全测试自动化
  • 按照测试对象分,可以分为接口测试,UI测试。接口测试的ROI(产出投入比)要比UI测试高。

步骤:

7.按跨地域分:国际化、本地测试(略)

本地化测试

国际化测试

国际化:货币格式,语言,页面布局,时间,日期,流行的设备等

什么是软件国际化?
是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,使创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。

测试

国际化测试

国际化:货币格式,语言,页面布局,时间,日期,流行的设备等

什么是软件国际化?
是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,使创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。

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

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

相关文章

Mysql sql优化

目录 目的 目标 explain 优化 避免使用select * 用union all代替union 小表驱动大表(in与exists) 批量操作 多使用limit in中值太多 不使用%前缀模糊查询 不在where子句中进行表达式操作 避免隐式类型转换 联合索引遵守最左前缀法则 inne…

【Spring Boot 源码学习】走近 AutoConfigurationImportSelector

AutoConfigurationImportSelector 源码解析 引言主要内容1. ImportSelector 接口2. DeferredImportSelector 接口3. AutoConfigurationImportSelector 功能概述 总结 引言 上篇博文我们了解了 EnableAutoConfiguration 注解,其中真正实现自动配置功能的核心实现者 …

细讲TCP三次握手四次挥手(二)

TCP/IP 协议族 应用层 应用层( application-layer )的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。 对于不同的网络应用需要不同的应用层协议…

C语言字串函数、内存函数介绍以及模拟实现

目录 前言 本期内容介绍: 一、字符串函数 strlen介绍 strlen 模拟实现(三种方式) 方法一:计数器法 方法二:递归法(不创建临时变量法) 方法三:指针-指针 strcpy介绍 strcpy模…

速度快\颜色准\功能多,移动端HEIF图片解码实现方案

HEIF图片压缩格式是一种使用HEVC编码技术存储图像数据的方式,在同等质量下相比JPEG可节省50%以上空间,无论是节约包体还是节省带宽,使用HEIF格式都能有所收益。 基于百度智能云音视频处理MCP的自研BD265编码器,百度智能云对象存储…

合并两个有序数组——力扣88

文章目录 题目描述法一 双指针法二 逆向双指针 题目描述 法一 双指针 使用双指针方法&#xff0c;将两个数组看作队列&#xff0c;每次从两个数组头部取出比较小的数字放到结果中。 void merge(vector<int>&nums1, int m,vector<int>&nums2, int n){int p1…

C++ ——STL容器【list】模拟实现

代码仓库&#xff1a; list模拟实现 list源码 数据结构——双向链表 文章目录 &#x1f347;1. 节点结构体&#x1f348;2. list成员&#x1f349;3. 迭代器模板&#x1f34a;4. 迭代器&#x1f34b;5. 插入删除操作&#x1f34c;5.1 insert & erase&#x1f34c;5.2 push_…

15 文本编辑器vim

15.1 建立文件命令 如果file.txt就是修改这个文件&#xff0c;如果不存在就是新建一个文件。 vim file.txt 使用vim建完文件后&#xff0c;会自动进入文件中。 15.2 切换模式 底部要是显示插入&#xff0c;是编辑模式&#xff1b; 按esc&#xff0c;底部要是空白的&#xff0…

微服务契约测试框架Pact-Python实战

Pact是一个契约测试框架&#xff0c;有多种语言实现&#xff0c;本文以基于pact-python探究契约测试到底是什么&#xff1f;以及如何实现 官网&#xff1a;自述文件 |契约文档 (pact.io) 契约测试步骤 1、为消费者写一个单元测试&#xff0c;让它通过&#xff0c;并生成契约…

OS-08-事件驱动:C10M是如何实现的?

08-事件驱动&#xff1a;C10M是如何实现的&#xff1f; 你好&#xff0c;我是陶辉。 上一讲介绍了广播与组播这种一对多通讯方式&#xff0c;从这一讲开始&#xff0c;我们回到主流的一对一通讯方式。 早些年我们谈到高并发&#xff0c;总是会提到C10K&#xff0c;这是指服务…

MIT 6.830数据库系统 -- lab five

MIT 6.830数据库系统 -- lab five 项目拉取引言搜索练习1 BTreeFile.findLeafPage() 插入练习2 Spliting Page 删除练习3 页再分配练习4 合并页 事务小结 项目拉取 原项目使用ant进行项目构建&#xff0c;我已经更改为Maven构建&#xff0c;大家直接拉取我改好后的项目即可: …

Zookeeper入门介绍

Zookeeper在我本次系统的学习之前是已经开始使用了&#xff0c;但是并不理解Zookeeper到底是什么&#xff0c;有什么作用&#xff0c;你或许跟我有一样的疑惑&#xff0c;本专栏将会解决这些疑惑。 目录 Zookeeper介绍&#xff1a; zookeeper特点&#xff1a; 数据结构&#x…

《MySQL 实战 45 讲》课程学习笔记(二)

日志系统&#xff1a;一条 SQL 更新语句是如何执行的&#xff1f; 与查询流程不一样的是&#xff0c;更新流程还涉及两个重要的日志模块&#xff1a;redo log&#xff08;重做日志&#xff09;和 binlog&#xff08;归档日志&#xff09;。 重要的日志模块&#xff1a;redo l…

【VSCode部署模型】导出TensorFlow2.X训练好的模型信息

参考tensorflow2.0 C加载python训练保存的pb模型 经过模型训练及保存&#xff0c;我们得到“OptimalModelDataSet2”文件夹&#xff0c;模型的保存方法(.h5或.pb文件)&#xff0c;参考【Visual Studio Code】c/c部署tensorflow训练的模型 其中“OptimalModelDataSet2”文件夹保…

Doris安装部署入门

文章目录 一 Doris 介绍1.1 使用场景1.1.2 Doris架构 二 Doris单机部署2.1 下载 Doris2.2 配置 Doris2.2.1 配置 FE2.2.2 启动 FE2.2.3 查看 FE 运行状态2.2.4 连接 FE2.2.5 停止 FE 节点2.2.6 配置 BE2.2.7 启动 BE2.2.8 添加 BE 节点到集群2.2.9 查看 BE 运行状态2.2.10 停止…

GitHub仓库如何使用

核心&#xff1a;GitHub仓库如何使用 目录 1.创建仓库&#xff1a; 2.克隆仓库到本地&#xff1a; 3.添加、提交和推送更改&#xff1a; 4.分支管理&#xff1a; 5.拉取请求&#xff08;Pull Requests&#xff09;&#xff1a; 6.合并代码&#xff1a; 7.其他功能&…

网络知识整理

网络知识整理 网络拓扑网关默认网关 数据传输拓扑结构层面协议层面 网络拓扑 网关 连接两个不同的网络的设备都可以叫网关设备&#xff0c;网关的作用就是实现两个网络之间进行通讯与控制。 网关设备可以是交换机(三层及以上才能跨网络) 、路由器、启用了路由协议的服务器、代…

k8s Webhook 使用java springboot实现webhook 学习总结

k8s Webhook 使用java springboot实现webhook 学习总结 大纲 基础概念准入控制器&#xff08;Admission Controllers&#xff09;ValidatingWebhookConfiguration 与 MutatingWebhookConfiguration准入检查&#xff08;AdmissionReview&#xff09;使用Springboot实现k8s-Web…

Linux 学习记录57(ARM篇)

Linux 学习记录57(ARM篇) 本文目录 Linux 学习记录57(ARM篇)一、外部中断1. 概念2. 流程图框 二、相关寄存器1. GIC CPU Interface (GICC)2. GIC distributor (GICD)3. EXTI registers 三、EXTI 寄存器1. 概述2. 内部框图3. 寄存器功能描述4. EXTI选择框图5. EXTI_EXTICR1 &…

【kubernetes系列】flannel之vxlan模式原理

概述 在Kubernetes中要保证容器之间网络互通&#xff0c;网络至关重要。而Kubernetes本身并没有自己实现容器网络&#xff0c;而是而是借助CNI标准&#xff0c;通过插件化的方式自由接入进来。在容器网络接入进来需要满足如下基本原则&#xff1a; Pod无论运行在任何节点都可…