冒烟测试就是新版本送测后的测试,以决定是否要继续测试乃至发布。
回归测试就是解决一个问题后的测试,方向是判断新的代码是否引入了新问题。
冒烟测试一般用于每日构建(Nightly build),构建服务器首先从CVS服务器上,下载最新的源代码,然后编译单元测试,运行单元测试通过后,编译可执行文件,可执行文件若可运行,并能执行最基本的功能,则认为通过了冒烟测试。比如,拿到QQ的app新版本,登陆都登陆不上,那么这个版本肯定无法继续测下去。或者,游戏中新的模块出现,但是新的模块总是崩溃、卡死,测试进行不下去,那么冒烟的结果就是不合格的。
而回归测试,是软件维护阶段对软件修改后进行的测试。
两种测试用在软件生命的不同周期。
根据对冒烟测试和回归测试的理解,总结了二者的一些区别,如下:
| 冒烟测试 | 回归测试 |
使用阶段 | 单元测试之后 | 软件维护阶段 |
测试侧重点 | 新版本送测后,对基本功能的粗略测试 | 解决一个问题后,判断是否引入新的问题 |
消耗时间 | 节省时间 | 消耗时间长 |
覆盖率 | 低 | 高 |
执行人 | 提测前是开发;版本上线前是测试 | 测试 |