浅谈冒烟测试(Smoke Testing)

鉴于之前跟开发提到提测前需要进行冒烟测试,然后几个开发一脸迷茫的问我:什么叫冒烟测试?所以我准备跟大家从以下几个方面简单的分享一下什么是冒烟测试。

一、软件测试的分类

二、冒烟测试(Smoke Testing)的概念

Smoke Testing 的概念最早源于制造业,用于测试管道。测试时,用鼓风机往管道里灌烟,看管壁外面是否有烟冒出来,以便检验管道是否有缝隙。这一测试显然比较初级,更深层一点的测试至少要进行渗油测试、带压测试等等。Smoke Testing 只是一种初级、直观的测试。

软件测试中的 Smoke Testing 实际上用的是其引申含义,而且是引申了不止一道的含义,在这里,Smoke Testing 其实是个俚语就跟很多其他源于美国软件行业的名词一样。

Smoke Testing 在软件测试中的意义,应该说取的是其原始概念中的目的而非手段。通过 Smoke Testing,在软件代码正式编译并交付测试之前,先尽量消除其表面的错误,减少后期测试的负担。因此可以说,Smoke Testing 是预测试。

冒烟测试是指对提交测试的软件在进行详细深入的测试之前而进行的预测试,这种预测试的主要目的是暴露导致软件需重新发布的基本功能失效等严重问题。冒烟测试可以由开发人员执行,也可以由测试人员来执行。即,在版本编译后正式提交测试之前由开发人员执行;或开发发布版本后,测试人员在接受这个版本作为正式版本进一步测试前执行。

微软提出在审查了变更的代码后,冒烟测试是确认修复的缺陷及功能变更是否有效的最经济有效的方法。冒烟测试能手动执行,也可以在版本编译后自动化执行,它是对基本功能的确认,非深入测试,但要覆盖到面,即所有的更改点都要进行确认。采用自动化执行是,可以结合每日构件后进行自动化的每日smoking test,如果测试通过,则把更改后的代码自动合并到主干代码仓库中,作为正式提交测试的版本。

三、冒烟测试可以实施的步骤

对于smoking test在软件开发过程中的应用,下面提出一种可实施的步骤:1. 根据软件的变更,包括新需求的实现、bug修复,设计出更改满足预期的功能级checklist。

2. 准备好测试环境。如:软件的运行环境是嵌入式产品,如手机,数码相机,医疗仪器等,需准备好用户使用的真实运行环境。如果是windows平台运行环境,请准备干净的操作系统。

3.执行checklist,确认基本功能有效,足以支持更进一步的详细、全面测试。

四、冒烟测试的优缺点

冒烟测试就是在每日build建立后,对系统的 基本功能进行简单的测试。

冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。

SmokeTest优点是节省测试时间,防止build失败。缺点是覆盖率还是比较低。

五、冒烟测试(Smoke Testing)与回归测试(Regression testing)的区别

冒烟测试就是新版本送测后的测试,以决定是否要继续测试乃至发布。回归测试就是解决一个问题后的测试,方向是判断新的代码是否引入了新问题。冒烟测试一般用于每日构建(Nightly build),构建服务器首先从CVS服务器上,下载最新的源代码,然后编译单元测试,运行单元测试通过后,编译可执行文件,可执行文件若可运行,并能执行最基本的功能,则认为通过了冒烟测试。而回归测试,是软件维护阶段对软件修改后进行的测试。两种测试用在软件生命的不同周期。

根据对冒烟测试和回归测试的理解,总结了二者的一些区别,如下:

冒烟测试

回归测试

使用阶段

单元测试之后

软件维护阶段

测试侧重点

新版本送测后,对基本功能的粗略测试

解决一个问题后,判断是否引入新的问题

消耗时间

节省时间

消耗时间长

覆盖率

执行人

提测前是开发;版本上线前是测试

测试

浅谈冒烟测试(Smoke Testing)的更多相关文章

测试员浅谈App测试的重点

近年来,手机app也时持续大热.基于安卓和ios的手机app,更是受到众多投资者的青睐.而手机软件测试行业也是如此. 现在听的最多的是web测试和App测试,但实际上两者本质上没有什么区别,性质都一样 ...

浅谈session测试

Session 是用于保持状态的基于 Web 服务器的方法,在 Web 服务器上保持用户的状态信息供在任何时间从任何页访问.Session 允许通过将对象存储在 Web 服务器的内存中在整个用户会话过 ...

浅谈cookie测试

Cookie 提供了一种在Web 应用程序中存储用户特定信息的方法,例如存储用户的上次 访问时间等信息.假如不进行cookie存储一个网站的用户行为,那么可能会造成以下问题:用户进行购买几件商品转到结 ...

大牛浅谈Web测试基于实际测试的功能测试点总结

今天跟大家讲解的是web测试在实际测试的功能测试点的一些小总结,希望对你们有帮助,有说的不好的地方,还请多多指教! 一.页面链接检查:测试每一个链接是否都有对应的页面,并且页面之前可以正确切换. ...

冒烟测试、α测试、Beta测试、性能测试

“冒烟测试”(也可称为showcase)这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程. 冒烟测试(smoke test)在测试中发现问题,找到了一个Bug,然后开发人员会 ...

Smoke Testing(冒烟测试)

Smoke Testing 的概念最早源于制造业,用于测试管道.测试时,用鼓风机往管道里灌烟,看管壁外面是否有烟冒出来,以便检验管道是否有缝隙.这一测试显然比较初级,更深层一点的测试至少要进行渗油测试 ...

冒烟测试(smoke testing)

冒烟测试(smoke testing),就是开发人员在个人版本的软件上执行目前的冒烟测试项目,确定新的程序代码不出故障.冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常 ...

浅谈测试rhel7新功能时的感受及遇到的问题【转载】

半夜起来看世界杯,没啥激情,但是又怕错误意大利和英格兰的比赛,就看了rhel7 相关新功能的介绍. rhel7的下载地址: https://access.redhat.com/site/downloa ...

[原创]浅谈移动互联网App兼容性测试

[原创]浅谈移动互联网App兼容性测试 今天要谈的话题,估计各位测试都有感受,移动互联网App兼容性测试,我们到底测试覆盖如何去挑选机型?具体移动App兼容性测试如何开展?是不是应引进像testin这 ...

随机推荐

VLC编译

http://blog.csdn.net/hdh4638/article/details/7602321 1 下载代码 ki.videolan.org/VLC_Source_code git colo ...

小松之LINUX 驱动学习笔记(一)

本篇主要是讲解驱动开发的基础知识以及一些环境配置方面的问题. 下面是一个hello world的简单的模块代码,很简单./*********************** 模块的简单例子* author ...

redis 参数配置总结

redis.conf 配置项说明如下 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式运行时, ...

LaTeX 加粗

本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50997822 LaTeX中文本加粗的方 ...

nodejs-配置vs code的插件

在windows上安装好npm后,再在终端里使用npm安装express,再安装express-generator 进入express的目录, 在终端中执行 npm install 启动expres ...

C#中的Attribute定义及用法

1.Attribute定义 公共语言运行时允许添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型.字段.方法和属性等.Attributes和Microsoft .N ...

Codeforces Round #136 (Div. 1) B. Little Elephant and Array

B. Little Elephant and Array time limit per test 4 seconds memory limit per test 256 megabytes input ...

HDU 5372 Segment Game

/** 多校联合2015-muti7-1004 为什么有这么多加密货币?|别克威朗胎压不足标志,威朗怎么查看胎压

友情链接:
Copyright © 2022 剑霸云城武侠游戏活动站 All Rights Reserved.