字节8年经验之谈 —— 冒烟测试、回归测试是什么?

冒烟测试(Smoke Testing)和回归测试(Regression Testing)是软件测试中常用的两种测试类型。
冒烟测试(Smoke Testing):冒烟测试是在软件开发的早期阶段进行的一种表面级功能验证测试。它主要用于确认软件的基本功能是否正常工作,以便在后续的测试阶段中能够进行更详细的测试。冒烟测试通常只验证最核心、最重要的功能,并不深入测试每个细节。
冒烟测试的目标是迅速检查系统是否满足最低程度的可接受性要求,例如是否能够启动、登录、基本功能是否可用。如果冒烟测试未通过,测试团队将不再投入更多时间和资源进行进一步的测试,而是返回给开发人员解决问题。

当一个软件项目进行冒烟测试时,可以考虑以下场景:
假设我们正在开发一个电子商务网站,核心功能包括用户注册、浏览商品、添加到购物车和下订单。在冒烟测试中,我们只需要验证这些基本功能是否正常工作。例如,我们可以进行以下验证:
- 用户注册:尝试注册一个新用户,并确认是否成功创建了用户账号。
- 商品浏览:随机选择几个商品,打开它们的详情页面,确保商品信息能够正确地显示出来。
- 添加到购物车:选择一个商品并将其添加到购物车,然后查看购物车页面是否正确显示所选商品。
- 下订单:从购物车中选择一个或多个商品进行结算,填写必要的信息并提交订单,确保订单是否成功生成。
以上场景只是最基本的冒烟测试,旨在验证系统的主要功能是否能够正常工作。如果这些基本功能都通过了测试,那么我们可以进一步进行更详细的功能和边界测试。
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

回归测试(Regression Testing):回归测试是在软件经过修改、修复或新功能添加后进行的一种测试。它旨在确保修改后的代码与原始代码之间没有引入新的错误,并且之前的功能仍然正常工作。回归测试是为了验证软件在进行修改后是否依然稳定和可靠。
回归测试一般包括重新执行已有的测试用例,通过比较预期结果和实际结果来确定系统是否出现了问题。它可以使用自动化测试工具来提高效率,并确保每次进行回归测试时都能够覆盖到所有关键功能和模块。
回归测试的目标是捕获并修复由于修改引入的新错误,以及确保系统的稳定性和可靠性。通过回归测试,可以防止在软件开发过程中引入新的问题,并验证之前已经修复的问题是否仍然解决了。
回归测试是在软件开发过程中的一种测试方法,它主要用于确保修改或添加新功能后,软件系统的原有功能仍然正常运行,不会因为修改而引入新的错误。

下面是一个回归测试的举例说明:
假设我们有一个电子商务网站,其中有一个购物车功能,用户可以将商品加入购物车并进行结算。在进行某次更新后,我们发现购物车页面出现了问题,无法正确显示已添加的商品。
为了解决这个问题,开发团队对购物车页面进行了修复,并进行了相应的单元测试和集成测试,确保修复后的代码是没有错误的。但是,为了确保修复后的代码没有影响到其他部分的功能,我们需要进行回归测试。
回归测试的步骤包括:
- 定义回归测试的范围:确定哪些功能模块需要进行回归测试,例如购物车功能、用户登录等。
- 创建回归测试用例:编写测试用例来验证每个功能模块的正确性。
- 执行回归测试:运行回归测试用例,检查修复后的购物车页面是否正常显示已添加的商品。
- 分析结果:根据测试结果,判断修复是否成功。如果出现问题,开发团队需要继续修复并重新执行回归测试。
- 更新测试文档:将回归测试的结果和相关信息记录到测试文档中。
通过回归测试,我们可以确保购物车页面的修复不会对其他功能模块产生负面影响,并且购物车功能能够正常工作。这样可以提高软件系统的稳定性和可靠性。
总结起来,冒烟测试主要用于初步验证软件的基本功能是否正常工作,而回归测试用于确认在修改或新增功能后,整个系统的稳定性和兼容性没有受到影响。这两种测试类型在软件开发周期中扮演着不同的角色,旨在提供高质量和稳定的软件产品。
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


