{"id":8204,"date":"2025-11-29T16:14:41","date_gmt":"2025-11-29T15:14:41","guid":{"rendered":"https:\/\/web-dev-weissblau.de\/microconsult\/?p=8204"},"modified":"2026-02-09T18:40:55","modified_gmt":"2026-02-09T17:40:55","slug":"tdd-in-embedded-practice","status":"publish","type":"post","link":"https:\/\/www.microconsult.de\/en\/tdd-in-der-embedded-praxis\/","title":{"rendered":"TDD in embedded practice"},"content":{"rendered":"<h2>Mehr Vertrauen in den Code mit automatisiertem Feedback<\/h2>\n<p style=\"text-align: left;\" align=\"center\">Autor: Daniel Penning<\/p>\n<h3>Beitrag &#8211; Embedded Software Engineering Kongress 2015<\/h3>\n<p><strong>Eine testgetriebene Entwicklung kann die Softwarequalit\u00e4t ma\u00dfgeblich steigern.\u00a0 F\u00fcr ein Embedded-System sind automatisierte Tests oft nur mit Einsatz spezieller Testhardware m\u00f6glich. Durch einen softwaregest\u00fctzten Dual-Target-Ansatz k\u00f6nnen Tests ohne zus\u00e4tzliche Hardware ausgef\u00fchrt werden. Dieser Artikel argumentiert, dass dabei die ausschlie\u00dfliche Verwendung klassischer Unittests nicht ausreichend ist. Es wird aufgezeigt, wie eine umfassendere Testumgebung aufgebaut werden kann.<\/strong><\/p>\n<h2>Einleitung<\/h2>\n<p>Agile Verfahren haben zu erstaunlichen Fortschritten in der Softwareentwicklung gef\u00fchrt. Trotz erwiesener Vorteile setzen sich SCRUM und \u00e4hnliche Verfahren zur Entwicklung eingebetteter Systeme allerdings nur langsam durch. Ein wesentlicher Grund sind spezielle &#8222;embedded&#8220;-Probleme, wie Hardwareabh\u00e4ngigkeiten und die Ausf\u00fchrungsumgebung der Software.<\/p>\n<p>Der Kern agiler Vorgehen liegt darin, \u00c4nderungen in den Anforderungen im Projektverlauf zu begr\u00fc\u00dfen (<em>embrace change<\/em>). Ver\u00e4nderungen an einer Codebasis k\u00f6nnen aber nur dann schnell erfolgen, wenn sichergestellt ist, dass die Anpassung keine bestehende Funktionalit\u00e4t beeintr\u00e4chtigt. Daher wird ein besonderer Fokus auf den automatischen Test der Software gelegt. Ein schnelles und belastbares Feedback f\u00fchrt dazu, dass Entwickler die Auswirkungen von gr\u00f6\u00dferen Ver\u00e4nderungen schnell absch\u00e4tzen k\u00f6nnen. Die Realisierung dieses Feedback-Elements stellt die zentrale H\u00fcrde in der erfolgreichen Umsetzung agiler Methoden f\u00fcr die Entwicklung eingebetteter Systeme dar. Fehlt dieses Element oder ist nur eine unzureichende Testabdeckung realisiert, kann das Potential derartiger Ans\u00e4tze nicht voll ausgesch\u00f6pft werden.<\/p>\n<h2>Problemstellung und Analyse<\/h2>\n<p>Abbildung 1 (siehe\u00a0<a title=\"TDD in der Embedded-Praxis (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_testqual_tdd_in_der_embedded-praxis_penning.pdf\">PDF<\/a>) zeigt das im Folgenden betrachtete System zur Regelung von Leistungselektronik. Es besteht aus einer Kombination von DSP und FPGA. Auf dem DSP laufen ein Echtzeitbetriebssystem (RTOS) und die in C++ entwickelte Anwendung. Das FPGA erm\u00f6glicht die zeitlich exakte Messung von Signalwerten und das Stellen von Schaltern \u00fcber eine PWM mit genau definiertem Zeitverhalten. F\u00fcr die Untersuchung wird als Leistungselektronik ein Tiefsetzsteller betrachtet.<\/p>\n<p>F\u00fcr dieses exemplarische System soll hier im Sinne der agilen Entwicklung ein testgetriebener Entwicklungsansatz vorgestellt werden. Wie eingangs beschrieben, erfordert dies die Bereitstellung eines schnellen und qualitativ hochwertigen Feedbacks. Dieses Feedback sollte zuverl\u00e4ssig Aufschluss \u00fcber die Stabilit\u00e4t des aktuellen Softwarestandes liefern und damit beispielsweise folgende Fragen beantworten:<\/p>\n<ol>\n<li>Verhalten sich einzelne Methoden wie gew\u00fcnscht?<\/li>\n<li>Wie verhalten sich verschiedene Klassen im Zusammenspiel?<\/li>\n<li>Werden die n\u00f6tigen Tasks in der richtigen Reihenfolge abgearbeitet?<\/li>\n<li>Erf\u00fcllt eine im Code realisierte Regelung die Anforderungen?<\/li>\n<li>L\u00f6st ein softwaregesteuerter \u00dcberlastschutz korrekt aus?<\/li>\n<\/ol>\n<p>(1) und (2) sind das klassische Einsatzgebiet von Unittests. Methoden werden unabh\u00e4ngig voneinander auf bestimmte Erwartungswerte gepr\u00fcft. F\u00fcr das Isolieren von Abh\u00e4ngigkeiten werden Stubs und Mocks eingesetzt. Diese Tests werden bereits zunehmend in der Embedded-Praxis eingesetzt. Da alle Hardware- und Systemabh\u00e4ngigkeiten isoliert sind, kann der zu \u00fcberpr\u00fcfende Code inklusive der Tests bereits f\u00fcr die Architektur des Entwicklungsrechners (PC) kompiliert und auch dort ausgef\u00fchrt und somit \u00fcberpr\u00fcft werden. Ausgezeichnete Literatur [1, 2] besch\u00e4ftigt sich mit der praktischen Umsetzung, insbesondere der f\u00fcr Unittests n\u00f6tigen Softwarearchitektur. Testframeworks wie googletest [3] unterst\u00fctzen den Entwickler bei der Formulierung aussagekr\u00e4ftiger Unittests in C++.<\/p>\n<p>(3) zielt auf das Zusammenspiel der Software mit dem RTOS ab. Die Taskpriorit\u00e4t, das eingesetzte Scheduling-Verfahren und die zeitliche Verf\u00fcgbarkeit von Betriebsmitteln (Mutex, Queue, etc.) bestimmen ma\u00dfgeblich die Ausf\u00fchrreihenfolge der Tasks. Fehler bei der Auslegung der Software auf eine Multitasking-Umgebung f\u00fchren leicht zu Deadlocks, bei denen die komplette Ausf\u00fchrung unterbrochen wird. Die Abh\u00e4ngigkeit zum Betriebssystem und die zeitliche Dimension grenzen diese Integrationstests klar von klassischen Unittests ab. N\u00f6tige Testkonfigurationen m\u00fcssen f\u00fcr das Zielsystem \u00fcbersetzt und dort ausgef\u00fchrt werden. Das Ergebnis muss zudem auslesbar sein. Daher lassen sich solche Tests \u00fcblicherweise nur schwer realisieren.<\/p>\n<p>(4) und (5) beziehen die externe Umgebung in die Tests ein. F\u00fcr bestimmte Ausgangssignale der externen Leistungselektronik wird erwartet, dass die Software mit definierten Stellsignalen reagiert. In der Praxis wird dieser Beweis \u00fcblicherweise mit Systemtests erbracht. Dazu wird entweder ein Hardwaresimulator oder &#8211; wenn m\u00f6glich &#8211; die reale externe Hardware an das System angeschlossen und der Ablauf \u00fcberwacht.<\/p>\n<p>Das Konzept der klassischen Unittests l\u00e4sst sich direkt auf eingebettete Systeme \u00fcbertragen. Per definitionem k\u00f6nnen und sollen diese allerdings nicht die komplexe zeitliche Interaktion mit RTOS und externer Hardware pr\u00fcfen. In der klassischen Softwareentwicklung spielen diese Abh\u00e4ngigkeiten h\u00e4ufig nur eine untergeordnete Rolle. Das Ziel von eingebetteten Systemen ist allerdings gerade die Interaktion mit dieser\u00a0<em>einbettenden<\/em>\u00a0Umgebung. Ein optimales Feedback l\u00e4sst sich hier nur realisieren, wenn auch die Integrationstests (3, 4, 5) einbezogen werden.<\/p>\n<p>Praktisch ist eine manuelle Testausf\u00fchrung auf dem Zielsystem mit hohem Zeit- und Kostenaufwand verbunden und kann daher nicht in der gew\u00fcnschten Frequenz und kurzen Zeitspanne erfolgen. Daher muss eine M\u00f6glichkeit zur Automatisierung gefunden werden.<\/p>\n<h2>L\u00f6sung<\/h2>\n<p>Unittests lassen sich leicht realisieren, da sie auf dem PC ausgef\u00fchrt werden k\u00f6nnen. Dazu wird ein sogenannter Dual-Target-Ansatz verwendet. Der eigentlich f\u00fcr das Zielsystem (hier der DSP) bestimmte Quellcode wird dabei zus\u00e4tzlich f\u00fcr die Architektur des PC (bspw. x86) kompiliert. F\u00fcr Integrationstests l\u00e4sst sich dieser Ansatz nicht direkt \u00fcbernehmen, da der Code Abh\u00e4ngigkeiten aufweist, die auf dem PC nicht vorhanden sind. Abbildung 2 (siehe\u00a0<a title=\"TDD in der Embedded-Praxis (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_testqual_tdd_in_der_embedded-praxis_penning.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>) zeigt diese Abh\u00e4ngigkeiten f\u00fcr das Beispielsystem.<\/p>\n<p>Nahezu jedes gr\u00f6\u00dfere Embedded-System verwendet bereits die hier mit HAL (Hardware Abstraction Layer) bezeichnete Abstraktion von der eigentlichen Hardware. Wird dieser HAL in einer ausreichenden Form auch f\u00fcr den PC zur Verf\u00fcgung gestellt, so kann der gesamte Code bereits f\u00fcr den Entwicklungsrechner kompiliert und dort ausgef\u00fchrt werden. Die nicht l\u00e4nger vorhandene Hardwareabh\u00e4ngigkeit beschleunigt den Entwicklungsprozess und erm\u00f6glicht ein optimales Feedback durch jetzt leicht automatisierbare Integrationstests.<\/p>\n<p>Das verwendete RTOS muss zun\u00e4chst f\u00fcr eine Ausf\u00fchrung auf dem PC \u00a0(bspw. unter Microsoft Windows\u00ae) simuliert werden. Dazu k\u00f6nnen die Tasks mit den nativen Threads, die auf jedem Desktop-Betriebssystem bereitstehen, nachgebildet werden. Ein besonderes Augenmerk muss dabei auf die Realisierung des Schedulers gelegt werden. Das RTOS verwendet ein pr\u00e4emptives Multitasking, kann also laufende Tasks jederzeit unterbrechen. Dieses Verhalten kann unter Windows simuliert werden, wenn der Scheduler in einem eigenen hochpriorisierten Task arbeitet. Alle eigentlichen Programm-Tasks werden in niedrigpriorisierten Threads gekapselt. Ein weiterer hochpriorisierter Task kann die Generierung von Interrupts simulieren. Diese Nachbildung kann sich je nach Betriebssystem als komplex und zeitaufwendig erweisen. F\u00fcr das popul\u00e4re FreeRTOS<strong>\u2122<\/strong>\u00a0existiert bereits eine offizielle Portierung f\u00fcr Windows [4].<\/p>\n<p>Zus\u00e4tzlich m\u00fcssen n\u00f6tige Treiber f\u00fcr die Peripherie mit sinnvollen Implementierungen bereitgestellt werden.<\/p>\n<p>Das Beispielsystem interagiert mit der zu beeinflussenden Leistungselektronik ausschlie\u00dflich \u00fcber das FPGA. Integrationstests sollen das Verhalten\u00a0 einer Regelung \u00fcberpr\u00fcfen k\u00f6nnen. Daher muss neben der reinen Nachbildung der FPGA-Bl\u00f6cke auch eine Simulierung der angeschlossenen Leistungselektronik erfolgen.<\/p>\n<p>Abbildung 3 (siehe\u00a0<a title=\"TDD in der Embedded-Praxis (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_testqual_tdd_in_der_embedded-praxis_penning.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>) zeigt das Verhalten des PWM-Blocks. Die Nachbildung muss den zeitlich deterministischen Charakter erhalten. Dazu wird die in Abbildung 4 (siehe\u00a0<a title=\"TDD in der Embedded-Praxis (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_testqual_tdd_in_der_embedded-praxis_penning.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>) gezeigte Struktur verwendet. Mit einer zeitdiskreten simulierten Systemzeit wird ein Environment Controller (EC) implementiert. Der EC steuert das Ausl\u00f6sen von zeitabh\u00e4ngigen Events, bspw. des On-Events (Setzen des Ausgangs auf einen High-Pegel). Der PWM-Block selbst wird gleichzeitig mit einem Modell des angeschlossenen Systems verbunden.<\/p>\n<p>Aus der bereits durchgef\u00fchrten Auslegung des Reglers stehen PLECS\u00ae-Modelle [5] f\u00fcr die Leistungselektronik \u2013 hier der Tiefsetzsteller &#8211; bereit. PLECS erm\u00f6glicht den Export dieser Modelle in einem ANSI-C kompatiblen Format. Die generierten zeitdiskreten Modelle k\u00f6nnen so leicht an den nachgebildeten PWM-Block angebunden werden. Das von der Anwendung benutzte FPGA-Interface kann nun auf ein realistisches Modell zugreifen. Stelleingriffe \u00fcber die Beeinflussung des PWM-Tastgrades f\u00fchren zu einer dynamischen Reaktion im Modell. Systemgr\u00f6\u00dfen k\u00f6nnen \u00fcber einen weiteren Analog-Digital-Block aus dem Code heraus ausgelesen werden.<\/p>\n<p>Damit sind die Grundvoraussetzungen f\u00fcr Integrationstests geschaffen. F\u00fcr die automatisierte Ausf\u00fchrung m\u00fcssen die Signalverl\u00e4ufe von interessanten Kenngr\u00f6\u00dfen aufgezeichnet und mit vorgegebenen Referenzsignalen abgeglichen werden. Dazu wurde ein hier nicht n\u00e4her besprochenes Signalframework entwickelt, das die n\u00f6tigen Informationen aus XML-Dateien ausliest, Signale w\u00e4hrend der Testlaufzeit aufnimmt und eine automatische Beurteilung vornimmt.<\/p>\n<h2>Beispiel<\/h2>\n<p>Abbildung 5 (siehe\u00a0<a title=\"TDD in der Embedded-Praxis (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_testqual_tdd_in_der_embedded-praxis_penning.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>) zeigt einen Test zur Pr\u00fcfung der Abschaltlogik. Dabei wird zum Zeitpunkt t=4ms per Software das anliegende Modell so beeinflusst, dass es einen Lastkurzschluss simuliert. Die Abschaltlogik ist als Teil der Anwendung innerhalb des DSP in einem Regelungs-Task realisiert. An der Ausf\u00fchrung dieses Tests sind somit alle nachgebildeten Komponenten beteiligt. Weiterhin wird ein grafischer Export generiert, der in Abbildung 6 (siehe\u00a0<a title=\"TDD in der Embedded-Praxis (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_testqual_tdd_in_der_embedded-praxis_penning.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>) dargestellt ist. Aus diesem l\u00e4sst sich der Erfolg\/Nichterfolg des Tests verst\u00e4ndlich nachvollziehen.<\/p>\n<h2>Zusammenfassung<\/h2>\n<p>Der entwickelte Ansatz zeigt, dass eine agile und testgetriebene Methodik f\u00fcr komplexe Systeme mit Hardwareabh\u00e4ngigkeiten m\u00f6glich ist. Dabei muss sichergestellt sein, dass der Entwickler zu jedem Zeitpunkt ein optimales Feedback f\u00fcr den Programmstand erh\u00e4lt. Ein komplett softwarebasierter Testansatz ist automatisierbar, minimiert die Feedbackzeit und senkt Kosten. Durch die Unabh\u00e4ngigkeit von realer Hardware l\u00e4sst sich bereits fr\u00fch entwickeln und die Time-to-Market senken.<\/p>\n<p>Hardwarespezifische Details k\u00f6nnen so allerdings nur aufwendig, zeitabh\u00e4ngige Vorg\u00e4nge innerhalb des DSP \u00fcberhaupt nicht abgebildet werden. Systeme mit einem hohen Logikanteil werden dagegen von einer erh\u00f6hten Testabdeckung profitieren. Die Komplexit\u00e4t und der Umfang von Programmen f\u00fcr eingebettete Systeme steigen stetig. Gleichzeitig erlaubt die zunehmende Rechenleistung eine h\u00f6here Abstraktion auf Softwareebene. Daher ist anzunehmen, dass in Zukunft vermehrt Einsatzgebiete entstehen, die von der Anwendung einer solchen testgetriebenen Methodik profitieren.<\/p>\n<h2>Verweise<\/h2>\n<p>[1]\u00a0 Martin, Robert C.: Agile software development: principles, patterns, and \u00a0\u00a0\u00a0practises. Prentice Hall PTR, 2003.<\/p>\n<p>[2]\u00a0 Grenning, James W.: Test-driven development for embedded C. Pragmatic Bookshelf, 2011<\/p>\n<p>[3]\u00a0<a href=\"https:\/\/github.com\/google\/googletest\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/google\/googletest<\/a><\/p>\n<p>[4]\u00a0\u00a0<a href=\"https:\/\/www.freertos.org\/FreeRTOS-Windows-Simulator-Emulator-for-Visual-Studio-and-Eclipse-MingW.html\" target=\"_blank\" rel=\"noopener\">https:\/\/www.freertos.org\/FreeRTOS-Windows-Simulator-Emulator-for-Visual-Studio-and-Eclipse-MingW.html<\/a><\/p>\n<p>[5]\u00a0<a href=\"https:\/\/www.plexim.com\/de\/plecs\" target=\"_blank\" rel=\"noopener\">https:\/\/www.plexim.com\/de\/plecs<\/a><\/p>\n<p><a title=\"TDD in der Embedded-Praxis (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/fachinfo_ese_testqual_tdd_in_der_embedded-praxis_penning.pdf\" target=\"_blank\" rel=\"noopener\"><strong>Beitrag als PDF downloaden\u00a0<\/strong><\/a><\/p>\n<hr \/>\n<h2>Test, Qualit\u00e4t &amp; Debug &#8211; unsere Trainings &amp; Coachings<\/h2>\n<p><strong>Wollen Sie sich auf den aktuellen Stand der Technik bringen?<\/strong><\/p>\n<p>Dann informieren Sie sich\u00a0<a title=\"Test &amp; Debug Training und Coaching\" href=\"https:\/\/www.microconsult.de\/alle-trainings-termine-komplettuebersicht\/\" target=\"_blank\" rel=\"noopener\"><strong>hier<\/strong>\u00a0<\/a>zu Schulungen\/ Seminaren\/ Trainings\/ Workshops und individuellen Coachings von MircoConsult zum Thema Test, Qualit\u00e4t &amp; Debug.<\/p>\n<p><strong>Training &amp; Coaching zu den weiteren Themen unseren Portfolios finden Sie\u00a0<a title=\"Training &amp; Beratung - alle Themen\" href=\"https:\/\/www.microconsult.de\/training-beratung\/\" target=\"_blank\" rel=\"noopener\">hier<\/a>.<\/strong><\/p>\n<hr \/>\n<h2>Test, Qualit\u00e4t &amp; Debug &#8211; Fachwissen<\/h2>\n<p>Wertvolles Fachwissen zum Thema\u00a0Test, Qualit\u00e4t &amp; Debug steht\u00a0<a title=\"Test und Debug\" href=\"https:\/\/www.microconsult.de\/test-und-debug\/\" target=\"_blank\" rel=\"noopener\"><strong>hier<\/strong>\u00a0<\/a>f\u00fcr Sie zum kostenfreien Download bereit.<\/p>\n<p><a title=\"Test und Debug\" href=\"https:\/\/www.microconsult.de\/test-und-debug\/\" target=\"_blank\" rel=\"noopener\"><strong>Zu den Fachinformationen<\/strong><\/a><\/p>\n<p><strong>Fachwissen zu weiteren Themen unseren Portfolios finden Sie <a title=\"Fachinformationen\" href=\"https:\/\/www.microconsult.de\/fachwissen\/\" target=\"_blank\" rel=\"noopener\">hier<\/a>.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mehr Vertrauen in den Code mit automatisiertem Feedback Autor: Daniel Penning Beitrag &#8211; Embedded Software Engineering Kongress 2015 Eine testgetriebene Entwicklung kann die Softwarequalit\u00e4t ma\u00dfgeblich steigern.\u00a0 F\u00fcr ein Embedded-System sind automatisierte Tests oft nur mit Einsatz spezieller Testhardware m\u00f6glich. Durch einen softwaregest\u00fctzten Dual-Target-Ansatz k\u00f6nnen Tests ohne zus\u00e4tzliche Hardware ausgef\u00fchrt werden. Dieser Artikel argumentiert, dass dabei [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-8204","post","type-post","status-publish","format-standard","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>TDD in der Embedded-Praxis - MicroConsult Academy GmbH<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microconsult.de\/en\/tdd-in-embedded-practice\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TDD in der Embedded-Praxis - MicroConsult Academy GmbH\" \/>\n<meta property=\"og:description\" content=\"Mehr Vertrauen in den Code mit automatisiertem Feedback Autor: Daniel Penning Beitrag &#8211; Embedded Software Engineering Kongress 2015 Eine testgetriebene Entwicklung kann die Softwarequalit\u00e4t ma\u00dfgeblich steigern.\u00a0 F\u00fcr ein Embedded-System sind automatisierte Tests oft nur mit Einsatz spezieller Testhardware m\u00f6glich. Durch einen softwaregest\u00fctzten Dual-Target-Ansatz k\u00f6nnen Tests ohne zus\u00e4tzliche Hardware ausgef\u00fchrt werden. Dieser Artikel argumentiert, dass dabei [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microconsult.de\/en\/tdd-in-embedded-practice\/\" \/>\n<meta property=\"og:site_name\" content=\"MicroConsult Academy GmbH\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-29T15:14:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-09T17:40:55+00:00\" \/>\n<meta name=\"author\" content=\"weissblau media\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"weissblau media\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tdd-in-der-embedded-praxis\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tdd-in-der-embedded-praxis\\\/\"},\"author\":{\"name\":\"weissblau media\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"headline\":\"TDD in der Embedded-Praxis\",\"datePublished\":\"2025-11-29T15:14:41+00:00\",\"dateModified\":\"2026-02-09T17:40:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tdd-in-der-embedded-praxis\\\/\"},\"wordCount\":1696,\"commentCount\":0,\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/tdd-in-der-embedded-praxis\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tdd-in-der-embedded-praxis\\\/\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/tdd-in-der-embedded-praxis\\\/\",\"name\":\"TDD in der Embedded-Praxis - MicroConsult Academy GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\"},\"datePublished\":\"2025-11-29T15:14:41+00:00\",\"dateModified\":\"2026-02-09T17:40:55+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tdd-in-der-embedded-praxis\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/tdd-in-der-embedded-praxis\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tdd-in-der-embedded-praxis\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.microconsult.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TDD in der Embedded-Praxis\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/\",\"name\":\"MicroConsult Academy GmbH\",\"description\":\"Professionelle Schulungen, Beratung und Projektunterst\u00fctzung\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.microconsult.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\",\"name\":\"weissblau media\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"caption\":\"weissblau media\"},\"sameAs\":[\"https:\\\/\\\/www.microconsult.de\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TDD in embedded practice - MicroConsult Academy GmbH","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microconsult.de\/en\/tdd-in-embedded-practice\/","og_locale":"en_GB","og_type":"article","og_title":"TDD in der Embedded-Praxis - MicroConsult Academy GmbH","og_description":"Mehr Vertrauen in den Code mit automatisiertem Feedback Autor: Daniel Penning Beitrag &#8211; Embedded Software Engineering Kongress 2015 Eine testgetriebene Entwicklung kann die Softwarequalit\u00e4t ma\u00dfgeblich steigern.\u00a0 F\u00fcr ein Embedded-System sind automatisierte Tests oft nur mit Einsatz spezieller Testhardware m\u00f6glich. Durch einen softwaregest\u00fctzten Dual-Target-Ansatz k\u00f6nnen Tests ohne zus\u00e4tzliche Hardware ausgef\u00fchrt werden. Dieser Artikel argumentiert, dass dabei [&hellip;]","og_url":"https:\/\/www.microconsult.de\/en\/tdd-in-embedded-practice\/","og_site_name":"MicroConsult Academy GmbH","article_published_time":"2025-11-29T15:14:41+00:00","article_modified_time":"2026-02-09T17:40:55+00:00","author":"weissblau media","twitter_card":"summary_large_image","twitter_misc":{"Written by":"weissblau media","Estimated reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microconsult.de\/tdd-in-der-embedded-praxis\/#article","isPartOf":{"@id":"https:\/\/www.microconsult.de\/tdd-in-der-embedded-praxis\/"},"author":{"name":"weissblau media","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"headline":"TDD in der Embedded-Praxis","datePublished":"2025-11-29T15:14:41+00:00","dateModified":"2026-02-09T17:40:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microconsult.de\/tdd-in-der-embedded-praxis\/"},"wordCount":1696,"commentCount":0,"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microconsult.de\/tdd-in-der-embedded-praxis\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microconsult.de\/tdd-in-der-embedded-praxis\/","url":"https:\/\/www.microconsult.de\/tdd-in-der-embedded-praxis\/","name":"TDD in embedded practice - MicroConsult Academy GmbH","isPartOf":{"@id":"https:\/\/www.microconsult.de\/#website"},"datePublished":"2025-11-29T15:14:41+00:00","dateModified":"2026-02-09T17:40:55+00:00","author":{"@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"breadcrumb":{"@id":"https:\/\/www.microconsult.de\/tdd-in-der-embedded-praxis\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microconsult.de\/tdd-in-der-embedded-praxis\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.microconsult.de\/tdd-in-der-embedded-praxis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microconsult.de\/"},{"@type":"ListItem","position":2,"name":"TDD in der Embedded-Praxis"}]},{"@type":"WebSite","@id":"https:\/\/www.microconsult.de\/#website","url":"https:\/\/www.microconsult.de\/","name":"MicroConsult Academy GmbH","description":"Professional training, consulting and project support","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microconsult.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a","name":"weissblau media","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","caption":"weissblau media"},"sameAs":["https:\/\/www.microconsult.de"]}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/8204","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/comments?post=8204"}],"version-history":[{"count":7,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/8204\/revisions"}],"predecessor-version":[{"id":11530,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/8204\/revisions\/11530"}],"wp:attachment":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/media?parent=8204"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/categories?post=8204"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/tags?post=8204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}