Smoke testing (software) - Wikipedia https://en.wikipedia.org/wiki/Smoke_testing_(software)

In computer programming and software testing, smoke testing (also confidence testing, sanity testing,[1] build verification test (BVT) and build acceptance test) is preliminary testing to reveal simple failures severe enough to, for example, reject a prospective software release. Smoke tests are a subset of test cases that cover the most important functionality of a component or system, used to aid assessment if main functions of the software appear to work correctly.[1][2] When used to determine if a computer program should be subjected to further, more fine-grained testing, a smoke test may be called an intake test.[1] Alternately, it is a set of tests run on each new build of a product to verify that the build is testable before the build is released into the hands of the test team.[3] In the DevOps paradigm, use of a BVT step is one hallmark of the continuous integration maturity stage.[4]

For example, a smoke test may address basic questions like "does the program run?", "does the user interface open?", or "does clicking the main button do anything?" The process of smoke testing aims to determine whether the application is so badly broken as to make further immediate testing unnecessary. As the book Lessons Learned in Software Testing[5] puts it, "smoke tests broadly cover product features in a limited time ... if key features don't work or if key bugs haven't yet been fixed, your team won't waste further time installing or testing".[6]

Smoke tests frequently run quickly, giving benefits of faster feedback, rather than running more extensive test suites, which would naturally take much longer.

Smoke testing performed on a particular build is also known as a build verification test.[2][6][7]

A daily build and smoke test is among industry best practices.[8][need quotation to verify] Smoke testing is also done by testers before accepting a build for further testing. Microsoft claims that after code reviews, "smoke testing is the most cost-effective method for identifying and fixing defects in software".[9]

One can perform smoke tests either manually or using an automated tool. In the case of automated tools, the process that generates the build will often initiate the testing.[citation needed]

Smoke tests can be broadly categorized[by whom?] as functional tests or as unit tests. Functional tests exercise the complete program with various inputs. Unit tests exercise individual functions, subroutines, or object methods. Functional tests may comprise a scripted series of program inputs, possibly even with an automated mechanism for controlling mouse movements. Unit tests can be implemented either as separate functions within the code itself, or else as a driver layer that links to the code without altering the code being tested.[citation needed]

最新文章

  1. useful commands for Kubernetes beginners
  2. TensorFlow知识总结
  3. JAVA之Forward 和 Redirect的区别
  4. Shell获取上一个月、星期的时间范围
  5. PAT乙级 1022. D进制的A+B (20)
  6. asp.net创建XML文件方法
  7. canvas createRadialGradient 用法
  8. Away3D 的实体收集器Bug
  9. Codec plugins ? multiline
  10. QProcess与外部程序的调用(可以通过设置管道来交互)
  11. HDU 1007 近期点对
  12. python urllib模块
  13. centos7.2部署最新ELK 5.3
  14. 日志采集框架Flume以及Flume的安装部署(一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统)
  15. 动态chart Demo
  16. Leetcode#88. Merge Sorted Array(合并两个有序数组)
  17. ComputeShader中Consume与AppendStructuredBuffer的使用
  18. Unity中实现人物平滑转身
  19. bzoj1088 [SCOI2005]扫雷
  20. Oracle sql之条件语句 循环语句

热门文章

  1. sql自动审核工具-inception
  2. 深入了解类加载过程及Java程序执行顺序
  3. Morris Traversal 方法遍历二叉树(非递归、不用栈,O(1)空间)
  4. 【CF659F】Polycarp and Hay(并查集,bfs)
  5. 【BZOJ3450】Easy(期望)
  6. javascript 日期处理类库 moment.js
  7. jquery实现表单验证,所以的验证通过后方可提交
  8. ZOJ 3717 二分+2-sat判定。
  9. 【Java TCP/IP Socket】构建和解析自定义协议消息(含代码)
  10. java多线程异步执行