It's cheap to catch problems when testing in the lab.
It's expensive to find them during live use of a system.
Testing can be regarded as boring and unnecessarily expensive. At Tencastle, we believe it is the key to diverse systems working together.
Test equipment needs to be produced early in the standards process, with test code produced as part of initial standards releases. Test kit (and test code, and test schedules) should be made freely available to the whole community.
Testing needs to be engrained into all stages of software development. Testing is not a one-shot process at the end to try to “fail” bad systems. Test software needs to be in every developer's tookit, at every stage of the process, guiding developers towards a “pass” at the final stage.
Real test data is helpful – lots of it. It's no substitute for formal testing but realistic test data is a valuable part of spotting misunderstandings.