51Testing软件测试论坛

标题: 浅谈冒烟测试与随机测试 [打印本页]

作者: songfun    时间: 2004-6-30 14:23
标题: 浅谈冒烟测试与随机测试
软件测试的种类何其多也,每种测试都有其要达到的目的和实现手段。本文将介绍两种不太普遍的测试类型-冒烟测试与随机测试。

冒烟测试

冒烟测试(smoke testing),据说是微软起的名字。在《微软项目求生法则》一书第14章“构建过程”关于冒烟测试,就是开发人员在个人版本的软件上执行目前的冒烟测试项目,确定新的程序代码不出故障。

冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。也有人认为是形象地类比新电路板功基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。

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

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

新版本的基本功能确认检查的测试,有的公司成为版本健康检查(Build Sanity Check)。对于编译的本地化软件新版本,除了进行上面提到的各种测试检查,还要检查是否在新的本地化版本中正确包含了全部应该本地化的文件。可以通过采用文件和目录结构比较工具,首先比较源语言版本和本地化版本的文件和目录中的文件数目、文件名称和文件日期等,这个过程称为版本镜像检查(Build Image Check)。其次,分别安装源语言版本和本地化版本,比较安装后的文件和目录结构中的文件数目、文件名称和文件日期等,这个过程称为版本安装检查(Build Installing Check)。

随机测试

在软件测试中除了根据测试样例和测试说明书进行测试外,还需要进行随机测试(Ad-hoc testing),主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行样例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。

随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试样例(TestCase)没有覆盖到的部分。另外,对于软件更新和新增加的功能要重点测试。重点对一些特殊点情况点、特殊的使用环境、并发性、进行检查。尤其对以前测试发现的重大Bug,进行再次测试,可以结合回归测试(Regressive testing)一起进行。

理论上,每一个被测软件版本都需要执行随机测试,尤其对于最后的将要发布的版本更要重视随机测试。随机测试最好由具有丰富测试经验的熟悉被测软件的测试人员进行测试。对于被测试的软件越熟悉,执行随机测试越容易。只有不断的积累测试经验,包括具体的测试执行和对缺陷跟踪记录的分析,不断总结,才能提高。

[ Last edited by songfun on 2004-6-30 at 14:25 ]
作者: greenhouse    时间: 2004-8-15 13:36
多谢指导,我还是第一次听说冒烟测试
作者: njenelly    时间: 2004-11-27 16:14
以前以为随机测试,只是在测试刚开始或者完成之后进行的完备性测试步骤。。谢谢。。。
作者: saxifrage    时间: 2004-12-3 14:48
标题: 第一次听说冒烟测试
[quote]Originally posted by [i]greenhouse[/i] at 2004-8-15 01:36 PM:
多谢指导,我还是第一次听说冒烟测试 [/quote]
同感。
作者: dot1980    时间: 2004-12-17 11:21
以前也听说过冒烟测试,但是头一次理解,谢谢
作者: lhy    时间: 2004-12-22 16:54
听过冒烟测试,但我的理解好象是错误的,谢谢提醒
作者: rosatesting    时间: 2004-12-23 17:41
标题: 第一次听说冒烟测试
第一次听说冒烟测试,学到了不少东西呢。
作者: cl2110    时间: 2004-12-28 11:24
也是第一次噢
作者: jiping_xu    时间: 2004-12-30 16:55
[quote]Originally posted by [i]lhy[/i] at 2004-12-22 04:54 PM:
听过冒烟测试,但我的理解好象是错误的,谢谢提醒 [/quote]






听说过冒烟测试,好象以前的理解太简单了,没这个详细
谢谢楼主解释的这么详细
辛苦了;););)
作者: wangjihui1980    时间: 2005-3-15 16:01
我还以为冒烟测试就是把电路板折腾冒烟了的测试呢,呵呵。才疏学浅,才疏学浅啊!
作者: sindy_yao    时间: 2005-3-24 17:25
标题: 多谢指导
以前听说过冒烟测试,但不知道什么是冒烟测试
作者: maxbo    时间: 2005-3-26 14:39
多谢知道!
作者: rien2128    时间: 2005-3-31 16:45
我看过一本书,上面是这样介绍(Smoke Test)的:
  
