Extreme Programming Perspectives

Jester can reveal code that has not been tested or is possibly redundant. However, Jester takes a long time to run, and the results take some manual effort to interpret. Nevertheless, in comparison with a code coverage tool, Jester can spot untested code even if it is executed.

The value of using Jester is the benefit from discovering missing tests or redundant code minus the cost of using it. The cost of using Jester is the time it takes to run (mostly machine time) plus the time to interpret its results (developer time). The cost of missing tests can be enormous if there are bugs that would otherwise have been found. Redundant code can also be expensive because it wastes developers' time whenever it is read or modified (for example, to keep it compilable). Therefore, Jester's net value depends on the state of the code that it is used on.

Jester can modify not only the code that the tests are testing, but also the test code itself. If a test is modified but does not fail when run, the test may be redundant or erroneous.

Категории