Chapter 5 of the SWEBOK guide defines testing as follows:
Software testing consists of the dynamic verification of the behavior of a program on a finite set of test cases, suitably selected from the usually infinite executions domain, against the specified expected behavior.