Validation
Debugging alone, or even simple output analysis, is often not enough when verifying system behavior and identifying issues and unwanted effects in the code. Different approaches may be taken to validate the implementation of the single components, as well as the behavior of the entire system under different conditions. While, in some cases, the results can be directly measurable from the host machine, in more specific contexts, it is often difficult to reproduce the exact scenario, or to acquire the necessary information from the system output.
External tools may come in handy, especially in the analysis of communication interfaces and network devices in a more complex, distributed system. In other cases, single modules can be tested off-target using simulated or emulated environments to run smaller portions of the code base.
Different tests, validation strategies, and tools are considered in this section, to provide solutions for any scenario.
Functional tests
Writing test cases...