What is smoke test? Google gave only a brief wording, but I would like it with specific examples, literature, etc. How can I run these tests (which commands in the shell) in different unix-like operating systems for different utilities. As far as I understand, for each program there is a certain set of commands (tool -h or -version), and having checked the efficiency of such a manpage, one can say that this utility has passed smoke test or not.

  • What is his "smoking": D - Flippy

3 answers 3

what commands are in the shell

The easiest:

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

But it’s not a fact that all the tool developers are conscientious enough and supplied their tool with the processing of these options.

    Just checking that the tool has compiled is hard to call 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 is to cover as much functionality as possible in the shortest possible time. No complicated cases.

    • The goal is to identify problems with the assembly before feeding it to deeper testing methods, saving time, clearing the history of assemblies from random errors.

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

    It, in principle, can not be automated (although then there is a risk of missing it). A developer can simply run around on his own (not only on those in which he made changes) to important build nodes manually - this is also quite a smoke-тестирование


    Regarding the utilities, you use the testing methods you are used to; the only difference is in the test suite — you are going not in depth, but in width.

      The very expression smoke test - came from electronics. You assembled a new device, plugged it into a power outlet, and it boomed loudly and released white smoke - so the smoke test failed.

      In programming, smoke test denotes a fairly quick 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