While some may hope that this column might define unit testing
as a component of the software development process that we, as
geo-developers, are allowed to ignore, our contention is that it
is a critical component in any GIS software development effort.
It is a facet of development that cannot be ignored. An informal
industry survey performed in 2008 by one of the coauthors of
this column revealed that 48 percent of developers in the GIS
industry do not write any unit tests. This statistic, when
paired with the fact that maintenance costs for custom
development projects typically exceed 50 percent of project life
cycle costs, indicates that testing standards require a bit of
attention in the GIS industry. The basic principle underlying
unit testing is simply to take the smallest executable segments
of code—typically at the method level—and prove that the code
works as expected under as many anticipated circumstances as
possible. Most often this process is performed by writing code
that can be repeatedly exec