Smoke test
Encyclopedia
Smoke testing refers to physical tests made to closed systems of pipes to test for leaks. By metaphorical extension, the term is also used for the first test made after assembly or repairs to a system, to provide some assurance that the system under test will not catastrophically fail. After a smoke test proves that "the pipes will not leak, the keys seal properly, the circuit will not burn, or the software will not crash outright," the system is ready for more stressful testing.
The term smoke testing is used in several fields, including electronics
, computer software
development, plumbing
, woodwind repair, infectious disease
control, and the entertainment industry.
Later this usage seems to have been forgotten, and the electronics industry believes it invented the term: "The phrase smoke test comes from [electronic] hardware testing. You plug in a new board and turn on the power. If you see smoke coming from the board, turn off the power. You don't have to do any more testing."
a smoke test forces non-toxic, artificially created smoke
through waste and drain pipes under a slight pressure to find leaks. Plumes of smoke form where there are defects. This test can be performed when the plumbing is brand new, but more often it is used to find sewer gas leaks that may plague a building or an area. Any sign of smoke escaping can be considered a possible site for sewer gas to escape. Sewer gas typically has a rotten egg smell and can contain methane gas, which is explosive, or hydrogen sulfide
gas, which is deadly.
Plumbing smoke tests are also used to find places where pipes will spill fluid, and to check sanitary sewer
systems for places where ground water and storm runoff can enter. Smoke testing is particularly useful in places such as ventilated sanitary sewer systems, where completely sealing the system is not practical.
When smoke testing a sanitary sewer
system it is helpful to partially block off the section of sewer to be tested. This can be done by using a sand bag on the end of a rope. The sand bag is lowered into the manhole and swung into position to partially block lines. Completely blocking the line can cause water to back up and prevent smoke from escaping through defects. Smoke testing may not be done after rain or when ground water is unusually high as this may also prevent detection of defects.
Large downdraft fans, usually powered by gasoline engines, are placed on top of open manhole
s at either end of the section to be tested. If possible all lines in the manholes except for the line between the manholes are partially blocked. Smoke is created using either a smoke bomb
or liquid smoke. Smoke bombs are lit and placed on a grate or in a holder on top of each fan, while liquid smoke is injected into the fan via a heating chamber. The fans create a pressure differential that forces the smoke into the sewer at a pressure just above atmospheric. With properly installed plumbing, the traps will prevent the smoke from entering the house and redirect it out the plumbing vents. Defective plumbing systems or dry traps will allow smoke to enter the inside of the house.
The area around the section being tested is searched for smoke plumes. Plumes coming from plumbing vents or the interface between the fan shroud and manhole rim are normal; however, smoke plumes outside of the manhole rim are not. Plumes are marked, usually with flags, and defects are noted using measurements from stationary landmarks like the corners of houses. The plumes or markers may also be photographed.
repair, a smoke test involves plugging one end of an instrument and blowing smoke into the other to test for leaks. Escaping smoke reveals improperly seated pads and faulty joints (i.e. leaks). After this test the instrument is cleaned to remove nicotine and other deposits left by the smoke. Due to tobacco smoke being used, this test may be hazardous to the health of the technician in the long run.
Described in a repair manual written in the 1930s. smoke testing is considered obsolete, and is no longer used by reputable technicians. The usual alternative to smoke is to place a bright light inside the instrument then check for light appearing around pads and joints.
systems of automobiles may be tested in order to locate difficult-to-find vacuum leaks. Artificial smoke is deliberately introduced into the system- under slight pressure and any leaks are indicated by the escaping smoke. Smoke can also be used to locate difficult-to-find leaks in the fuel evaporative emissions control (EVAP) system.
control a smoke test is done to see whether a room is under negative pressure
. A tube containing smoke is held near the bottom of the negative pressure room door, about two inches in front of the door. The smoke tube is held parallel to the door, and a small amount of smoke is then generated by gently squeezing the bulb. Care is taken to release the smoke from the tube slowly to ensure the velocity of the smoke from the tube does not overpower the air velocity. If the room is at negative pressure, the smoke will travel under the door and into the room. If the room is not a negative pressure, the smoke will be blown outward or will stay stationary.
used during a live event will not set off the smoke detector
s in a venue
. To smoke test a venue the venue is filled to the full capacity with smoke to see if there are any smoke detector
s still live, or if there are any leaks of smoke from the venue sufficient to set off detectors in other parts of the venue being tested.
and electrical engineering
the term smoke test or power on test is used to refer to the first time a circuit under development is attached to power, which will sometimes produce actual smoke if a design or wiring mistake has been made. Most often this smoke comes from burning resistor
s, which produce a unique smell familiar to many technicians. For certain circuits, overheating and burning due to circuitry that is still not properly operating can be avoided by slowly turning up the input voltage to the unit under test by using a variable autotransformer
and watching the electric current
consumption. As a poor-man's "autotransformer", a properly-sized incandescent light bulb
in series with the power feed can provide a similar benefit: if the unit under test has a short circuit or other overload, the bulb will light up and provide a high resistance, limiting or preventing further damage to the unit being tested.
Overloaded integrated circuits typically produce "blue smoke" (or magic smoke
). "Blue smoke" is the subject of jokes among technicians who refer to it as if it were a genie
in the circuit: It's the blue smoke that makes it work—let out the blue smoke and it won't do anything.
and software testing
, smoke testing is a preliminary to further testing, intended to reveal simple failures severe enough to reject a prospective software release. In this case the smoke is metaphorical. A subset of test cases that cover the most important functionality of a component or system are selected and run, to ascertain if the most crucial functions of a program work correctly. For example, a smoke test may ask basic questions like "Does the program run?", "Does it open a window?", or "Does clicking the main button do anything?" The purpose is to determine whether the application is so badly broken that further testing is unnecessary. As the book "Lessons Learned in Software Testing" 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".
Smoke testing performed on a particular build is also known as a build verification test
.
A daily build and smoke test is among industry best practices. Smoke testing is also done by testers before accepting a build for further testing. Microsoft claims that after code review
s, "smoke testing is the most cost effective method for identifying and fixing defects in software". In Microsoft's case a smoke test is the process of validating code changes before they are checked into source control.
Smoke tests can either be performed manually or using an automated tool. When automated tools are used, the tests are often initiated by the same process that generates the build itself.
Smoke tests can be broadly categorized as functional tests
or unit tests. Functional tests exercise the complete program with various inputs. Unit tests exercise individual functions, subroutines, or object methods. Both functional testing tools and unit testing tools tend to be third-party products that are not part of the compiler suite. Functional tests may be a scripted series of program inputs, possibly even with an automated mechanism for controlling mouse movements. Unit tests may be separate functions within the code itself, or driver layer that links to the code without altering the code being tested.
The term smoke testing is used in several fields, including electronics
Electronics
Electronics is the branch of science, engineering and technology that deals with electrical circuits involving active electrical components such as vacuum tubes, transistors, diodes and integrated circuits, and associated passive interconnection technologies...
, computer software
Computer software
Computer software, or just software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it....
development, plumbing
Plumbing
Plumbing is the system of pipes and drains installed in a building for the distribution of potable drinking water and the removal of waterborne wastes, and the skilled trade of working with pipes, tubing and plumbing fixtures in such systems. A plumber is someone who installs or repairs piping...
, woodwind repair, infectious disease
Infectious disease
Infectious diseases, also known as communicable diseases, contagious diseases or transmissible diseases comprise clinically evident illness resulting from the infection, presence and growth of pathogenic biological agents in an individual host organism...
control, and the entertainment industry.
History of the term
The plumbing industry started using the smoke test in 1875.Later this usage seems to have been forgotten, and the electronics industry believes it invented the term: "The phrase smoke test comes from [electronic] hardware testing. You plug in a new board and turn on the power. If you see smoke coming from the board, turn off the power. You don't have to do any more testing."
Plumbing
In plumbingPlumbing
Plumbing is the system of pipes and drains installed in a building for the distribution of potable drinking water and the removal of waterborne wastes, and the skilled trade of working with pipes, tubing and plumbing fixtures in such systems. A plumber is someone who installs or repairs piping...
a smoke test forces non-toxic, artificially created smoke
Smoke bomb
A smoke bomb is a firework designed to produce smoke upon ignition. Smoke bombs are useful to military units, airsoft games, paintball games, self defense and pranks...
through waste and drain pipes under a slight pressure to find leaks. Plumes of smoke form where there are defects. This test can be performed when the plumbing is brand new, but more often it is used to find sewer gas leaks that may plague a building or an area. Any sign of smoke escaping can be considered a possible site for sewer gas to escape. Sewer gas typically has a rotten egg smell and can contain methane gas, which is explosive, or hydrogen sulfide
Hydrogen sulfide
Hydrogen sulfide is the chemical compound with the formula . It is a colorless, very poisonous, flammable gas with the characteristic foul odor of expired eggs perceptible at concentrations as low as 0.00047 parts per million...
gas, which is deadly.
Plumbing smoke tests are also used to find places where pipes will spill fluid, and to check sanitary sewer
Sanitary sewer
A sanitary sewer is a separate underground carriage system specifically for transporting sewage from houses and commercial buildings to treatment or disposal. Sanitary sewers serving industrial areas also carry industrial wastewater...
systems for places where ground water and storm runoff can enter. Smoke testing is particularly useful in places such as ventilated sanitary sewer systems, where completely sealing the system is not practical.
When smoke testing a sanitary sewer
Sanitary sewer
A sanitary sewer is a separate underground carriage system specifically for transporting sewage from houses and commercial buildings to treatment or disposal. Sanitary sewers serving industrial areas also carry industrial wastewater...
system it is helpful to partially block off the section of sewer to be tested. This can be done by using a sand bag on the end of a rope. The sand bag is lowered into the manhole and swung into position to partially block lines. Completely blocking the line can cause water to back up and prevent smoke from escaping through defects. Smoke testing may not be done after rain or when ground water is unusually high as this may also prevent detection of defects.
Large downdraft fans, usually powered by gasoline engines, are placed on top of open manhole
Manhole
A manhole is an opening used to gain access to sewers or other underground structures, usually for maintenance.Manhole may also refer to:* Manhole , a metal band from Los Angeles* The Manhole, a computer game...
s at either end of the section to be tested. If possible all lines in the manholes except for the line between the manholes are partially blocked. Smoke is created using either a smoke bomb
Smoke bomb
A smoke bomb is a firework designed to produce smoke upon ignition. Smoke bombs are useful to military units, airsoft games, paintball games, self defense and pranks...
or liquid smoke. Smoke bombs are lit and placed on a grate or in a holder on top of each fan, while liquid smoke is injected into the fan via a heating chamber. The fans create a pressure differential that forces the smoke into the sewer at a pressure just above atmospheric. With properly installed plumbing, the traps will prevent the smoke from entering the house and redirect it out the plumbing vents. Defective plumbing systems or dry traps will allow smoke to enter the inside of the house.
The area around the section being tested is searched for smoke plumes. Plumes coming from plumbing vents or the interface between the fan shroud and manhole rim are normal; however, smoke plumes outside of the manhole rim are not. Plumes are marked, usually with flags, and defects are noted using measurements from stationary landmarks like the corners of houses. The plumes or markers may also be photographed.
Woodwind instrument repair
In woodwind instrumentWoodwind instrument
A woodwind instrument is a musical instrument which produces sound when the player blows air against a sharp edge or through a reed, causing the air within its resonator to vibrate...
repair, a smoke test involves plugging one end of an instrument and blowing smoke into the other to test for leaks. Escaping smoke reveals improperly seated pads and faulty joints (i.e. leaks). After this test the instrument is cleaned to remove nicotine and other deposits left by the smoke. Due to tobacco smoke being used, this test may be hazardous to the health of the technician in the long run.
Described in a repair manual written in the 1930s. smoke testing is considered obsolete, and is no longer used by reputable technicians. The usual alternative to smoke is to place a bright light inside the instrument then check for light appearing around pads and joints.
Automotive repair
In the same way that plumbing and woodwind instruments are tested, the vacuumVacuum
In everyday usage, vacuum is a volume of space that is essentially empty of matter, such that its gaseous pressure is much less than atmospheric pressure. The word comes from the Latin term for "empty". A perfect vacuum would be one with no particles in it at all, which is impossible to achieve in...
systems of automobiles may be tested in order to locate difficult-to-find vacuum leaks. Artificial smoke is deliberately introduced into the system- under slight pressure and any leaks are indicated by the escaping smoke. Smoke can also be used to locate difficult-to-find leaks in the fuel evaporative emissions control (EVAP) system.
Infectious disease control
In infectious diseaseInfectious disease
Infectious diseases, also known as communicable diseases, contagious diseases or transmissible diseases comprise clinically evident illness resulting from the infection, presence and growth of pathogenic biological agents in an individual host organism...
control a smoke test is done to see whether a room is under negative pressure
Negative room pressure
Negative room pressure is an isolation technique used in hospitals and medical centres to prevent cross-contaminations from room to room. It includes a ventilation system that generates negative pressure to allow air to flow into the isolation room but not escape from the room, as air will...
. A tube containing smoke is held near the bottom of the negative pressure room door, about two inches in front of the door. The smoke tube is held parallel to the door, and a small amount of smoke is then generated by gently squeezing the bulb. Care is taken to release the smoke from the tube slowly to ensure the velocity of the smoke from the tube does not overpower the air velocity. If the room is at negative pressure, the smoke will travel under the door and into the room. If the room is not a negative pressure, the smoke will be blown outward or will stay stationary.
Entertainment
In the entertainment industry a smoke test is done to ensure that theatrical smoke and fogTheatrical smoke and fog
Theatrical smoke and fog, also known as special effect smoke, fog or haze, is a category of atmospheric effects used in the entertainment industry. The use of fog can be found throughout motion picture and television productions, live theatre, concerts, at nightclubs and raves, amusement and theme...
used during a live event will not set off the smoke detector
Smoke detector
A smoke detector is a device that detects smoke, typically as an indicator of fire. Commercial, industrial, and mass residential devices issue a signal to a fire alarm system, while household detectors, known as smoke alarms, generally issue a local audible and/or visual alarm from the detector...
s in a venue
Music venue
A music venue is any location used for a concert or musical performance. Music venues range in size and location, from an outdoor bandshell or bandstand or a concert hall to an indoor sports stadium. Typically, different types of venues host different genres of music...
. To smoke test a venue the venue is filled to the full capacity with smoke to see if there are any smoke detector
Smoke detector
A smoke detector is a device that detects smoke, typically as an indicator of fire. Commercial, industrial, and mass residential devices issue a signal to a fire alarm system, while household detectors, known as smoke alarms, generally issue a local audible and/or visual alarm from the detector...
s still live, or if there are any leaks of smoke from the venue sufficient to set off detectors in other parts of the venue being tested.
Electronics and electrical engineering
In electronicsElectronics
Electronics is the branch of science, engineering and technology that deals with electrical circuits involving active electrical components such as vacuum tubes, transistors, diodes and integrated circuits, and associated passive interconnection technologies...
and electrical engineering
Electrical engineering
Electrical engineering is a field of engineering that generally deals with the study and application of electricity, electronics and electromagnetism. The field first became an identifiable occupation in the late nineteenth century after commercialization of the electric telegraph and electrical...
the term smoke test or power on test is used to refer to the first time a circuit under development is attached to power, which will sometimes produce actual smoke if a design or wiring mistake has been made. Most often this smoke comes from burning resistor
Resistor
A linear resistor is a linear, passive two-terminal electrical component that implements electrical resistance as a circuit element.The current through a resistor is in direct proportion to the voltage across the resistor's terminals. Thus, the ratio of the voltage applied across a resistor's...
s, which produce a unique smell familiar to many technicians. For certain circuits, overheating and burning due to circuitry that is still not properly operating can be avoided by slowly turning up the input voltage to the unit under test by using a variable autotransformer
Autotransformer
An autotransformer is an electrical transformer with only one winding. The auto prefix refers to the single coil acting on itself rather than any automatic mechanism. In an autotransformer portions of the same winding act as both the primary and secondary. The winding has at least three taps where...
and watching the electric current
Electric current
Electric current is a flow of electric charge through a medium.This charge is typically carried by moving electrons in a conductor such as wire...
consumption. As a poor-man's "autotransformer", a properly-sized incandescent light bulb
Incandescent light bulb
The incandescent light bulb, incandescent lamp or incandescent light globe makes light by heating a metal filament wire to a high temperature until it glows. The hot filament is protected from air by a glass bulb that is filled with inert gas or evacuated. In a halogen lamp, a chemical process...
in series with the power feed can provide a similar benefit: if the unit under test has a short circuit or other overload, the bulb will light up and provide a high resistance, limiting or preventing further damage to the unit being tested.
Overloaded integrated circuits typically produce "blue smoke" (or magic smoke
Magic smoke
Magic smoke is smoke produced by malfunctioning electronic circuits. The origins of the magic smoke have become a running in-joke that started among electrical engineers and technicians before it was more recently adopted by computer programmers...
). "Blue smoke" is the subject of jokes among technicians who refer to it as if it were a genie
Genie
Jinn or genies are supernatural creatures in Arab folklore and Islamic teachings that occupy a parallel world to that of mankind. Together, jinn, humans and angels make up the three sentient creations of Allah. Religious sources say barely anything about them; however, the Qur'an mentions that...
in the circuit: It's the blue smoke that makes it work—let out the blue smoke and it won't do anything.
Software development
In computer programmingComputer programming
Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...
and software testing
Software testing
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software...
, smoke testing is a preliminary to further testing, intended to reveal simple failures severe enough to reject a prospective software release. In this case the smoke is metaphorical. A subset of test cases that cover the most important functionality of a component or system are selected and run, to ascertain if the most crucial functions of a program work correctly. For example, a smoke test may ask basic questions like "Does the program run?", "Does it open a window?", or "Does clicking the main button do anything?" The purpose is to determine whether the application is so badly broken that further testing is unnecessary. As the book "Lessons Learned in Software Testing" 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".
Smoke testing performed on a particular build is also known as a build verification test
Build Verification Test
In software testing, a Build Verification Test , also known as Build Acceptance Test, 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. The build acceptance test is generally a short set of tests,...
.
A daily build and smoke test is among industry best practices. Smoke testing is also done by testers before accepting a build for further testing. Microsoft claims that after code review
Code review
Code review is systematic examination of computer source code. It is intended to find and fix mistakes overlooked in the initial development phase, improving both the overall quality of software and the developers' skills...
s, "smoke testing is the most cost effective method for identifying and fixing defects in software". In Microsoft's case a smoke test is the process of validating code changes before they are checked into source control.
Smoke tests can either be performed manually or using an automated tool. When automated tools are used, the tests are often initiated by the same process that generates the build itself.
Smoke tests can be broadly categorized as functional tests
Functional testing
Functional testing is a type of black box testing that bases its test cases on the specifications of the software component under test. Functions are tested by feeding them input and examining the output, and internal program structure is rarely considered .Functional testing differs from system...
or unit tests. Functional tests exercise the complete program with various inputs. Unit tests exercise individual functions, subroutines, or object methods. Both functional testing tools and unit testing tools tend to be third-party products that are not part of the compiler suite. Functional tests may be a scripted series of program inputs, possibly even with an automated mechanism for controlling mouse movements. Unit tests may be separate functions within the code itself, or driver layer that links to the code without altering the code being tested.