Execution of a program in a manner analogous to a production run, but for purposes of checking that the program behaves correctly rather than for producing useful results. The results of execution are compared with expected results; any discrepancies indicate an error of some sort that must be investigated before the program is put into production usage.