2024全网超全的测试类型详解,再也不怕面试答不出来了!

在软件测试工作过程中或者在面试过程中经常会被问到一些看起来简单但是总是有些回答不上的问题,比如你说说“黑盒测试和白盒测试的区别?”,“你们公司做灰度测试么?", ”α测试和β测试有什么不一样?“,“说说 AB test 的目的什么?”...

诸如此类的一些问题,总有些同学回答不上来,今天给大家总结一下所有的测试类型以及其使用场景。

测试类型详解

黑盒测试

软件对于测试员来说就是一个黑色的盒子,测试不知道里面的代码实现,只能看到对软件的输入和以及软件的输出结果。

比如你陪女朋友去逛街,你在外面等着,看着女朋友拿着你的银行卡进去,然后看着她拎着满满的商品出来,你对商场里的具体情况以及钱具体如何花掉的并不知情。商场对于你来说就是一个黑色的盒子,你不需要知道里面具体情况,只需要知道你女朋友进去然后出来的结果是你的工资卡空了。

白盒测试

沿用我们上面的例子,白盒测试就相当于你陪着女朋友走进去商场里,路线和商品你看得一清二楚,其中逛得过程可能遇到的各种突发问题你也可以知道来龙去脉,虽然结果也是你的这个月工资没了,但是心里敞亮,知道具体怎么没的。

所以,白盒测试就是软件对于你来说是个白色透明的盒子,里面的结构可以一清二楚的展示出来,而你也需要对里面的实现逻辑有一定了解才能进行白盒测试。

灰盒测试

基于黑白之间,不需要具体看每一行代码,但是又需要知道具体实现的逻辑和实现。一般我们的接口测试采用的就是这种测试方法。

功能测试

就是对软件的基本的业务流程和功能的测试,保证软件可以实现用户的基本需求。这是一个最基础要保证的测试。

界面测试

也叫 UI 测试,其实就是看产品的外形好不好看?设计是否合理?排版是否清晰美观?

那关于界面美观的测试标准是什么呢?先问一个问题,这个界面设计是谁定的?没错,是产品设计出来的原型图和 UI 设计师设计出来的 UI 切图。所以,我们测试需要确保软件界面跟最终的效果图一致;其次,也可以站在用户角度上,体验这种界面风格,如果觉得不合适,也可以提 bug。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

兼容性测试

一般分为软件和软件之间兼容,软件和系统软件之间的兼容,以及软件不同版本之间的兼容。

比如 B/S 架构的应用,就需要考虑浏览器的兼容,包括浏览器的类型(Chrome,Firefox,IE,360,QQ 等),浏览器的版本之间的兼容;

比如 APP 应用需要考虑手机型号的兼容,手机系统版本的兼容,还有不同屏幕大小的兼容等;

比如 PC 端应用,需要考虑操作系统版本(win7,win10,32bit,64bit 等);

易用性测试

主要测试软件测试是否符合用户使用习惯,以及是否让用户体验便捷和简单。

比如我们一般 windows 的软件关闭按钮都在右上方,如设计出来的软件在左上方就是不符合用户的使用习惯的。当然这个的易用性测试主观性比较强,所以我们需要站在大部分用户的角度去思考,而且也可以多收集不同用户的反馈去做调整和修改。

性能测试

大家在生活中应该有类似的体验,比如双十一或者双十二的集中某个时间付尾款的时候,就经常会出现页面很卡或者打不开的情况,这其实就是一种性能测试的范畴里的现象。

我们在进行功能测试的时候,使用的数据和流量就是普通的流量,所以我们需要确保在极限条件下,数量多、时间长,依然正常。这就是性能测试。这个初级测试人员做的比较少,而且需要借助一些工具或者代码来做。

安全测试

对应用软件的安全性进行测试,比如登录账号的防护,连接的安全性,扫描系统存在的一些漏洞和安全隐患,这个就需要测试人员对产品有充分的了解,也需要具备丰富的基础知识体系和各种工具、代码的使用能力。所以,一般也是建议从事了测试行业 3 年左右之后再做安全测试。

回归测试

