软件测试之冒烟测试详解

1. 核心

冒烟测试就是完成一个新版本的开发后,对该版本最基本的功能进行测试,保证基本的功能和流程能走通。

如果不通过,则打回开发那边重新开发;

如果通过测试,才会进行下一步的测试(功能测试,集成测试,系统测试等等)。

简化:门槛测试,一个开关而不是一个阶段。

目的:版本验证测试BVT(Build Verification Testing)。

时间:开发转测试,历时半至一个小时,很短。

对象:需求覆盖,主功能路径。

优点:节省测试时间,防止build失败。

缺点:覆盖率还是比较低。

操作:对着需求文档把新功能过一遍;把所有流程功能走一遍;用monkey跑个一两个小时;如果有历史用例的话,可以把用例分级,冒烟级、详细级、回归级等等

用例:冒烟测试基本上不需要什么用例,如果有的话,就用详细用例里,覆盖需求文档级别的用例就可以了

冒烟测试,是版本验证测试,主要确认新的版本是否存在致命性bug,冒烟测试最大的优点在于节约测试的时间成本,减少测试轮数。

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

同时,我也为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接点击文末小卡片免费领取资料文档

软件测试视频教程观看处:

2023完整版阿里大牛7天软件测试零基础速成内部教程,从基础到项目实战学完即入职。

 

2. 定义

维基百科上对冒烟测试的解释:

smoke testing is preliminary testing to reveal simple failures severe enough to, for example, reject a prospective software release. Smoke tests are a subset of [test cases] that cover the most important functionality of a component or system, used to aid assessment if main functions of the software appear to work correctly.[1][2] When used to determine if a computer program should be subjected to further, more fine-grained testing, a smoke test may be called an intake test.[1] Alternately, it is a set of tests run on each new build of a product to verify that the build is testable before the build is released into the hands of the test team.[5] In the DevOps paradigm, use of a BVT step is one hallmark of the continuous integration maturity stage.

冒烟测试这个名称的来历,最初是从电路板测试得来的。因为当电路板做好以后,首先会加电测试,如果板子没有冒烟再进行其它测试,否则就必须重新来过。

而在软件研发中,冒烟测试其实是微软首先提出来的一个概念,和微软一直提倡的每日build(构建版本)有很密切的联系。具体说,冒烟测试就是在每日build(构建版本)建立后,对系统的基本功能进行简单的测试。这种测试强调程序的主要功能进行的验证,而不会对具体功能进行更深入的测试。

冒烟只是这类测试活动更形象化一些的叫法,直接叫做BVT(Build Verification Testing)其实个人觉得更为贴切。

3. WHY

为什么进行冒烟测试?软件测试从业者都知道,bug发现得越晚,修复bug的成本就越高。那成本高在哪里呢?

影响的代码多,开发的修复成本会增加

影响的功能范围较大,测试回归的范围增加

容易引发更多的bug,拉长测试周期,还有质量风险

更多的bug,会增加bug的提交、沟通成本

所以,如何尽早发现bug,把bug置解决是降低成本和控制止风险的有效方式,也是QA的主要职责之一。因此使用冒烟测试的方式,对开发提测的代码进行审查,找出那些非常浅显的bug是很有必要的

4. 特点

(1) 这种测试强调程序的主要功能进行的验证,而不会对具体功能进行更深入的测试。

(2) 冒烟测试是随着版本转测进行的,它应该是一个开关(判断版本能否转测试)而不是一个研发流程中的测试阶段。

(3) 冒烟测试用例一般选取的是测试用例中level 0的用例,保证主功能可用。

(4) 冒烟测试就是在一个新版本出来的时候,将软件的全部功能过一遍,看有没有什么大问题。如果功能可以正常运行,不会影响测试进行,那么这个版本就可以真正开始测试了。如果功能有重大问题或影响测试进行,那么这个版本就是不合格的,不用进行进一步的测试。

5. 实现

开展冒烟测试工作有助于尽早发现软件代码存在的问题,提高软件代码的质量和开发效率。

基于持续集成(Continuous Integration,CI)的冒烟测试采用自动化测试脚本进行测试工作,能够提高测试效率,减少测试人员大量的重复测试验证工作。

冒烟测试的最佳实践还是最好被自动化,在CI中每一个Build都自动的去执行主流程的测试,确保其是一个基本可用的版本。

冒烟测试可以手动执行,也可以自动化执行。稳定的系统适合自动化冒烟测试,集成过程中的系统适合手工冒烟测试,因为冒烟测试内容在动态变化,变化中的自动化脚本维护工作量比较大。

6. 案例选择原则

既然只是个准入门槛那就不会选择全部案例进行测试,根据经验,选择全部案例数的 40%-50% 测试通过率在 80% 左右即可视为冒烟测试通过,允许测试准入,那这部分案例如何选择呢?

