In plumbing, a smoke test forces smoke through pipes in order to find leaks. If you see smoke somewhere it shouldn't be, you've found a leak. Or if smoke does not appear at the other end of the pipe, you've got a blockage. In software, a smoke test usually will pass test data through a process from end to end and verify that the results of the process match expectations. This would be an integration test "in situ", rather unit testing of individual components in a process.
In plumbing, a smoke test forces smoke through pipes in order to find leaks. If you see smoke somewhere it shouldn't be, you've found a leak. Or if smoke does not appear at the other end of the pipe, you've got a blockage. In software, a smoke test usually will pass test data through a process from end to end and verify that the results of the process match expectations. This would be an integration test "in situ", rather unit testing of individual components in a process.
Interesting analogy. Makes the concept clear