Abstract
We describe an model for the program testing process, based on first-order egalitary logic. We define the notion of a battery of tests for a given testing context. Its properties are studied: reliability, validity, bias and acceptability. A preorder is defined and studied, which leads to an equivalence relation among batteries of tests. This equivalence turns out to be of great interest, both theoretical and practical.We show the application of this model to some classical questions: effective (automatic) test generation, test optimization, quality assessment of the testing process, and relationships between program proving and program testing.