前哨测试(Smoke test):每次编译构建的测试版本,必须通过前哨测试决定这个版本是否可以引起其他更多的并发问题(Side Effects),通过前哨测试可以推断出问题是在测试版本的第几版发生的。
作者: texiang    时间: 2005-6-23 15:56
汗,与我学的..........区别好大..............,我学的时候,说冒烟测试...是一种强度测试,即针对整个系统,进行大批量数据操作,看看系统是否能够承受得了.................不过我想我学的不算是很专业的缘故吧,谢谢楼主
作者: chellyna    时间: 2005-6-24 09:17
就我的理解也发表几句
冒烟测试:测试对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作,就比如是,出现一个BUG之后,开发人员修复了这个BUG后,确认是否真正修复了这个BUG,或者是看看对其它模块有什么影响,针对这个问题而进行的专门的测试.
随机测试:没有根据一定的测试文档而进行的测试,只是凭自己的经验而进行的测试.
不知这样理解对不对
作者: fengzi_015    时间: 2005-8-3 20:23
[quote]Originally posted by [i]Jamesniu[/i] at 2005-3-11 09:13:
Best Practices
IEEE Software, Vol. 13, No. 4, July 1996

Daily Build and Smoke Test
If you want to create a simple computer program consisting of only one file, you merely need to compile a ... [/quote]

这是什么啊,看得头大了,:s E文不好。
作者: cuiqiliang    时间: 2005-10-18 15:38
感谢版主songfun转载我以前写的这篇小文,如果能写出原文出处和作者就更好了!
作者: wangjh    时间: 2006-4-5 13:37
我们公司的冒烟测试可能就是新版本的基本功能确认检查的测试,但只是把基本功能大体实现一遍,并不像楼主说的那样。
^_^   长知识   写了
作者: snice    时间: 2006-8-15 15:37
这下明白了冒烟测试的定义了!
作者: se.stevenliu    时间: 2006-12-6 13:25
我并没有真正做过Smoke Test, 非常感谢斑竹的文章!
作者: wuhuawu09    时间: 2006-12-8 11:38
感谢楼主
回复 #12 Jamesniu 的帖子,看不懂...呵呵
作者: enjoytest    时间: 2006-12-8 13:09
12楼的资料不错, 不过这次只看了一大半,留下的下次再看吧,好东西要慢慢享用呀,呵呵
作者: newideaway    时间: 2006-12-8 13:34
标题: 听说
好像听说过^^^^^^^^^^^^^^^^^^
作者: minzhung    时间: 2006-12-19 16:59
第一次听说冒烟
作者: positive    时间: 2006-12-22 09:18
我也是第一次听说冒烟测试,不过内容很好
作者: jackeyzhang    时间: 2006-12-22 09:54
标题: 回复 #1 songfun 的帖子
hi,  你们好呀.
作者: jackeyzhang    时间: 2006-12-22 10:11
前一段时间去华为面式了,测试的.
作者: rose88    时间: 2006-12-27 16:35
又学了一点
作者: webfun_luobutou    时间: 2006-12-28 12:30
每天都有新的学问哈
我喜欢!
哈哈
作者: hotivy    时间: 2006-12-28 16:28
多谢,多谢~我们做得好像都是随机测试,呵呵~
作者: rainyday32    时间: 2007-1-18 13:28
我知道冒烟测试是对软件的主要功能进行测试以确保其可以正常工作,但是不知道的这么具体。
谢谢楼主了
作者: angerswing    时间: 2007-1-18 13:41
知道理论但是很少使用
作者: wssgily    时间: 2007-1-23 18:49
顶!
作者: 烟水寒    时间: 2007-1-24 17:27
看了楼主的文章,结合现实公司的运作,可以这样理解:
冒烟测试就是系统测试的预测试,也就是从测试用例中抽取测试级别要求高的用例,对软件的功能进行测试,如果通过基本功能的测试就可以正式转入系统测试阶段,如果不能则要求开发人员进行修改后再回测。
随机测试其实也可以写入测试用例中,实际上也就是采用错误猜测法来设计的测试用例,只是经验越丰富用错误猜测法设计的用例也就越好。(刚开始的新人可以慢慢摸索和积累)
作者: 寂寞圣贤    时间: 2007-3-20 22:19
标题: 感想
谢谢版主,我对这两个概念也比较模糊,不过现在清楚多了!
作者: glassfish    时间: 2007-3-21 21:33
冒烟测试,不就是点着烟进行测试么?
:-)
看来不是哦~~~~~
作者: lovealina    时间: 2007-4-4 14:23
我是新手,看到这些资料,真是十分感谢!!!
作者: smilebear    时间: 2007-4-4 23:14
[quote]原帖由 [i]chellyna[/i] 于 2005-6-24 09:17 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=101015&ptid=584][/url]
就我的理解也发表几句
冒烟测试:测试对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作,就比如是,出现一个BUG之后,开发人员修复了这个BUG后,确认是否真正修 ... [/quote]

