软件质量保证与测试——Smoke Test

Smoke Test

冒烟测试(smoke testing),据说是微软起的名字。

初接触软件测试的时候肯定会接触冒烟测试,回归测试这些测试方式的术语,今天我们讨论下冒烟测试。
什么是冒烟测试?
发现BUG后开发人员fix bug后。测试人员针对该问题进行测试,冒烟测试的成功与否关系到下一步系统测试能否进行。与系统测试不同在于前者覆盖范围不够,只要保证修改部分及其关联的模块不出问题就可。
什么时候执行冒烟测试?
测试是测试人员确认软件存在bug的过程,此过程中不可避免是需要开发人员要不停的修改bug,那么常常会发现一个功能的改动,导致下一轮系统测试出现问题。即发现也许以前修改的bug的确是解决了,可是由于修改一个或多个bug导致其他功能模块出现新的问题,测试跑不通了,只能测试终止。那么我们如何确保开发人员修复了bug后,这个bug的修复没有影响到其他功能模块呢?这时就需要进行冒烟测试啦

执行冒烟测试的前提?
前面提到冒烟测试是与开发的合同协作,初步了解代码中进行了什么更改。若要理解该更改,必须理解使用的技;开发需告知此修改对其他功能是否影响;更改对各组件的依存关系有何影响。

执行冒烟测试所需要注意的地方?
列出冒烟测试的主要功能、测试点;冒烟测试不是只对修改过功能进行测试;重视平时测试时容易忽略的隐藏功能

软件研发不同阶段的 Smoke Testing

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

冒烟测试和回归测试的区别
冒烟测试,是版本验证测试,主要确认新的版本是否存在致命性bug,功能可以正常运行,不会影响下一轮测试的进行,如果上述都符合那么这个版本就可以进行下一轮测试。个人理解冒烟测试最大的优点在于节约测试的时间成本,减少测试轮数。
而回归测试,是软件维护阶段对软件修改后进行的测试,指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

最后
冒烟测试一般基于Nightly build,构建服务器首先从CVS服务器上,下载最新的源代码,然后编译单元测试,运行单元测试通过后,编译可执行文件,可执行文件若可运行,并能执行最基本的功能,则认为通过了冒烟测试,这时,构建服务器会把程序打包成安装文件,然后上传到内部网站,第二天一早,测试人员来了以后,会收到构建服务器发来的邮件提示昨晚是否构建成功。若构建成功,则测试人员进行相关的功能测试。所有这些功能的完成,一般是靠编写脚本完成的,目前比较常用的脚本有 TCL,Perl,Python及功能弱弱的批处理。用这些可以完成系统的每日构建。
总结
简单的说,就是先保证系统能跑的起来,不至于让测试工作做到一半突然出现错误导致业务中断。目的就是先通过最基本的测试,如果最基本的测试都有问题,就直接打回开发部了,减少测试部门时间的浪费。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FedXAI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值