The GeoWeb is being deployed today by means of a large number of interconnected data access and data processing services. Independent of the specific technologies used for this deployment are a network of data and services which require ongoing testing both for the data that flows within the network and for the interfaces between the components. New services and data will constantly be deployed, and without ongoing testing, the integrity of the network will rapidly disintegrate. This is especially when we consider that much of this network will involve cascaded or chained services, i.e. where the input to one service depends on the output of another.
I believe that this requires a more comprehensive approach to testing than has been considered so far.
In the world of integrated circuits and complex circuit boards this issue has been around for a long time, and has evolved into a comprehensive philosophy called “Design for Test” (DFT). The elements of DFT are many however the basic idea is simply:
- Testing is part of every phase of product life cycle. This includes design, build, deployment and field support (operations).
- There should be a unified, global approach to testing across all phases of the product life cycle.
- The product should be designed to be tested, making sure that appropriate “observation points” are provided so that testing is not only possible, but practical and effective.
- Where possible, components to assist the testing of the product should be built into the integrated circuit or circuit board.
Clearly this approach goes well beyond what is practiced today with respect to OGC services in particular and for other IT web services in general. It seems that there is much we can learn in the software world.
To move toward a DFT philosophy we will need to make testing a much more significant part of the web service life cycle than is currently the case. We will need to learn how to design testing into the web services themselves, perhaps incorporating test data, test modes, and other facilities to facilitate testing both in the lab and in the real world.