
Varianten und Produktlinien für Embedded Systeme testen
Komplexität beim Test reduzieren
Viele Produkte werden inzwischen in sehr vielen verschiedenen Varianten geliefert. Doch wie kann ich durch Tests sicherstellen, dass alle Varianten funktionieren – ohne dass dabei die Komplexität explodiert?
Zentrale Fragen beim Testen von Varianten und Produktlinien
Bei der Entwicklung und dem Test von Varianten wird man in der Regel mit folgenden Fragen konfrontiert:
- Welchen Arten von Variabilität gibt es?
- Wie hängen Varianten und Produktlinie zusammen?
- Wie kann man die Variabilität beschreiben?
- Wie kann man die Variabilität in der Produktarchitektur umsetzen und konfigurieren?
- Wie kann man mit überschaubarem Aufwand alle Produktvarianten testen?

Arten der Variabilität
Positive Variabilität
Hier werden nur die für eine spezifische Variante benötigten Features in das System integriert.
- Vorteile: Einfachere Systeme, die besser testbar sind.
- Nachteile: Jede Variante erfordert eine eigene Softwareversion, was Wartung und Updates erschwert.

Negative Variabilität
Hier enthält das System alle Features, und die Aktivierung erfolgt über Datenkonfigurationen.
- Vorteile: Eine einzige Softwarebasis für alle Varianten, einfache nachträgliche Änderungen.
- Nachteile: Hohe Konfigurationskomplexität, erschwerte Tests durch viele mögliche Kombinationen.
Zusätzlich unterscheidet man:
- Daten-Variabilität (Unterschiedliche Parameterwerte)
- Verhaltens-Variabilität (Unterschiedliche Systemreaktionen)
- Struktur-Variabilität (Unterschiedliche Systemkomponenten)
Best Practice: Komplexe Verhaltensvariabilität kann häufig durch eine feinere Strukturvariabilität ersetzt werden, was die Testbarkeit vereinfacht.
Produktlinien und Variantenmanagement
Produktlinien helfen, Variabilität strategisch zu organisieren. Features werden in Produktfamilien gruppiert, wodurch sich die Test- und Produktionskomplexität erheblich reduziert. Ein Produkt aus einer Produktfamilie enthält ein Subset der Features der Familie. Beispiele sind Plattformstrategien in der Automobilindustrie oder modulare Haushaltsgeräteserien.
Durch eine strategische Vorabgruppierung dominanter Features in Produktfamilien oder Plattformen kann die Variabilität deutlich reduziert werden. Die Komplexität bei der Softwareentwicklung und beim Test dieser wird dadurch reduziert.

Abbildung 1: Cluster und Vorauswahl von dominanten Features in Produktfamilien, Konfiguration der Features eines Produktes im Rahmen der Produktfamilie
Teststrategien für Varianten
Testebenen bei Embedded Systemen
-
Unit- & Software-Integrationstests: Einzelne Softwarekomponenten lassen sich leicht für verschiedene Varianten testen. Tests zur Nebenläufigkeit sind hingegen schwierig durchzuführen. Die Interaktion mit der Hardware kann nicht getestet werden, ebenso wenig unterschiedliche Hardware-Konfigurationsvarianten. Die Testautomatisierung ist jedoch sehr einfach umsetzbar.
-
Der Mikrocontroller wird als Black Box betrachtet – inklusive Applikation und Treibern. Unterschiedliche Hardwarekonfigurationen lassen sich über die Pins des Controllers simulieren. Die gesamte Software in ihrer jeweiligen Variantenkonfiguration kann vollständig getestet werden. Dank einfacher Hardware ist eine automatisierte Testdurchführung problemlos möglich.
-
Hardware-in-the-Loop-Tests (HiL): Dabei wird das gesamte Steuergerät inklusive Sensorik, Aktuatorik und Leistungsteilen getestet. Die erreichbare Testtiefe ist dabei oft durch spezifische Hardwareeinschränkungen begrenzt – etwa durch den Abstand zwischen Testsystem und Software. Unterscheiden sich Sensorik oder Aktuatorik zwischen Varianten, sind mehrere Testaufbauten erforderlich. Eine Automatisierung ist möglich, aber meist aufwendig.
-
Tests im Realsystem sind in der Regel auf spezifische Varianten beschränkt, da mechanische und elektrische Aufbauten erforderlich sind. Eine Automatisierung ist sehr aufwendig oder gar nicht möglich.

