冒烟测试 (软件)

在程序设计和软件测试领域，冒烟测试（也包括信心测试、健全性测试、ISTQB® Glossary for the International Software Testing Qualification Board® software testing qualification scheme, ISTQB Glossary  International Software Testing Qualification Board.构建验证测试（BVT）、构建验收测试）是指初步地进行测试，并以此展示一些简单但足以影响发布软件版本的这一高级别的错误。冒烟测试是测试用例的子集，测试主要为了覆盖了组件或系统的最重要功能，并用于辅助评价一个软件的主要功能是否正常运行。Dustin, Rashka, Paul. "Automated Software Testing -Introduction, Management, and Performance". Addison-Wesley 1999, p. 43-44. 当使用冒烟测试判断一个程序是否需要更深层次的、颗粒度更为细小的测试时，该测试也被称为入门测试（intake test）。或者，在测试部门对新版本程序进行测试之前，冒烟测试用于自动化测试新版本是否可以正常运行，是否值得测试。 在DevOps范例中，使用BVT步骤是持续集成成熟阶段的标志之一。PowerShell Magazine , DevOps, Infrastructure as Code, and PowerShell DSC: The Introduction, by Ravikanth C, January 5, 2016

例如，冒烟测试可能会解决一些基本问题，例如“程序是否运行？”，“用户界面是否打开？”或“单击事件是否有效？”等。冒烟测试的目的在于确认程序是否严重到，需要立即测试非必须的测试。如《Lessons Learned in Software Testing》所写Cem Kaner, James Bach, Bret Pettichord, Lessons learned in software testing: a context-driven approach. Wiley, 2001，“冒烟测试仅仅是在短时间广泛地覆盖产品功能。如果关键功能无法正常工作或关键bug尚未修复，那么你们的团队就不需要浪费更多时间去安装部署以及测试。则烟雾测试将在有限的时间内广泛涵盖产品功能，不会浪费更多的时间来安装或测试”。

冒烟测试通常会快速地进行，好处就是反馈也是很快，相比之下，更为全面地套件测试通常会花费更长的时间。

每日构建和冒烟测试是工业界公认的最佳实践之一。McConnell, Steve. "Rapid Development". Microsoft Press, p. 405测试人员在构建并更深一步的测试之前，有必要进行冒烟测试。微软声称，“在代码进行审查之后，冒烟测试是识别并修复软件的性价比最高的方法”。

冒烟测试，可以是手动测试或自动工具进行冒烟测试。对于自动化工具测试，构建工程的程序通常会顺带进行该测试。

冒烟测试可以是功能测试或者单元测试。功能测试通常会使用各种输入设备。从而执行完整的程序。单元测试则是针对单一功能、子例程、对象的方法。功能测试可以是脚本化的输入，也可以是自动化的鼠标事件。单元测试可以是实现代码内部独立功能，也可以是通过调用的方式进行测试。

 信心测试 
信心测试，指当多少测试通过时，能确信程序能正常运行。

 参考文献 

Category:软件测试
Category:有未审阅翻译的页面