To execute a program by hand, writing values of variables and other run-time data on paper, in order to check its operation and control flow or to track down a bug (as part of debugging). A dry run is an extreme form of desk check or code review and is practical only for fairly simple programs, small amounts of data and simple external interfaces. It was often performed off-line using a hardcopy of the source code.
Dry runs were common practice in the days when access to computers was limited but the availability of screen editors and fast compilers makes debugging by printf a more productive method in most cases. Sophisticated debuggers that allow you to get the computer to step through your source code line by line and show values of variables make even this unnecessary.