Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
User Journal

Journal Timothy Brownawell's Journal: Just how old is Test First/TDD anyhow?

I found this in a rather old book in the library, it sounds remarkably similar to parts of what the TDD / Test First people are saying now:

Another well-known psychological bias in observation is the overdependence on "early" data returns. In program testing, the programmer who gets early "success" with his program is likely to stop testing too soon. One way to guard against this mistake is to prepare the tests in advance of testing and, if possible in advance of coding. We refer here to tests concerned with detecting the presence of errors -- not to all tests. Obviously, we cannot construct tests in advance for locating the source of an error; nor can we construct the procedures for correcting the error once it has been found. But all testing begins with detection, so advance work of test cases is never wasted -- unless we yield to the temptation to bypass the remaining tests in view of the "excellent" results we have so far.

The debugging system could help us to resist this temptation by forcing us to specify in advance the amount of testing we plan to do. Failure to complete this number of tests could result in a management report, or some other form of prodding to the programmer. In general, of course, anything in the testing system that simplifies the preparation and execution of test cases will help the programmer to overcome the temptation to quit too soon. One such system in use today is particularly designed to counteract the temptation to skip retesting when a "small" change has been made to the program. If the test cases are stored in the system and can be rerun automatically on demand, the programmer is less likely to skip the retest. The typical system of this sort, however, produces vast amounts of output. It is hardly useful to rerun test cases if nobody looks at the results of the rerun. A great improvement could be wrought in these systems by providing automatic comparison between old results and new ones, thus calling the programmer's attention only to those cases that differ from one run to the next.

-- "The Psychology of Computer Programming", Copyright 1971

This discussion has been archived. No new comments can be posted.

Just how old is Test First/TDD anyhow?

Comments Filter:

I tell them to turn to the study of mathematics, for it is only there that they might escape the lusts of the flesh. -- Thomas Mann, "The Magic Mountain"

Working...