C and Ada component testing exposed problems at the function level in the UMTS base station C code. C++ component testing exposed problems at the class level in the UMTS base station C++ code. Finally, with system testing, problems that might exist at the signal passing level were exposed. The base station has been tested at all levels of complexity.
Message-passing defects can be very difficult to catch. Ideally, to uncover problems in this area:
system actors should be simulated to ensure well-defined scenario use cases
these system actors should be distributed to closely mirror the true target environment
test data should be summarized and stored in a single, exportable file
The system testing feature of OneTest Embedded does all of these, with the additional benefits of:
interactive source-code editing
runtime observation capabilities
The key to successful system testing is an understanding of realistic scenario use cases. You need to ask yourself what is really going to happen in your system, in what order it will happen, and what environmental constraints will exist at that time. Once determined, you should next consider the likelihood of environmental stress factors that could cause system degradation. If so, then load and stress testing should become a part of your testing regimen.
Assuming true component architectures have been used in your system, if defects are found at the system level - either improper or missing signals or signal delays - then the OneTest Embedded runtime analysis features should be used in conjunction with the testing features to narrow your focus and thereby find the root cause.
All of these tests should become part of a regression testing suite. This is the topic of the Tutorial Conclusion - combining all tests into a single regression testing suite.