AbstractAs code is executed correctly under test, confidence in the correctness of the code increases. In this context, an intuitive conceptual model of the process of software testing which draws upon experience gained with mutation analysis is presented. The model is used to explain how the testing of one path can influence confidence in other (possibly unexecuted) paths. It is also discussed in relation to software reliability and systematic structural testing, and is shown to be consistent with observations made during these forms of testing.