Testing, testing, testing!
The CCI components have been harvested from other projects, most of which were short term research prototypes built for specific purposes and without the budget and time to allow for systematic testing.
Consequently, although the components tend to work just fine for common cases, there will be a long period of running into bugs for corner cases. This is both a problem and an opportunity. Certainly, anyone with a bug finding tool or a test generation framework
is likely to find some juicy bugs waiting to be discovered.
The automated regression tests need to be beefed up considerably and those that are already there need some cleaning up and reorganization.
Test cases should be in one of two categories:
- Tests that are run by developers before they check in.
- Tests that are
run on the build machine in order to classify a particular build as good or bad