Tool-gestützte Tests helfen, bei variantenreichen Embedded-Systemen die Qualität sicherzustellen und so auch die funktionale Sicherheit der Produkte zu gewährleisten.
Bunte Mischung: Varianten eines Produkts erhöhen den Testaufwand. Mit speziellen, integrierbaren Tools lassen sich teilautomatisierte Testdesigns realisieren, die den Aufwand reduzieren und komplexe Testszenarien beherrschbar machen.
Um die Entwicklung variantenreicher Produkte effizient und kostengünstig zu bewältigen, greift man in der Softwareentwicklung auf Produktlinien zurück. Produktlinien sind vergleichbar mit den Entwicklungsplattformen im Fahrzeugbau und umfassen mehrere individuelle Ausprägungen eines Softwareprodukts, die jeweils unterschiedliche Anforderungen erfüllen.
Durch gezielte und organisierte Wiederverwendung gemeinsamer Produktartefakte als Basis für unterschiedliche Varianten der Produktlinie können Ressourcen und Entwicklungskosten gespart werden.
Bildergalerie
Der wesentliche Zweck der Entwicklung von Produktlinien ist es, die Software unterschiedlichen Bedürfnissen anpassen zu können. Die konzeptionelle Entwicklung einer Produktlinie muss zwei wesentliche Aspekte berücksichtigen:
1. Die Beschreibung der Variabilität einer Produktlinie
Die Variabilität einer Produktlinie beschreibt die Gesamtheit der Funktionen eines Softwareprodukts, die durch Selektion an unterschiedliche Kundenbedürfnisse angepasst werden können.
Domain Engineering stellt ein Konzept zur systematischen Wiederverwendung von Softwareartefakten in der Entwicklung dar. In der Domain Analyse werden Gemeinsamkeiten und Unterschiede in den entwickelten Systemen identifiziert. Darauf aufbauend können auf der Ebene des Domain-Designs die konstanten und variablen Komponenten einer Produktlinie definiert werden. Im Application Engineering erfolgt nun die Entwicklung der je individuellen Endprodukte durch den Einsatz der entwickelten Softwareartefakte. Es entstehen Produktvarianten mit gemeinsamen und unterschiedlichen Eigenschaften. Diese Eigenschaften werden auch Features genannt. Dabei unterscheidet man zwischen den Basis-Features und den variantenspezifischen Features einer Produktlinie.
Feature-Modelle
Für die Darstellung aller Varianten einer Produktlinie nutzt man sogenannte Feature-Modelle. Die Darstellung des Modells mit seinen Features kann zum Beispiel mit Hilfe einer Baumstruktur erfolgen. Bild 1 zeigt den Auszug eines vereinfachten Feature-Modells. Darin werden Feature-Varianten für die Zugangskontrolle eines Fahrzeugs dargestellt.
Die Elemente in einem Feature-Modell können nach unterschiedlichen Typen, Relationen und Merkmalen unterschieden werden. Feature-Typen unterscheiden einzelne Features anhand bestimmter Merkmale. Hierunter fällt beispielsweise die Unterscheidung in verbindliche Features, die in jeder Produktvariante enthalten sein müssen und optionale Features. Feature-Relationen beschreiben die Art der Beziehung eines Features zu seinen Verzweigungen. So kann die Auswahl eines Features die eines Anderen voraussetzen (requires) oder ausschließen (excludes).
Es kann auch die Auswahl von Features eingeschränkt werden. So lassen sich beispielsweise Grenzwerte für die Anzahl der wählbaren Features aus einer Gruppe von definieren. So ist im dargestellten Feature-Modell nur eine Länder- oder Türkonfiguration pro Produktvariante zulässig. Feature-Merkmale sind etwa Attribute, die Informationen zu einem Feature enthalten wie zum Beispiel Bezeichnungen und Wertebereiche.
Im Software-Entwicklungsprozess kommt den Variationspunkten eine besondere Bedeutung zu. Diese kennzeichnen die Gabelungswege, die die Entstehung neuer Produktvarianten grafisch beschreiben. Semantisch können Feature-Kombinationen durch aussagenlogische Formeln beschrieben werden.
Mit Hilfe eines Feature-Modells können aber nicht nur die verschiedenen Funktionen des zu entwickelnden Systems dargestellt werden, es bietet auch eine Möglichkeit zur Optimierung des Testentwurfs von variantenreichen eingebetteten Systemen.
Variantentest
Da Produktvarianten den Testaufwand deutlich erhöhen, ist es wichtig, eine Möglichkeit zur Verwaltung und Ausführung der daraus resultierenden Testfälle zu haben. ITPower Solutions hat ein solches Konzept für den Variantentest eingebetteter Software entwickelt. Mit Hilfe von Feature-Modellen wurde eine Möglichkeit zur Selektierung von Testfällen für unterschiedliche Produktvarianten geschaffen. Die Selektierung von Testfällen für unterschiedliche Produktvarianten geschieht dabei über die Verknüpfung von Testfällen und Features einer Produktlinie. Die Verknüpfung erfolgt dabei an den Variationspunkten. Hier kann zu jedem Kind-Knoten eines Eltern-Knotens des Feature-Baums ein entsprechendes Testelement spezifiziert werden.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Das Ziel war es, ein Testvorgehen zu definieren, das alle möglichen Features testet, diese mit den Variationspunkten verknüpft und nach der Eingabe von Teststrategiekriterien die geeigneten Testfälle automatisch selektiert.
Die jeweilige Produktvariante wird hierbei über eine aussagenlogische Formel repräsentiert, die jedes Feature durch eine boolesche beschreibt. Der Semantik des aussagenlogischen Modells entspricht demzufolge die Menge aller Feature-Konfigurationen, welche das Feature-Modell zulässt. Bei der Implementierung der Lösung muss natürlich darauf geachtet werden, dem Benutzer keine widersprüchliche Auswahl von Features zu erlauben.
Um eine Variante zu definieren wählt der Benutzer z.B. die Features A1, A2, …, An. Diese würden dann, gemäß den Feature-Typen, -Relationen und -Merkmalen die Features B1, B2, …, Bm implizieren und die Features C1, C2, …, Ck, ausschließen. Die folgende Formel repräsentiert dementsprechend den logischen Abschluss und die ausgewählte Konfiguration:
Die grafische Darstellung der Feature-Modelle zur Spezifikation der Varianten als Softwareimplementierung erfolgt in diesem Fall über TreeView-Elemente (siehe Bild 2). Die TreeView-Struktur bietet eine gute Übersichtlichkeit, z.B. durch das Auf-und Zuklappen von Elementen und Gruppierungen, und ermöglicht eine gute Skalierbarkeit. Informationen über die hierarchischen Beziehungen zwischen den Features werden mittels spezieller Symbole und Zeichen in der TreeView-Ansicht dargestellt. Nachträgliche Informationen zu einem Feature, z. B. Feature-Relationen und Attribute können zusätzlich in den dafür vorgesehenen Fenstern eingetragen und angezeigt werden.
Für das Variantenmanagement im Testprozess wird nun die Möglichkeit geschaffen, die Testfälle mit den Features zu verknüpfen. Dies geschieht in diesem Fall über ein zusätzliches Menu, das die Definition von beliebigen Stellen im Testablauf als Variationspunkt und die anschließende Verknüpfung der alternativen Testelemente mit den entsprechenden Features im Feature-Modell ermöglicht. Für die Testdurchführung wählt der Tester eine Variante der Produktlinie aus. Elemente, die nicht zur ausgewählten Konfiguration gehören, müssen entsprechend deaktiviert und gekennzeichnet werden.
Für die Auswahl von Tests und Varianten werden verschiedene Strategien zur Verfügung gestellt. Dies ist wichtig für die automatisierte Erstellung von Testsuiten. Um die Testabdeckung der Features zu steuern, können alternative Kriterien dafür festgelegt werden, wie oft ein einzelnes Feature getestet wird. Mit einer Variantenauswahl kann die im Test zu verwendende Menge an Varianten definiert werden. Die dritte Strategieoption berücksichtigt die Verteilung des Testaufwandes zwischen verschiedenen Varianten, um die Testintensität zwischen ihnen auszugleichen und Features, die bereits ausreichend getestet wurden, überspringen zu können.
Integration in bestehende Testwerkzeuge
Lösungen für den Test variantenreicher Systeme eignen sich besonders für die Integration in vorhandene Testwerkzeuge. Sie setzen damit auf bestehende Funktionalitäten auf und erweitern diese. Mit dem entwickelten Konzept und seiner Implementierung im Testtool ContinoProva wird teilautomatisiertes Testdesign für variantenreiche eingebettete Systeme unterstützt. Dadurch wird der Testentwurf wesentlich vereinfacht, Anpassungen erleichtert und die Erstellung von Testsuiten für den Test ganzer Produktlinien ermöglicht.
So werden komplexe Testszenarien beherrschbar. Die Produktentwicklung kann sich ganz auf die Anforderungen des Marktes konzentrieren ohne sich von Fragen der Qualitätssicherung ausbremsen lassen zu müssen.
Pavel Golitcyn: „Automatische Selektierung von Testfällen für variantenreiche eingebettete Systeme“; Berlin 2018
* Sebastian Stritz ist Account-Manager Vertrieb & Marketing bei ITPower Solutions in Berlin. Pavel Golitcyn, M.Sc. ist Entwicklungs- und Testingenieur bei ITPower Solutions