What is smoke test and what is it eaten with?

What is a smoke test? Google gave only a brief formulation, but I would like to have specific examples, literature, etc. How can I run these tests ( which commands are in the shell) in different unix-like oss for different utilities. As far as I understand, for each program there is a certain set of commands ( tool-h or-version ), and after checking the performance of such a manpage, we can say that this utility passed the smoke test or not.

Author: A K, 2017-03-16

3 answers

What are the commands in the shell

The easiest way:

if tool -h
then
   echo "Прошли smoke test"
else
   echo "Не прошли smoke test"

if tool --version
then
   echo "Прошли smoke test"
else
   echo "Не прошли smoke test"

But it is not a fact that all the developers of the tool are conscientious enough and have provided their tool with processing of these options.

 1
Author: Sergey, 2017-03-16 05:03:28

Only checking that the tool was compiled is difficult to call a smoke-test.

  • Smoke-test should superficially test the presence and correct operation in trivial cases of all the most important functions of the system under test.

  • The main task of is to cover as much functionality as possible in the shortest possible time. No complicated cases.

  • The goal of is to identify problems with the assembly before feeding it more deep testing methods, save time, clean up the build history from random errors.

It makes sense to place smoke testing not on CI servers, but on specific developers or on version control system hooks on the development server.

In principle, you can not automate it(although then there is a risk of missing it). The developer can simply run through all the important nodes of the build manually(not just the ones he made changes to). - this is also quite a smoke-тестирование


As for the utilities, you use your usual testing methods, the only difference is in the set of tests - you go not in depth, but in width.

 1
Author: vp_arth, 2017-03-16 05:30:59

The very expression smoke test - came from electronics. You put together a new device, plugged it into the socket, and it loudly banged and released white smoke - so smoke test failed.

In programming, smoke test denotes a fast enough test of the most important functionality. Which one depends on the program.

For example, for an Internet browser, it will be enough to open some https://google.com

 1
Author: Пионерка, 2017-07-27 02:39:07