A dry run (or a practice run) is a testing process where the effects of a possible failure are intentionally mitigated. For example, an aerospace company may conduct a "dry run" test of a jet's new pilot ejection seat while the jet is parked on the ground, rather than while it is in flight.
In computer programming, a dry run is a mental run of a computer program, where the computer programmer examines the source code one step at a time and determines what it will do when run. In theoreticalcomputer science, a dry run is a mental run of an algorithm, sometimes expressed in pseudocode, where the computer scientist examines the algorithm's procedures one step at a time. In both uses, the dry run is frequently assisted by a table (on a computer screen or on paper) with the program or algorithm's variables on the top.
The usage of "dry run" in acceptance procedures (for example in the so-called FAT = factory acceptance testing) is meant as following: the factory - which is a subcontractor - must perform a complete test of the system it has to deliver before the actual acceptance by customer.