回归测试一般就是指 Bug 被修正之后,或软件功能、环境发生变化后,以及代码被修改或者设计重构之后,需要带原来测试过的功能进行重新测试,确保修改部分不会影响其他的模块。注意这个不是 bug 验证或者修改的功能本身的测试,而且测试其余没有被修改的功能模块会不会受影响。

冒烟测试

这个测试概念来自于硬件测试,电路板的测试人员为了验证一个电路板是否好用,就先给电路板通电,如果一通电就电路板就冒烟了,说明电路板被烧坏了,那么后续详细的测试就不需要就不需要再做了,直接打回给开发重新做一个新的就好了。

这个概念引用到软件测试里,就是针对每一个新的软件版本,会先进行基本主要功能的覆盖测试,确定这个软件版本是可测的,再进行后续的详细测试;如果版本的基本功能都不能用, 那么就直接打回开发重做就好了,不用继续后面的正式的测试。

探索性测试/自由测试

探索性测试是没有详细的需求,也没有具体的方法,更没有测试用例作为依据,全靠测试人员的经验和知识储备去发散测试。

所以,这种测试对测试人员有很高的要求,需要丰富的经验积累和自我知识沉淀,所以在公司里基本不会作为一种单独的测试方法进行覆盖,可以作为一种补充。

单元测试

一般是在开发阶段,开发自己做完了一个小模块,自己做的单元测试。所以单元测试需要开发人员对代码进行测试,很多公司都是由开发人员自己进行,也是软件测试第一个阶段要做的一种的测试。

集成测试

如果说刚刚第一阶段做的单元测试是针对单个单元进行的测试,那么集成测试就是进行了简单的拼接之后的测试。测试单元之间的交互和传输。我们常说的接口测试就是一种集成测试。

系统测试

系统测试就是整个软件已经完整可见了,所有的单元都组合在一起,成为一个完整的软件了,可以看到界面并可以操作。这种测试测试测试人员首要保证的一种测试,因为这是最贴近用户场景的一种测试。

系统测试的结束也就意味着测试人员的工作结束了。

验收测试

验收测试就是最后来验证软件是否达到最开始的需求的一种测试,所以这个测试一般不是测试做的。具体由谁来做可以分情况说:

  1. 项目如果是由甲方爸爸(客户)驱动的,那会有客户那边做验收测试,看是否满足了他们的需求

  2. 如果不是客户驱动的,由公司内部产品和老板自主研发的,那么验收测试就是由产品或者老板自己做的。

不管验收由谁来做,如果验收没有通过,会打回到测试部门,重新进行系统测试。

α测试

这个测试不是所有的公司有,一般是大型的公司大型项目才会有,而且是在系统测试之后,产品基本没有什么 bug 之后做的。α测试不是测试人员自己做的,是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试。它还是在公司里内部进行,尽量模拟用户使用的场景进行的测试。

一般开发者和测试人员可以在测试现场,可以随时记录下错误和使用中出现的问题及时修复,但是测试不由测试人员进行。

β测试

β测试也一般是较为大型项目才会有的,跟α测试的区别就是不在测试环境下测试了,而是到真实用户使用环境下进行,或者在客户现场做的测试。一般开发者通常不在测试现场,Beta 测试不能由程序员或测试员完成。

在软件临近发布的最后阶段,公司会找一些合作方,把产品部署进去 beta 几个月之后,再正式上线,避免严重问题。或者直接发布一个 bata 版本召集用户进行公测,让用户帮忙发现问题。

灰度测试

系统测试通过后,将测试版本发布到线上环境,替换部分的线上服务器进行预测试。在灰度测试结束后,如果没有问题,线上版本实现会统一。所以灰度测试,本质上是上线前的测试,收集用户的反馈。

AB 测试

AB 测试跟灰度测试差不多,也是指的是系统测试通过并发布后,同一个软件功能针对不同的用户进行分组:A 组用户和 B 组用户,不同组的用户会看到不同的实现方式,目的也是收集每个用户对新版本的反馈。如果没有问题,再实现统一。

动态测试

测试对象在运行的测试,比如微信在使用,就是一种动态测试。我们做的大部分的软件测试都是动态测试。

静态测试

