Description
It may also be helpful to create unit tests. These tests will run against individual units of code and are helpful in ensuring that everything is working as expected at a lower level. There is a lot of debate as to whether units tests should run on the microcontroller on the PC. The most interesting approaches I've seen are those that run individual or small collections of tests directly on the microcontroller, but also use a script to automatically load and run tests on the board. So you would create a test suite on the PC that loads and executes unit tests on the actual micocontroller board. Here are a couple of projects taking that approach:
Unit tests will also be specific to the microcontroller architecture whereas the integration tests will be architecture agnostic since they will test against the serial interface rather than the platform-specific implementation.