遵循以下原则

A选取重要功能案例。

重要功能案例至少应占冒烟案例的 30%,特别关注对软件功能实现具有重要影响的功能模块测试案例,例如:一个事件(业务)的增加、删除、修改、查询,一个统计、计算逻辑的的结果校验等。

B选取主要流程

主、分流程,对于主流程案例原则上应选取,分支流程案例可视其与主流程关联度和影响度从高到低选择部分。如主流程未通过,即使总案例通过率达到通过标准,该软件也应被拒绝准入,待开发人员修正后重新进入冒烟测试环节。例如:一个审批流程,即使增加、删除、修改、查询的功能均通过,但如果整个流程环节中出现阻塞,无法完成完整的审批,则应视为冒烟未通过。

C筛选数据案例

筛选与主流程、重要功能相关度高的数据测试案例,原则是确保数据的埋设满足主流程、重要功能测试条件。例如:想校验一个商品购买的正确性,就离不开商品种类、单位、库存、价格、购买数量等数据相关案例。这仅是一个简单的商品购买,如果是统计分析则更需要大量不同种类、不同时点的数据作为测试基础。

7. 涉及角色

冒烟测试在测试环境搭建与执行过程中,涉及到的人员包括:测试架构师、管理自动化工厂的测试工程师、开发工程师、持续集成工程师、质量工程师。

8. 冒烟测试 V.S. 回归测试

冒烟测试,是版本验证测试,主要确认新的版本是否存在致命性bug,冒烟测试最大的优点在于节约测试的时间成本,减少测试轮数。

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

9.技术帮助

我给大家整理了一套软件测试面试文档和一整套的软件测试资源,我自己也在用这套资料,这套资料也帮助我跳槽到现在这个公司,薪资也涨到了25k,应该对朋友们跳槽面试、升职加薪、摆脱职业困境、提高自己的技术有很大的帮助,希望各位都能前程似锦。【点击文末小卡片免费领取软件测试全套资料】

资料包括:测试理论、Linux基础、MySQL基础、Web测试、接口测试、App测试、管理工具、Python基础、Selenium相关、性能测试、LordRunner相关等。


 

上面是我收集的一些软件测试视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我下方扣扣群,里面有各种软件测试资源和技术讨论

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

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

相关文章

EDA实验----四选一多路选择器设计(QuartusII)

目录 一.实验目的 二.实验仪器设备 三.实验原理: 四.实验要求 五.实验内容及步骤 1.实验内容 2.实验步骤 六.实验报告 七.实验过程 1.创建Verilog文件,写代码 2.波形仿真 …

图扑智慧农业:农林牧数据可视化监控平台

数字农业是一种现代农业方式,它将信息作为农业生产的重要元素,并利用现代信息技术进行农业生产过程的实时可视化、数字化设计和信息化管理。能将信息技术与农业生产的各个环节有机融合,对于改造传统农业和改变农业生产方式具有重要意义。 图…

浙江大学漏洞报送证书

获取来源:edusrc(教育漏洞报告平台) url:主页 | 教育漏洞报告平台 兑换价格:20金币 获取条件:提交浙江大学任意中危或以上级别漏洞

Leetcode刷题详解—— 组合总和

1. 题目链接:39. 组合总和 2. 题目描述: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些…

To create the 45th Olympic logo by using CSS

You are required to create the 45th Olympic logo by using CSS. The logo is composed of five rings and three rectangles with rounded corners. The HTML code has been given. It is not allowed to add, edit, or delete any HTML elements. 私信完整源码 <!DOCT…

docker下的nginx代理转发到tomcat

多次尝试失败原因&#xff0c;修改nginx配置文件以后&#xff0c;需要./nginx.sh -s reload 下&#xff0c;之前一直不转发&#xff0c;好像完全没有跳转的意思&#xff0c;后来查了多篇文档&#xff0c;最简单的方法如下 docker 安装 nginx 和tomcat就不多说了&#xff0c;可…

红黑树-RBTree

目录 1. 红黑树的概念2. 红黑树的性质3. 结点的定义4. 结点的插入5. 整体代码 1. 红黑树的概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式…

Cesium 相机设置

1.setView 直接跳转到目的地 // 设置相机位置 const position Cesium.Cartesian3.fromDegrees(113, 31, 20000); // setView通过定义相机目的地&#xff08;方向&#xff09;,直接跳转到目的地 viewer.camera.setView({ destination: position, // 位置设置 orientation: { //…

基于自然语言处理的结构化数据库问答机器人系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 知识库&#xff0c;就是人们总结出的一些历史知识的集合&#xff0c;存储、索引以后&#xff0c;可以被方便的检索出来供后人查询/学习。QnA Maker是用于建立知识库的工具&#xff0c;使用…

