Now you have seen how to perform host- and target-based unit testing for C, C++, and Ada.
For all of these languages, notice how Test RealTime has allowed you to focus solely on your code. Notice how easily it has been to expose untested code and to generate new tests that not only test that code, but test it well. The time you spend testing can now be devoted to good tests - which increases the usefulness of your attention to testing in the first place.
Contract checking adds an extra layer of protection, so give some thought to using it when testing your C++ code. It's optional - you don't have to add assertion checking to your regression suite. Nevertheless, particularly if your code is called by someone else's code, assertion checking is a simple and clean method for verifying that your code is properly used.
So are you finished? You've seen how to detect and repair:
You've learned how to clarify:
your code's call sequences
the completeness of your testing
System-level testing - the integration testing of distributed components. Up to now you have tested and monitored the code. Next you must see how to test the interaction of various threads, tasks, processes, and subsystems.