同意这种理解,确实在不少资料上看到过这样的解释
不过楼主说的听上去也很有道理

不管哪种对哪种不对,实际上都是很不错的测试方法,顶一下!
作者: bqian1986    时间: 2007-4-5 10:11
新手,同样!
作者: 猫妖木夕    时间: 2007-4-11 16:54
前辈是这么教我的,相当于机器,最起码要能启动,能够冒烟了,才能正式启动测试
作者: lguse    时间: 2007-4-12 08:14
冒烟测试,第一次听!!谢谢楼主
作者: 冰清    时间: 2007-4-12 15:12
我也以我的理解来说说冒烟测试和随机测试:
冒烟测试:冒烟测试主要是测试一个刚编译的软件,从它的基本功能,性能等方面测试。利用冒烟测试最主要就是可以节约时间,也节约了成本。

随时测试:把已经测试过的软件,再随机的挑选出来测试,也可以说是回归测试!但是随机测试没有回归测试那么正规。
(这是个人的理解,敬供参考!)
作者: ypli    时间: 2007-4-12 23:27
我第一次做的测试就是smoke test  ,哈哈
作者: 冬海听潮    时间: 2007-4-22 17:27
前几天面试遇到这个问题,今天总算找到答案了,谢谢搂住!
作者: zhuzhu3431    时间: 2007-4-23 11:18
以前听过冒烟测试,但是没有做过,随机测试倒是做过好像不是很符合搂主说的
作者: czh84063149    时间: 2007-4-23 17:07
谢谢楼主这么详细的解释
作者: 孤独无心    时间: 2007-4-26 19:59
标题: 找软件测试方面的工作,深圳
有那位朋友可以帮忙推荐一下了
rain619l◎163.com
谢谢了。
作者: hamlet1220    时间: 2007-4-27 09:20
studing now
作者: shyl887    时间: 2007-4-28 16:02
昨天才接触到smoke testing
作者: funny0723    时间: 2007-4-30 16:57
冒烟测试看得有点晕!
作者: ll_double    时间: 2007-5-1 10:23
有点感觉了,但是这是真的冒烟测试吗?我觉得和随机测试区别不大啊.
作者: jhq2032    时间: 2007-5-5 19:02
很好,把这两个概念说的很清楚。对我很有帮助,进一步认识了他们之间的不同了。
作者: mars206    时间: 2007-5-9 15:40
冒烟测试应该是在测试过程中或多或少的做过,只是不知道叫这个名字而已
3Q
作者: qicyt1812    时间: 2007-5-17 17:46
呵呵,又学了一招,自从专心测试以来,学到了不少好东东,谢谢各位咯sdlkfj1
作者: 涩谷Tokyo    时间: 2007-5-17 21:45
呵呵 我现在就在主营随即测试。。。。。。
作者: cellcomcn    时间: 2007-5-18 01:03
多谢指导,我也是第一次听说冒烟测试
作者: liulinzhu    时间: 2007-5-18 17:36
第一次听说,学习中~~~~
作者: Pro_Love    时间: 2007-5-19 10:14
冒烟测试是由编译人员进行的??
我看过的资料说是测试人员进行的
作者: vickywang_no1    时间: 2007-5-19 15:47
我想冒烟应该开发人员、测试人员做都可以做吧,它的意义就是进行基本功能的测试。在测试版本发布前,可以由开发人员进行冒烟测试,以保证所发布的版本是有效的版本;在测试版本发布后,由测试人员进行冒烟测试,以确认该版本是可测的有效版本。
不过如果要将冒烟测试贯彻到控制流程中的话,做为测试人员,我认为由开发人员来做比较合适吧。我讨厌收到一点就错的测试版本。收到了这样的版本还不能随便退回给他们。

