1. The process of exercising a product to identify differences between expected and actual behaviour. Typically testing is bottom-up: unit test, integration test and finally system test. Ideally testing should be done by real users bashing on a prototype long enough to get thoroughly acquainted with it, with careful monitoring and followup of the results.
test coverage attempts to assess how complete a test has been.
2. The second stage in a generate and test search algorithm.