RoboCon 2024

Bridging Innovation and Regulation in Embedded Software Testing with Robot Framework
2024-02-28 , RoboConOnline

We will show how Robot Framework can be used in embedded software testing as a link between established tools and innovative solutions that make automating testing for hardware-related code a real possibility while still complying with regulatory requirements. Based on a practical solution, we examine if Robot Framework can unite both worlds


Traditionally, testing each release of a microcontroller's firmware involves flashing it onto the chip, integrating it into a HIL simulation and testing it in a closed loop. To move away from this time-consuming way of testing embedded firmware, embeff developed the ExecutionPlatform. The ExecutionPlatform allows you to perform open-loop tests on your microcontroller that operate at the pin level, but without performing an entire simulation of the environment (as in system testing). The test specifies a pin behavior or calls functions in the code. As a result, functions in the code are read or the activities on the pins are evaluated.

These tests are written as Robot Framework scripts. They use Robot Keywords corresponding to the needed pins and endpoints the microcontroller sends and reads data from. After you have written your tests on your local machine, you can flash the firmware onto the chip and run the tests all via ethernet.

As firmware becomes more complex and regulatory requirements come into play, a test management tool is required to define and organise the test cases and align them with the requirements and standards. The established TestBench tool provides a modular approach with pre-defined macros for building test cases. It is also possible to generate and export Robot Framework scripts. They can be executed and immediately imported back into the database with the corresponding test results.

This can now be taken a step further with the ability to access, export and execute tests via a REST API call to the TestBench server. This could be triggered by a code change and an automatic build of the binary.


Is this suitable for ..?:

Beginner RF user, Intermediate RF user, Advanced RF user

Daniel Penning studied EE and worked in industry and safety-critical embedded projects before founding embeff. As a conference speaker he regularly shares his passion for high-quality embedded development.
At embeff he works with customers to put innovative solutions for embedded test automation to practical us

I studied aircraft construction in Hamburg, but developed an interest in IT during my studies. For the last two years I have been gaining experience at imbus AG in Python and C++ programming and software testing, also with Robot Framework. By participating in this conference, I am now looking for ways to widen my knowledge and contribute what I have learned so far.