[[i] 本帖最后由 vickywang_no1 于 2007-5-19 15:48 编辑 [/i]]
作者: zhangyan8212    时间: 2007-5-23 09:02
第一次听说!
作者: huco7    时间: 2007-5-25 11:10
谢谢,第一次听说,希望以后能用着。
作者: pilouzi    时间: 2007-5-29 15:47
我觉得冒烟测试,就是看这个程序,是否符合人们通常的习惯,比如:对话框的关闭、最小化、还原的tab是不是在右上角等。一个冒烟测试有问题的程序,也不见得会影响下一步的测试。我是这样认为的。。。
谢谢!多多指教!
作者: zxyu1982    时间: 2007-6-1 01:01
我平时也做冒烟测试的
作者: wq2007    时间: 2007-6-4 11:38
标题: 冒烟测试第一次了解,谢谢了先
sdlkfj3
作者: coletan    时间: 2007-6-9 00:13
不错长知识了 哈哈
作者: Salanganezhou    时间: 2007-6-11 13:14
以前虽然知道冒烟测试,但是这次才了解的更详细一些,才知道最初命此名的是微软sdlkfj5
作者: cssweb    时间: 2007-6-11 17:18
学习了
作者: zm_027    时间: 2007-6-11 20:00
谢谢楼主的共享~~~
作者: candice416    时间: 2007-6-12 08:43
暂时不懂,收藏,回头再看,入门先~~sdlkfj2
作者: zhang_jun_    时间: 2007-6-12 18:57
标题: 原来
给我的感觉,这里说的冒烟测试就像组装电脑时先把各种板卡安在主板上,然后接电启动一下,看能不能起得来。以前我还以为冒烟就是要让软件跑到崩溃为止呢
作者: SI_SI    时间: 2007-6-13 13:06
都有道理啊
作者: qubao0451    时间: 2007-6-13 13:48
标题: 456
什么是冒烟测试,现在明白了~thank you
作者: xiaoyaoke    时间: 2007-6-13 19:32
开阔了眼界 ,好文章 。。。
作者: chinamzx    时间: 2007-6-14 10:01
标题: sdlkfj2
新手上路!谢谢!
作者: lxm_lxm    时间: 2007-6-14 11:29
呵呵,早听说软件测试中有一种冒烟测试,但一直不清楚什么样的测试才是冒烟测试,今天才知道公司的冒烟测试工作是我做的.
又学点东西.谢谢!
作者: sailorhzr    时间: 2007-6-20 11:57
smoke test,怎么看起来像一种前端测试。就是说为了节省测试人员的不必要的工作,而做的是否可以接受这一build进行正式测试的测试。
作者: guoshijun    时间: 2007-6-22 11:14
标题: 楼主写的不错啊
大家有时间学习学习啊!
作者: guoshijun    时间: 2007-6-22 11:15
很不错的帖子啊
作者: 77582    时间: 2007-6-24 20:31
有点犯晕中~~~~~~~~sdlkfj8
作者: stjd139    时间: 2007-6-25 16:44
标题: 回复 #1 songfun 的帖子
学习学习
作者: asd835    时间: 2007-6-25 17:11
长见识
作者: candela    时间: 2007-6-29 15:31
(来自:心情 [url]http://hi.baidu.com/kuku_liu/blog/item/a50933a821a4a5b1cb130c81.html[/url])

冒烟测试是对提交的测试版本的主要功能进行比较“随机”的测试,也就是可以不按测试用例执行测试,一旦发现的bug比较多,达到一定程度,则返回给开发人员,不开始软件测试 。如果冒烟测试中发现的bug较少,再开始真正的测试,即严格按照测试用例执行。

冒烟测试从操作上是一个随机的测试,操作对象通常是核心业务模块。测试员任意操作,钥匙发现多数功能走不下去,(大概20%),那么这个冒烟测试就结束了。冒烟测试一般不用参照测试用例。
执行冒烟测试的目的是对姚测试的产品进行一个大概的度量。如果冒烟测试不能通过,通常不会启动测试计划。因为软件缺陷较多的情况下,启动测试计划会浪费更多的人力物力。通俗的说,对“垃圾”产品执行测试世纪是测试人员抢了程序设计人员的工作。这些缺陷应该在开发阶段消灭,只有这样才可以真正的节约成本。
作者: dfc1982    时间: 2007-6-30 12:17
第一次听说,学习了!~
作者: ycxlove11    时间: 2007-7-5 10:06
我也是第一次听说过冒烟测试,谢谢LZ,又涨知识了,开心中!sdlkfj2
作者: gaoyanfang1    时间: 2007-7-5 11:34
去年我们公司组织的测试培训上讲过这两个名词,理解基本一致sdlkfj3
作者: jianglm    时间: 2007-7-12 15:59
[quote]原帖由 [i]candela[/i] 于 2007-6-29 15:31 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=589335&ptid=584][/url]
(来自:心情 [url]http://hi.baidu.com/kuku_liu/blog/item/a50933a821a4a5b1cb130c81.html[/url])

冒烟测试是对提交的测试版本的主要功能进行比较“随机”的测试,也就是可以不按测试用例执行测试,一旦发现的bug比较 ... [/quote]

说的简洁,明了sdlkfj2
作者: selinahanyy    时间: 2007-7-12 22:56
标题: 回复 #1 songfun 的帖子
不错,有待于学习。非常感谢版主
作者: nijp2004    时间: 2007-7-13 00:21
标题: 再说冒烟测试
我所知的冒烟测试:软件提交测试后,按照主要业务流从头到尾执行一遍,最起码流程能够走通才可以展开正式测试。
我所理解的冒烟的出处是这样做就相对于测试一个管道系统是否严密,就在管道入口灌入烟雾,如果在中间不该冒烟的地方冒烟了,或者出口没有烟雾出来。就都证明系统没有安装好。
没想到lz的解释和我一直一来的理解不一样,以后真的要面试碰到这个问题我就把所有的出处都说一遍:)
作者: applejuzi    时间: 2007-7-13 08:01
冒烟测试以前也听过,不过没有楼主理解的那么深刻,算是长见识了。多谢分享
作者: flyflyzhen    时间: 2007-7-13 10:39
两种经典的方法
作者: eiredart    时间: 2007-7-13 18:22
长知识了,还以为要测试到机器冒烟呢!
作者: warriorstars    时间: 2007-7-14 21:57
前几天老师讲的和这个LZ讲的差不多..现在懂了.谢谢
作者: songfun    时间: 2007-7-15 09:33
你的老师不就是这个楼主吗?sdlkfj5

[quote]原帖由 [i]warriorstars[/i] 于 2007-7-14 21:57 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=609246&ptid=584][/url]
前几天老师讲的和这个LZ讲的差不多..现在懂了.谢谢 [/quote]
作者: phoenix2007    时间: 2007-7-15 15:38
谢谢楼主分享
作者: liuhui    时间: 2007-7-16 13:54
多谢指导,我还是第一次听说冒烟测试
作者: xiaozheng1829    时间: 2007-7-17 09:08
增長知識
Thanks,owner
作者: qich    时间: 2007-7-17 13:51
冒烟测试听过,不是很清楚,测试的概念太多了,总是感觉有点混乱sdlkfj8 sdlkfj8
作者: jackyyao    时间: 2007-7-18 11:56
终于明白什么是 冒烟测试了
谢谢
测试快一年
现在对理论知识的认识
跟刚开始做又有完全不同的理解了
夯实基础 着眼实际工作
作者: luyunbing    时间: 2007-7-22 09:53
我为我和我老婆的选择而感到庆幸,我们太有眼光了!哦耶!
作者: wendywanchun    时间: 2007-7-24 21:49
标题: 回复 #1 songfun 的帖子
了解了,谢谢分享




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2