YOLOv8-Seg改进:分割注意力系列篇 | 高效的通道先验卷积注意力(CPCA) | 中科院 2023.6

🚀🚀🚀本文改进:高效的通道先验卷积注意力(CPCA)方法,支持注意力权重在通道和空间维度上的动态分布; 🚀🚀🚀CPCA 小目标分割检测&复杂场景首选,实现涨点 🚀🚀🚀YOLOv8-seg创新专栏:http://t.csdnimg.cn/KLSdv 学姐带你学习YOLOv8,从入门到创新…

C++初阶--类与对象(3)(图解)

文章目录 再谈构造函数初始化列表隐式类型转换explicit关键字 static成员友元类内部类匿名对象拷贝函数时的一些优化 再谈构造函数 在我们之前的构造函数中&#xff0c;编译器会通过构造函数&#xff0c;对对象中各个成员给出一个适合的初始值&#xff0c;但这并不能称之为初始…

AIX5.3安装weblogic10.3

目录 1安装IBM JDK 1.6 2图形化准备 3安装weblogic 准备 4图形化界面安装 1安装IBM JDK 1.6 1.1检查操作系统 # oslevel 5.3.0.0 # bootinfo -y (显示AIX机器硬件是64位) 64 # bootinfo -K (显示AIX系统内核是64位) 64 因此&#xff0c;系统需要安装64位的jdk&#xff0c;…

基于STC12C5A60S2系列1T 8051单片机串口通信信应用

基于STC12C5A60S2系列1T 8051单片机串口通信应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机串口通信介绍STC12C5A60S2系列1T 8051单片机串口通信的结构基于STC12C5A60S2系列1T 8051单片机串口通信的特殊功能寄存器列表基于STC12C5A60S2系列1T 8051单片…

赛氪助力全国大学生数学竞赛山东赛区圆满举办

近日&#xff0c;全国大学生数学竞赛山东赛区比赛有序进行&#xff0c;赛氪已连续6年助力本项赛事蓬勃发展。在中国高等教育学会高校竞赛评估与管理体系研究专家工作组发布的《2022全国普通高校大学生竞赛分析报告》中&#xff0c;本赛事荣登观察目录。 全国大学生数学竞赛旨在…

【C++破局】C++内存管理之new与deleted剖析

​作者主页 &#x1f4da;lovewold少个r博客主页 ⚠️本文重点&#xff1a;c内存管理部分知识点梳理 &#x1f449;【C-C入门系列专栏】&#xff1a;博客文章专栏传送门 &#x1f604;每日一言&#xff1a;花有重开日&#xff0c;人无再少年&#xff01; 目录 C/C的内存分配机…

管理能力测评,如何提升管理能力?

管理能力是综合能力的体现&#xff0c;通常也解读为组织管理能力&#xff0c;如果要再细分的话&#xff0c;可能还包括有沟通能力&#xff0c;协调能力&#xff0c;组织能力&#xff0c;执行力和专业能力等等。不过没有办法说的太细节&#xff0c;因为每个部分铺开了都是一个独…

基于工业智能网关的汽车充电桩安全监测方案

近年来&#xff0c;我国新能源汽车产业得到快速发展&#xff0c;电动车产量和销量都在持续增长&#xff0c;不仅国内市场竞争激烈&#xff0c;而且也远销海外&#xff0c;成为新的经济增长点。但与此同时&#xff0c;充电设施的运营却面临着安全和效率的双重挑战。 当前的充电桩…

开放式耳机井喷阶段,南卡品牌何以成为“头号玩家”?

对于耳机行业而言,过去两年的聚光灯属于开放式耳机这一才闯入赛道的品类。 在消费电子寒冬持续蔓延的时间节点,夺下属于自己的高光时刻实属不易,毕竟无论是过去数年间高歌猛进的智能可穿戴设备行业,还是更垂直的耳机赛道,现阶段均面临承压的局面。 一面是“前辈”们昔日的“爆…

matlab 读写ENVI标准数据

本博客主要讲解如何读、生成ENVI标准格式的数据。主要分为四部分&#xff1a;读取ENVI头文件、读取ENVI数据、写入ENVI头文件、生成ENVI标准数据&#xff0c;最后附加讲解了本人写的生成hdr文本文件代码。此外&#xff0c;文中还具体介绍写代码的一些思路。 注&#xff1a;完整…

【C++入门】构造函数析构函数

目录 前言 1. 类的默认成员函数 2. 构造函数 2.1 什么是构造函数 2.2 构造函数的特性 3. 析构函数 3.1 什么是析构函数 3.2 析构函数的特性 前言 前边我们已经了解了类和对像的基本概念&#xff0c;今天我们将继续深入了解类。类有6个默认成员函数&#xff0c;即使类中什么都…