A dry run (or practice run) is a software testing process used to make sure that a system works correctly and will not result in severe failure. For example, rsync, a utility for transferring and synchronizing data between networked computers or storage drives, has a "dry-run" option users can use to check that their command-line arguments are valid and to simulate what would happen when actually copying the data.
In acceptance procedures (such as factory acceptance testing, for example), a "dry run" is when the factory, a subcontractor, performs a complete test of the system it has to deliver before it is actually accepted by the customer.
The term dry run appears to have originated from fire departments in the US. In order to practice, they would carry out dispatches of the fire brigade where water was not pumped. A run with real fire and water was referred to as a wet run. The more general usage of the term seems to have arisen from widespread use by the United States Armed Forces during World War II.