Varianten sind auf Softwareebene gut testbar, jedoch wird es schwieriger, wenn unterschiedliche Hardware erforderlich ist. Simulationen von Hardwareumgebungen können helfen, verschiedene Varianten auf Anwendungsebene zu testen.
Fokus auf HW/SW-Integrationstests
Da hier mit geringem Hardwareaufwand viele Varianten automatisiert getestet werden können, konzentrieren wir uns in der Regel auf diese Ebene.
Die miniHIL-Hardwareplattform bietet eine einfache Möglichkeit zur flexiblen Simulation von Hardwarevarianten. ber ein Patch-Panel können IO-Verbindungen automatisch umgeschaltet werden, um verschiedene Verdrahtungsvarianten zu testen.
Anforderungen an Test-Hardware und -Software
Test-Hardware
- Direkte, flexible Ansteuerung über die Pins des Mikrocontrollers durch umschaltbare elektrische Signale.
- Kostengünstige Test-Hardware, um für verschiedene Mikrocontroller separate Testaufbauten zu ermöglichen.
- Unterstützung von unterschiedlichen Sensorik- und Aktuatorik-Schnittstellen, um verschiedene Hardwarekonfigurationen realistisch abzubilden.
- MiniHIL-Plattform mit automatischer Neuverdrahtung von IOs für verschiedene Varianten (z.B. Digital, Analog, SPI, I2C, CAN, LIN, PWM).
Test-Software
- Umschaltbare IO-Infrastruktur für die verschiedenen Varianten.
- Closed- und Open-Loop-Simulation zur Simulation von verschiedenen Testszenarien, sowohl für den Gut- als auch für den Fehlerfall (Errorinjection).
- Automatische Generierung von Testcases für viele Feature-Kombinationen.
- Vollständige Automatisierung der Tests über Continuous-Integration-Prozesse.
- Modellbasierte Testansätze zur systematischen Validierung von Varianten. Unterstützung für Variantentestmodelle, um Verkabelung, Treiber, Simulationen und Testfälle systematisch zu organisieren.
Testautomatisierung mit Continuous Integration
Durch eine kontinuierliche Integration (CI) kann jede Codeänderung für alle Varianten innerhalb von Minuten getestet werden. Dies umfasst:
- Automatisiertes Bauen, Testen und Ausliefern
- Schnelles Feedback innerhalb von 5 – 60 Minuten
- Test aller Varianten auf allen Zielplattformen bei jeder Änderung
Hardwareplattform für Varianten-Tests
Auf der Testplattform können Signale flexibel verdrahtet und zur Laufzeit umgeschaltet werden, um verschiedene Verdrahtungsvarianten zu testen. Das miniHIL lässt sich dynamisch an verschiedene Mikrocontroller und Sensorkonfigurationen anpassen lassen.
Ein formales Testfallmodell kann helfen, Testfälle für Varianten effizient zu generieren. Durch Zustandsübergangstests (State-Transition-Tests) können alle möglichen Variantenpfade und Datenkombinationen abgedeckt werden.
Fazit
Durch den gezielten Einsatz von HW/SW-Integrationstests mit dem miniHIL und automatisierter Testfallgenerierung lassen sich Varianten effizient und kostengünstig testen. Dies ermöglicht eine skalierbare Qualitätssicherung, selbst bei komplexen Produktlinien. In unseren Vorträgen werden diese Methoden detailliert erläutert und eine Live-Demo eines Varianten-Tests gezeigt.