冒烟测试(Smoking Tesing)

冒烟测试这一术语源自硬件行业。对一个硬件或硬件组件进行更改或修复后,直接给设备加电。如果没有冒烟,则该组件就通过了测试。

在软件中,“冒烟测试”这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程。在检查了代码后,冒烟测试是确定和修复软件缺陷的最经济有效的方法。冒烟测试设计用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性。

冒烟测试据说是微软起的名字,可以理解为该种测试耗时短,仅用一袋烟功夫足够了。冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作,其执行者是版本编译人员。

在进行冒烟测试是必须与编写代码的开发人员协同工作,因为冒烟测试特别关注更改过的代码。因此,在进行测试时,必须了解一下内容:

1、代码中进行了什么更改。若要理解该更改,必须理解使用的技术;开发人员可以提供相关说明。

2、更改对功能有何影响。

3、更改对各组件的依存关系有何影响。

另外,在进行冒烟测试之前,应该侧重于代码中所有更改的代码进行检查,这样能够确保通过代码检查或风险评估标识的主要的关键区域或薄弱区域已通过验证,因为如果失败,测试就无法继续。

冒烟测试,它和回归测试的性质一样——只是一个测试活动,并不是一个测试阶段。也就是说,冒烟测试贯穿于软件开发的任何一个阶段。

在实际的软件测试工作中,Smoke Testing 在软件研发的不同阶段有所不同。大体可以分为三类:

  1. 形成集成测试版本以前——Smoke Testing 是随着代码的不断开发必做的一项工作,目的是验证各个单元能够成功执行,并保证测试版本能够顺利集成。
  2. 形成集成测试版本以后——在代码 check in 到 daily build 之前执行 Smoke Testing,以保证新的或者更改过的代码不破坏集成版本的完成性和稳定性。
  3. 后期预测试 Bug 的修正——后期 daily build 相对稳定时,针对每个 Bug 所做的 Bug Fix 都要先在“干净的” build 中进行 Smoke Testing,测试通过的 Bug Fix 才能 check in 到新的 daily build 中。
时间: 2024-09-30 15:31:38

冒烟测试(Smoking Tesing)的相关文章

冒烟测试

冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作. 在一般软件公司,软件在编写过程中,内部需要编译多个版本(Builds),但是只有有限的几个版本需要执行正式测试(根据项目开发计划) ,这些需要执行的中间测试版本,在刚刚编译出来后,软件编译人员需要进行基本性能确认测试,例如是否可以正确安装/卸载,主要功能是否实现, 是否存在严重死机或数据严重丢失等Bug.如果通过了该测试,则可以根据正式测试文档进行正式测试.否则,就需要重新编译版本,再

如何通过冒烟测试前置来把控提测质量?

一 你是否碰到过开发提测速度很快,导致项目排队,结果介入测试时,第一条用例都跑不通的情况? 你是否碰到过因为开发提测质量差,导致反复修改,反复提测,反复重复验证的情况? 你是否碰到过因为开发提测质量差,导致一个修改影响了一大票老功能,从而让项目质量岌岌可危的情况? 你是否碰到过因为开发提测质量差,导致项目后期通过压缩测试时间来保证项目进度的情况? 你是否碰到过开发拍胸脯承诺这次肯定没问题,结果测试数据稍一变通就跑不通过的情况? 不管你有没有碰到过,我反正是全都碰到过. 有人说,这开发太水了,咋不

冒烟测试和回归测试的区别

区别: 冒烟测试就是完成一个新版本的开发后,对该版本最基本的功能进行测试,保证基本的功能和流程能走通.如果不通过,则打回开发那边重新开发:如果通过测试,才会进行下一步的测试(功能测试,集成测试,系统测试等等).冒烟测试优点是节省测试时间,防止build失败.缺点是覆盖率还是比较低. 回归测试我有两层理解,一是就是当你修复一个bug后,把之前的测试用例再次应用到修复后的版本上进行测试.二是当一个新版本开发好后,而且冒烟测试通过,此时可以先用上一个版本的测试用例对新版本进行测试,看是否有bug. 拓

