Test Point

Printed circuit board designers need to be able to build test harnesses for the boards they design. It is often impossible to test everything with only the standard end-user interface. Therefore, a FunctionalTest (by XP terms) would not cut the mustard. Instead, these designers specify these metal clips that poke through mounting holes on the board. They intersect with interesting traces so that a test rig can test parts of the board largely in isolation from each other, or see that a particular communication pattern is correct.

The same thing can be done to make software more externally testable. We have a functional test system for a legacy web application. That system uses perl and regular expressions to put the application through its paces. Perl cannot emulate javascript and the dom of any particular web browser, so we make hidden bits of HTML that help the test system do and find what it needs. True, the javascript is untested. However, large parts of the application are now tested, where in the past nothing was tested.

We have caught bugs this way. We don't catch everything this way, but as bugs are fixed according to SafelyRefactoringLegacyCode, we get more tests for cheap. So far, this system has prevented us from deploying the same bug twice.


See also the Test Point Diagnostic Web Server: http://c2.com/doc/TestPoint


CategoryTesting


EditText of this page (last edited September 1, 2010) or FindPage with title or text search