相关文章:
字节8年经验之谈 —— 冒烟测试、回归测试是什么?
冒烟测试(Smoke Testing)和回归测试(Regression Testing)是软件测试中常用的两种测试类型。 冒烟测试(Smoke Testing):冒烟测试是在软件开发的早期阶段进行的一种表面级功能验证测试。它主要用…...
FP6102 20V、3A降压开关调节器芯片
FP6102 20V、3A降压开关调节器芯片 一般说明 FP6102是一种用于广泛工作电压应用领域的降压开关调节器。FP6102包括高电流P-MOSFET,用于将输出电压与反馈放大器进行比较的高精度参考(0.5V),内部死时间控制器和用于控制最大占空比和…...
魔众携手ModStart上线全新模块市场,支持模板主题
ModStart模板主题 对于很多新手或者是缺乏经验的开发者来说,快速建站具有一定的难度,总是一件让人头疼的问题。 ModStart为开发者提供了一些模板主题供开发者选购使用,模块市场包含了丰富的模块,后台一键快速安装,让开…...
织梦CMS_V5.7任意用户密码重置漏洞复现
一、漏洞说明 织梦内容管理系统(DeDeCMS)以其简单、实用、开源的特点而著名。作为国内最知名的PHP开源网站管理系统,它在多年的发展中取得了显著进步,无论在功能还是易用性方面都有长足的发展。该系统广泛应用于中小型企业门户网站…...
ESP32通过ali的C LINK4.0接入aliyun阿里云
1,通过官网下载C SDK:进入物联网平台:文档和工具 2,选择SDK支持项目:系统为FreeRTOS,单板系统,勾选动态加密,因为测试我把所有的功能都勾选上了。 3,将下载下来的文件放到espSDK下组…...
Spring中使用了哪些设计模式
1、工厂模式 在各种BeanFactory以及ApplicationContext创建中都用到了。 2、模板模式 在各种BeanFactory以及ApplicationContext实现中也都用到了。 3、代理模式 Spring AOP 利用了AspectJ AOP实现的,AspectJ AOP底层使用了动态代理。 4、策略模式 加载资源文…...
matlab 13折线法数据量化编码与解码
解码 matlab 13折线法数据量化编码请查看>>链接 matlab源码: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %sp=[0,16,32,64,128,256,512,1024]; %每段起始值 %spmin=[1,1,2,4,8,16,32,64]; %11110011--1248 c1=1 正…...
Yolov8小目标检测-添加模块改进-实验记录
简介,本文通过结合了一些先进的算法改进了yolov8小目标检测能力,以下是一些记录。 数据集:足球比赛数据集,里面只有两个类别足球和人。 import os from ultralytics import YOLOmodel YOLO(yolov8n.yaml) # 后缀n就调用n的模型…...
2023国家网络安全宣传周|邮件安全意识培训-钓鱼篇
干货满满 建议收藏 反复阅读 钓鱼邮件 钓鱼邮件是指黑客伪装成同事、合作伙伴、朋友、家人等用户信任的人,通过发送电子邮件的方式,诱使用户回复邮件、点击嵌入邮件正文的恶意链接或者打开邮件附件以植入木马或间谍程序,进而窃取用户敏感数据、个人银行…...
【Leetcode】140.单词拆分II(Hard)
一、题目 1、题目描述 给定一个字符串 s 和一个字符串字典 wordDict ,在字符串 s 中增加空格来构建一个句子,使得句子中所有的单词都在词典中。以任意顺序 返回所有这些可能的句子。 注意:词典中的同一个单词可能在分段中被重复使用多次。 示例1: 输入: s = "cat…...
【数据结构-堆】堆
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…...
Ansible 自动化运维工具部署主从数据库+读写分离
文章目录 Ansible 自动化运维工具部署主从数据库读写分离一、主从复制和读写分离介绍二、准备工作(1)节点规划(2)修改主机名(3)免密(4)配置IP映射(5)安装ansi…...
蓝桥杯官网填空题(星期几)
题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 1949 年的国庆节( 10 月 1 日)是星期六。 今年(2012)的国庆节是星期一。 那么,从建国到现在࿰…...
《向量数据库指南》——向量数据库会是 AI 的“iPhone 时刻”吗?
最近一年,以 ChatGPT、LLaMA 为代表的大语言模型的兴起,将向量数据库的发展推向了新的高度。 向量数据库是一种在机器学习和人工智能领域日益流行的新型数据库,它能够帮助支持基于神经网络而不是关键字的新型搜索引擎。向量数据库不同于传统的关系型数据库,例如 PostgreSQ…...
案例实践丨基于SkyWalking全链路监控的微服务系统性能调优实践篇
1背景 随着开源社区和云计算的快速推进,云原生微服务作为新型应用系统的核心架构,得到了越来越广泛的应用。根据Gartner对微服务的定义:“微服务是范围狭窄、封装紧密、松散耦合、可独立部署且可独立伸缩的应用程序组件。” 微服务之父&…...
C++信息学奥赛1170:计算2的N次方
#include <iostream> #include <string> #include <cstring>using namespace std;int main() {int n;cin >> n; // 输入一个整数nint arr[100];memset(arr, -1, sizeof(arr)); // 将数组arr的元素初始化为-1,sizeof(arr)表示arr数组的字节…...
windos本地文件上传到ubuntu
如何把本地文件放到服务器上 scp /path/to/local/file usernameserver:/path/to/remote/directoryusernameserver 是服务器名和IP...
做软件测试,掌握哪些技术才能算作“测试大佬”?
一、过硬的基础能力 其实所有的测试大佬都是从底层基础开始的,随着时间,经验的积累慢慢变成大佬。要想稳扎稳打在测试行业深耕,成为测试大牛,首当其冲的肯定就是拥有过硬的基础,所有的基础都是根基,后期所有…...
【算法与数据结构】530、LeetCode二叉搜索树的最小绝对差
文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:二叉搜索树的性质是左子树的所有节点键值小于中间节点键值,右子树的所有节点键值大于中间节…...
input输入事件
我要实现input输入框一边输入,一边在控制台输出结果 现有如下代码 <body><input type"text" onchange"myFunction()" /><script>function myFunction(){console.log(999)}</script> </body> 当敲下回车键后才会…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
