3 min read

Testing Embedded Systems

Testing Embedded Systems

Podcast Episode: Testing Embedded Systems

In this episode, we take a deep dive into the world of embedded software development. We look at the particular challenges of testing embedded systems, which are often heavily tied to hardware. We emphasize that quality and adherence to standards such as MISRA are crucial. We also discuss the role of agility in embedded development and emphasize the importance of good communication within the team.

"With functional safety systems, you have a regular environment. If you have a certain target level, you simply have to develop according to certain standards." - Alexander Eisenhuth

Alexander Eisenhuth is a software architect and supports manufacturers of embedded systems with his mentoring in the development of their software architecture. His specialty is to make junior software architects fit in their role as software architects with targeted 1:1 mentoring so that they can master their challenges more effectively. What always fascinates him about the work of the software architect in agile processes is the interaction between the two roles of architect and team. An important task of the agile software architect is to identify architecture work and implement it together with the team wherever possible.

apple spotify youtube

Highlights der Episode

  • Embedded systems are specialized systems within other systems, such as ABS systems in cars or coffee machines.
  • Quality assurance and testing are particularly challenging for embedded systems as they are closely linked to the hardware.
  • There are special coding standards, such as MISRA and static code analysis, which ensure that the source code complies with certain rules.
  • Embedded systems often have limited resources, which influences the choice of programming language and libraries. C, C++ and Rust are common languages.
  • Agility and continuous integration are also important in embedded development to ensure high quality.

Embedded software development and quality assurance

In this podcast episode, Richie talks to Alex Eisenhut about the challenges and peculiarities of embedded software development, particularly in the area of testing and quality assurance.

Introduction to the world of embedded software

Hello and welcome to a new episode of our podcast! Today we're delving into the fascinating world of embedded software development. How do you test these special systems? How do you ensure their quality? And what is particularly important in the safety-critical area? Our guest is Alexander Eisenhut, an expert in this field. Alex starts by explaining that embedded systems are often integrated into larger systems and have specialized tasks. One example of this is the ABS system in a car. These systems require special test methods as they are closely linked to the hardware.

Quality assurance from an architect's perspective

Alex, who works as a software architect for embedded systems, emphasizes that quality plays a central role. He describes that testing embedded systems is particularly challenging as they often interact directly with the hardware. This requires testing within the context of the system. To illustrate this, Alex explains the difficulties of simulating scenarios such as a car's ABS system, where exact timing is crucial. He emphasizes that quality assurance starts with the architecture, using specific coding standards such as MISRA and static code analysis.

Resource constraints and programming languages

Another important aspect in the development of embedded software is the limited resources. Alex explains that depending on the requirements, the hardware can be dimensioned differently. In some cases, only a few kilobytes of RAM are available, which requires efficient code. The choice of programming language and libraries also play a decisive role here. Traditionally, a lot of programming is done in C or C++, but modern languages such as Rust are also gaining in importance, especially due to their security features.

Test types and development processes

The safety requirements for many embedded systems require specialized types of testing. Alex describes the regulatory framework for functionally safe systems and explains the process from specifications to formal testing. The development process often starts with evaluation boards before specific hardware is developed. Various test stages are run through: Unit tests, integration tests without hardware and finally system tests on the final hardware. Agile development has also made inroads here, with regular iterations and adjustments to user feedback playing an important role.

Challenges and agility

A big issue in embedded development is collaboration between hardware and software teams. Richie remembers previous projects in which this communication was difficult. However, Alex emphasizes that agility is also possible in this area, as long as the mindset is right. Joint considerations and flexible approaches are crucial here. Automation also plays a major role: CI pipelines are standard and enable continuous integration and automated tests on target systems.

Final thoughts and tips

"What are the biggest challenges in embedded development?" asks Richie in conclusion. According to Alex, it is often time-to-market pressure and communication problems with requirements and their implementation. Compliance with security standards is also a challenge. For those interested, Alex recommends the Embedded Software Engineering Congress (ESE) in Sindelfingen - a great opportunity for networking and learning. Finally, Richie thanks Alex for the informative discussion and wishes all listeners an enjoyable immersion into the world of embedded software.

Software Test Leaders

Software Test Leaders

Leadership in software testing is often overlooked, leaving teams to manage quality at a local level without broader organizational guidance or...

Weiterlesen
Stoicism in Software Development

Stoicism in Software Development

Podcast Episode: Stoicism in Software Development Self-control, composure, thoughtfulness - these are just a few of the stoic principles. You can...

Weiterlesen
Impostor Syndrome

Impostor Syndrome

Podcast Episode: Impostor Syndrome In this episode of the podcast, I welcome Sophie Küster, who tells us all about Impostor Syndrome. Sophie, who has...

Weiterlesen