程序没有在运行,比如代码走查,或者软件文档测试,就都是静态测试。

手工测试

就是测试人员手动的点点点测试。

自动化测试

使用工具或者代码的方式替换手工测试,释放人力的一种测试方法。

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:自动化测试老司机 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

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

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

相关文章

MVC模式

Model-View-Controller : 模型-视图-控制器模式,用于应用程序的分层开发。 Model(模型):代表一个存取数据的对象。也可以带有逻辑,在数据变化时更新控制器。 View(视图):代表模型包含的数据的可视化。 Controller(控制器)&#xf…

C/C++ - 编程语法特性

目录 标准控制台框架 输入输出对象 命名空间 标准控制台框架 头文件 ​#include <iostream>​​ 告诉编译器我们要使用iostream库尖括号中的名字指定了某个头文件(header) 入口函数 ​int main(void)​​ 返回 ​return 0;​​ 输出语句 ​std::cout << "H…

代码随想录 Leetcode111. 二叉树的最小深度

题目&#xff1a; 代码(首刷自解 2024年1月24日&#xff09;&#xff1a; class Solution { public:int minDepth(TreeNode* root) {if(root nullptr) return 0;queue<TreeNode*> que;TreeNode* cur root;que.push(cur);int size 0;int depth 0;while (!que.empty()…

力扣hot100 螺旋矩阵 模拟

Problem: 54. 螺旋矩阵 文章目录 思路&#x1f496; 收缩边界法 思路 &#x1f468;‍&#x1f3eb; 参考题解 &#x1f496; 收缩边界法 ⏰ 时间复杂度: O ( n m ) O(nm) O(nm) &#x1f30e; 空间复杂度: O ( 1 ) O(1) O(1) class Solution {public List<Integer&g…

【C++干货基地】C++入门篇:输入输出流 | 缺省函数 | 函数重载(文末送书)

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 哈喽各位铁汁们好啊&#xff0c;我是博主鸽芷咕《C干货基地》是由我的襄阳家乡零食基地有感而发&#xff0c;不知道各位的…

【pyqt6】用pyqt做一个点菜小程序

用pyqt做一个点菜小程序 前言1.pyqt62. 功能介绍3.程序实现 前言 在本文中&#xff0c;我们将使用 PyQt6&#xff08;Python的GUI库&#xff09;创建一个简单的点菜小程序。该程序允许用户从菜单中选择菜品&#xff0c;将其添加到订单中&#xff0c;并通过点击“下单”按钮查看…

Pandas ------ 向 Excel 文件中写入含有合并表头的数据

Pandas ------ 向 Excel 文件中写入含有合并表头的数据 推荐阅读引言正文 推荐阅读 Pandas ------ 向 Excel 文件中写入含有 multi-index 和 Multi-column 表头的数据 引言 这里给大家介绍一下如何向 Excel 中写入带有合并表头的数据。 正文 import pandas as pddf1 pd.D…

嵌入式操作系统分类和任务管理

目录 嵌入式操作系统分类 1、按软件结构分类 任务管理 1、多道程序 2、进程 3、线程 4、任务 嵌入式操作系统分类 1、按软件结构分类 按照软件的体系结构&#xff0c;可以把嵌入式操作系统分为三大类:单体结构、分层结构和微内核结构。它们之间的差别主要表现在两个方面…

DL专栏—笔记目录

前言&#xff1a; &#x1f60a;&#x1f60a;&#x1f60a;欢迎来到本博客&#x1f60a;&#x1f60a;&#x1f60a; &#x1f31f;&#x1f31f;&#x1f31f; 本专栏主要是记录工作中、学习中关于AI(Deep Learning)相关知识并分享。 &#x1f60a;&#x1f60a;&#x1f…

电脑自动开机播放PPT的解决方案

客户有个需求&#xff0c;要求与LED大屏幕连接的电脑定时自动播放PPT。为了安全电脑在不播放的时段&#xff0c;必须关机。 目录 1、使用“时控插座”并进行设置 2、戴尔电脑BIOS设置&#xff08;上电开机&#xff09; 3、设置Windows自动登录 4、任务计划设置 5、启动Au…

