什么是冒烟测试。
发现BUG后开发人员fix bug后。测试人员针对该问题进行测试,冒烟测试的成功与否关系到下一步系统测试能否进行。与系统测试不同在于前者覆盖范围不够,只要保证修改部分及其关联的模块不出问题就可。
什么时候执行冒烟测试。
测试是测试人员确认软件存在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 中。