软件测试系列——冒烟测试(Smoke Test,ST)

1. 核心 冒烟测试就是完成一个新版本的开发后,对该版本最基本的功能进行测试,保证基本的功能和流程能走通. 如果不通过,则打回开发那边重新开发: 如果通过测试,才会进行下一步的测试(功能测试,集成测试,系统测试等等). 简化:门槛测试,一个开关而不是一个阶段. 目的:版本验证测试BVT(Build Verification Testing). 时间:开发转测试,历时半至一个小时,很短. 对象:需求覆盖,主功能路径. 优点:节省测试时间,防止build失败. 缺点:覆盖率还是比较低. 操作:对着需

游戏测试经历的流程及发版本注意的问题(或许有遗漏)

一.测试流程: 1.测试人员需要参与需求会议,了解需求,如有必要,提出疑问点,产品修改正 2.需求确定后,编辑测试用例或者测试功能点 3.开发提交完毕后,执行测试用例(要求开发出电脑版,节约前期打包,安装包的时间) 4.发现bug,提交bug到禅道,并通知相关人员 5.开发组修正bug,禅道指派给测试人员,表明已修复 6.对已修正的bug,进行回归测试 7.修正完毕的bug在禅道上置为关闭 8.待电脑版功能验证完毕后,进行手机包测试 9.整体测试完毕,可以发布包 补充: 1.中途有修改需求,也需

1.2软件生命周期&测试流程

软件的生命周期 可行性分析-需求分析-软件设计-软件编码-软件测试-软件维护 1.可行性分析 主要确定软件开发的目的和可行性(PM) 2.需求分析 对软件的功能进行详细的分析(PM),输出需求规格说明书(原型图) 3.软件设计(DEV) 把需求分析得到的结果转换为软件结构和数据结构,形成系统架构 概要设计:搭建架构.模块功能.接口连接和数据传输 详细设计:模块深入分析,对各模块组合进行分析,伪代码   包含数据库设计说明 4.软件编码(DEV) 可运行的程序代码 5.软件测试 5.1.单元测试(

软件质量保证与测试(作业六)

第13章 软件测试 思考:软件测试的方法和软件性能测试 1.按测试设计的方法分类:(1)黑盒测试:只关心输入和输出的结果(2)白盒测试:去研究里面的源代码和程序结构 2.按是否运行程序分为:(1)静态测试:是指不实际运行被测软件,而只是静态地检查程序代码和可能存在的错误的过程.静态测试包括:对于代码测试,主要是测试代码是否符合相应的标准和规范.对于界面测试,主要测试软件的实际界面与需求中的说明是否相符.对于文档测试,主要测试用户手册和需求说明是否真正符合用户的实际需求.(2)动态测试,是指运行实

安卓测试

视频地址:E:\baiduyunpan\黑马28期Android全套视频无加密完整版\2.Android基础\2.Android基础\2.Android基础\day02\day02\video\5.使用另外一个工程进行单元测试.avi E:\baiduyunpan\黑马28期Android全套视频无加密完整版\2.Android基础\2.Android基础\2.Android基础\day02\day02\video\4.android下Junit.avi 冒烟测试: adb shell monk

全程软件测试之测试需求分析与计划

全程软件测试之测试需求分析与计划 在项目启动之后,就要着手软件项目的计划,包括软件测试计划.软件测试计划是整个开发计划的组成部分,同时,它又依赖于软件组织过程.项目的总体计划.质量文化和方针.在测试计划活动中,首先要确认测试目标.范围和需求,其中"测试需求分析"是关键任务,然后在测试需求基础上制定测试策略,并对测试任务.时间.资源.成本和风险等进行估算或评估. 无论何时进行估算,我们都是在预测未来,并会接受某种程度的不确定性.软件项目计划的目标是提供一个框架,不断收集信息,对不确定性进