Possibly uCUnit [1] is a good choice and could be integrated with simavr for automated testing. [1] http://www.mikrocontroller.net/articles/Unittests_mit_uCUnit