一个响指,代码生成!华为云CodeArts Snap正式公测

月初&#xff0c;华为云CodeArts Snap正式开启公测&#xff0c;这是一款基于华为云研发大模型的智能化编程助手&#xff0c;旨在为开发者提供高效且智能的编程体验&#xff0c;提升研发人员的单兵作战能力。 如今&#xff0c;生成式AI爆发式增长&#xff0c;大模型商用节奏加快…

Java面试题SPI

Java面试题SPI 文章目录 Java面试题SPISPI何谓 SPI?SPI 和 API 有什么区别&#xff1f;SPI 的优缺点&#xff1f; 文章来自Java Guide 用于学习如有侵权&#xff0c;立即删除 SPI 关于 SPI 的详细解读&#xff0c;请看这篇文章 Java SPI 机制详解 。 何谓 SPI? SPI 即 Ser…

Excel:将截面数据转换成面板数据

原始截面数据如下&#xff1a; 步骤&#xff1a;数据——自表格/区域 点击确定&#xff0c;出现下图&#xff1a; 然后&#xff0c;在这个界面选择&#xff1a;“转换”——“逆透视列”下选择逆透视其他列。会出现面板数据形式。 然后&#xff0c;点击“主页”——关闭并上载即…

金融OCR领域实习日志(一)——OCR技术从0到1全面调研

一、OCR基础 任务要求&#xff1a; 工作原理 OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;是指电子设备&#xff08;例如扫描仪或数码相&#xff09;检查纸上打印的字符&#xff0c;经过检测暗、亮的模式肯定其形状&#xff0c;而后用…

2024年,这个铁饭碗一定不要错过!

说到铁饭碗这个话题&#xff0c;你会想到什么职业&#xff1f;有的人可能会想到公务员、老师、医生&#xff0c;有的人会想到企业家。 其实每个人对于铁饭碗的定义都不同&#xff0c;为什么父辈的人觉得只要当了公职人员就是可以吃一辈子的铁饭碗&#xff1f;因为他们生活中接触…

婴儿营养之道:新生儿补充蛋白质的关键

引言&#xff1a; 蛋白质是新生儿生长发育所必需的重要营养物质&#xff0c;对于肌肉、组织和免疫系统的发展至关重要。在新生儿期间&#xff0c;适量的蛋白质摄入有助于建立健康的身体基础&#xff0c;但在补充时需谨慎选择和控制。本文将深入探讨蛋白质的作用、补充时机&…

容器安全工具

容器安全工具是用于保护和监控容器环境安全的工具。它们提供了一系列功能,包括容器镜像的漏洞扫描、运行时监控、事件日志记录、访问控制、运行权限管理等。以下是一些常见的容器安全工具: 1. Docker Bench Security:用于检查Docker环境配置的安全性,提供一些最佳实践建议…

Hadoop基本概论

目录 一、大数据概论 1.大数据的概念 2.大数据的特点 3.大数据应用场景 二、Hadoop概述 1.Hadoop定义 2.Hadoop发展历史 3.Hadoop发行版本 4.Hadoop优势 5.Hadoop1.x/2.x/3.x 6.HDFS架构 7.Yarn架构 8.MapReduce架构 9.大数据技术生态体系 一、大数据概论 1.大数…

GitLab入门指南:上传与下载操作一网打尽

GitLab简介&#xff1a; GitLab是一个基于Git的开源仓库管理系统&#xff0c;提供了一个Web界面的Git存储库管理器&#xff0c;并集成了多种开发工具的功能&#xff0c;如代码审查、问题跟踪、持续集成和持续部署等。GitLab可以在本地服务器上部署&#xff0c;也可以使用其提供…

单核QPS近6000S,陌陌基于OceanBase的持久化缓存探索与实践

挚文集团于 2011 年 8 月推出了陌陌&#xff0c;这款立足地理位置服务的开放式移动视频社交应用在中国社交平台领域内独树一帜。陌陌和探探作为陌生人社交领域的主流应用&#xff0c;涵盖了多种核心业务模块&#xff0c;包括直播服务、附近动态功能、即时通讯&#xff08;IM&am…