In most cases, you don’t exercise the code under test directly. For example, you don’t give phone numbers directly to the validation code. Instead, you type them into the user interface, which is itself code that collects key presses, converts them into internal program data, and delivers that data to the validation routines. You also don’t examine the results of the validation routines directly. Instead, the routines pass their results to other code, which eventually produces results visible at the user interface (by, for example,producing an error popup). I will call the code that sits between the code under test and the test itself the intervening code.