I'm planning to automatically test a reasonably simple board in an embedded system. The tests cover functional requirements of the firmware. Unit testing is not needed (it's already done).
The module under test talks to a 3 other boards via SPI and serial. It has a few sensors and relays connected. All external boards and sensors will be simulated by a software test bench running on a PC.
I'll create small programs that simulate external components using some language that can access DLL-s or Active X components (SPI and I/O adapters provide those). The details largely depend on the test framework which must control those simulations.
This brings me to the actual problem - which testing framework to use? There are shiny expensive commercial solutions (such as TestComplete and NI TestStand). There are FOSS programs (dejagnu). There is a pile of unit testing frameworks, 2-3 per every language ever conceived.
Most of these emphasize PC testing - pushing buttons, looking for text responses etc. I assume testing an embedded system is a bit different - lots of stuff going on at any given time, it is less determined, there are real-time considerations etc. Then again, maybe I assume wrong.
I suspect experience can sort out this mess. What frameworks have you used for testing firmware and how did it work out?
-- Kind regards, Tarmo Kuuse