Optimierung von E/E-Funktionstests durch Homogenisierung ... - FKFS
Optimierung von E/E-Funktionstests durch Homogenisierung ... - FKFS
Optimierung von E/E-Funktionstests durch Homogenisierung ... - FKFS
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Optimierung</strong> <strong>von</strong> E/E-<strong>Funktionstests</strong> <strong>durch</strong> <strong>Homogenisierung</strong> und<br />
Frontloading<br />
Dipl.-Ing Matthias Wiese ∗ , Dr. Günter Hetzel ∗ , Prof. Dr.-Ing Hans-Christian Reuss ∗∗<br />
∗ Dr. Ing. h.c. F. Porsche AG<br />
∗∗ Forschungsinstitut für Kraftfahrwesen und Fahrzeugmotoren Stuttgart<br />
Abstract: Zur Kosten-/Nutzenoptimierung der <strong>Funktionstests</strong> moderner Kraftfahrzeuge<br />
wird im Bereich Elektrik/Elektronik (E/E) eine <strong>Homogenisierung</strong><br />
der heterogenen Testlandschaft angestrebt. Dabei kann zwischen einer horizontalen<br />
und vertikalen <strong>Homogenisierung</strong> differenziert werden.<br />
In der Horizontalen soll eine <strong>Homogenisierung</strong> über die verschiedenen<br />
Fachbereiche der E/E-Entwicklung bzw. verschiedenen Kooperationspartner<br />
– beispielsweise Zulieferer und andere Fahrzeughersteller – stattfinden. Damit<br />
die Tests über diese verschiedenen Organisationen austauschbar sind, gehen<br />
Bestrebungen unter anderem getrieben <strong>durch</strong> die Herstellerinitiative Software<br />
(HIS) dahin, Standards für ein Testaustauschformat und eine Schnittstelle<br />
der Testsysteme zu definieren. Eine standardisierte Schnittstelle für Testsysteme<br />
<strong>durch</strong>läuft derzeit bei der ” Association for Standardization of Automation<br />
and Measuring Systems“ (ASAM) den Standardisierungsprozess. Desweiteren<br />
soll ein sich aktuell in Entwicklung befindliches Metamodell für<br />
Testbeschreibungen standardisiert werden und den Austausch <strong>von</strong> Testfällen<br />
ermöglichen. In der Vertikalen wird eine <strong>Homogenisierung</strong> über die verschiedenen<br />
Teststufen – <strong>von</strong> Modelltests bis zu Steuergeräteverbundtests – angestrebt.<br />
Da bei modellbasiert entwickelten Funktionen frühzeitig ausführbare<br />
Artefakte in Form <strong>von</strong> Funktionsmodellen vorliegen, bietet sich die Möglichkeit,<br />
die <strong>Funktionstests</strong> im Entwicklungsprozess vorzuziehen und zusammen<br />
mit den gewonnenen Erkenntnissen auf darauffolgende Teststufen zu<br />
übertragen. Die frühzeitige Fehlerbehebung im Entwicklungsprozess führt zu<br />
einem Frontloading, welches zur Minimierung der Risiken und Reduktion der<br />
Kosten beiträgt. Bei der Testentwicklung liegen die Tests auf unterschiedlichen<br />
Abstraktionsniveaus vor. Mithilfe eines Top-Down-Ansatzes werden die<br />
Tests – analog zum modellbasierten Entwicklungsprozess des Steuergerätecodes<br />
– <strong>durch</strong>gängig vom Abstrakten zum Konkreten verfeinert. Es kommt<br />
eine Methode zum Einsatz, die <strong>durch</strong> iterative Testentwicklung zu einer kontinuierlichen<br />
Verbesserung der Funktiontests beiträgt. Dazu wird die Testabdeckung<br />
auf den Funktionsmodellen gemessen, was <strong>durch</strong> deren White-Box-<br />
Charakter möglich ist. Durch die Auswertung der Abdeckungsmessungen und<br />
der zu erreichenden Testziele wird der Tester im weiteren Verlauf bei der<br />
Testerstellung unterstützt und der Reifegrad der Tests gezielt erhöht. Um die<br />
Testfälle problemlos auf die folgenden Teststufen portieren zu können, sind<br />
bereits bei der Testfallerstellung gewisse Randbedingungen zu beachten.<br />
In dem vorliegenden Beitrag werden die oben beschriebenen Herangehensweisen<br />
und Methoden dargestellt. Dabei liegt der Fokus auf der <strong>Optimierung</strong><br />
<strong>von</strong> <strong>Funktionstests</strong> <strong>durch</strong> die horizontale und vertikale <strong>Homogenisierung</strong><br />
der Testlandschaft.
1 Einleitung<br />
Seit Jahren ist in der Automobilindustrie ein Trend zu einem steigenden Anteil an Fahrzeugelektrik/elektronik<br />
zu beobachten (siehe [SZ06]). Dies führt im Bereich Testen zu<br />
hohen Kosten, welche laut [BAB + 06] 30-50% der gesamten Entwicklungskosten ausmachen.<br />
Da die für Tests zur Verfügung stehenden Ressourcen jedoch begrenzt sind, ist eine<br />
<strong>Optimierung</strong> des Testprozesses erforderlich.<br />
Derzeit findet bei der Porsche AG exemplarisch eine <strong>Optimierung</strong> des Testprozesses in<br />
einem Projekt des Antriebsstranges mit modellbasierter Funktionsentwicklung statt. Dabei<br />
modelliert der Fahrzeughersteller Funktionen und generiert daraus Seriencode, der<br />
beim Zulieferer in das Steuergerät integriert wird. Mithilfe einer iterativen Methode werden<br />
Tests bereits auf Ebene der Funktionsmodelle gezielt verbessert und – analog zur<br />
modellbasierten Entwicklung – <strong>durch</strong>gängig im Testprozess wiederverwendet.<br />
2 Herausforderungen im Testprozess<br />
Im Folgenden werden aktuelle Herausforderungen im Testprozess <strong>von</strong> E/E-Funktionen<br />
beschrieben.<br />
Die Fahrzeugentwicklung findet heutzutage in der Regel verteilt zwischen verschiedenen<br />
Kooperationspartnern statt. Dies führt zu einer Heterogenität beim Testen, da Testaktivitäten<br />
zwischen verschiedenen Organisationen häufig nicht optimal abgestimmt sind und<br />
die Tests oftmals keinen einheitlichen Qualitätsstandard erfüllen. Auch führen Brüche im<br />
eigenen Testprozesses zu Verlustleistungen, die beseitigt werden sollten.<br />
Da nach [BCH + 00] Fehlerbehebungskosten im Lebenszyklus eines Fehlers stark ansteigen,<br />
besteht eine weitere Herausforderung darin die kritischen Fehler möglichst frühzeitig<br />
im Entwicklungsprozess zu identifizieren und zu entfernen. Die modellbasierte Funktionsentwicklung<br />
ermöglicht dies, da hierbei bereits frühzeitig im Entwicklungsprozess<br />
ausführbare Artefakte – in Form <strong>von</strong> Funktionsmodellen – zur Verfügung stehen. Zur <strong>Optimierung</strong><br />
des Testprozesses ist es erforderlich, beim Testen eine Durchgängigkeit analog<br />
zur modellbasierten Entwicklung zu erreichen und die Tests gezielt zu verbessern.<br />
3 <strong>Homogenisierung</strong> des Testprozesses<br />
Eine <strong>Optimierung</strong>smöglichkeit besteht darin die heterogene Testlandschaft zu homogenisieren.<br />
Wie in Abbildung 1 dargestellt, kann diese <strong>Homogenisierung</strong> in unterschiedlichen<br />
Dimensionen erfolgen. In der Horizontalen wird eine <strong>Homogenisierung</strong> über mehrere Organisationseinheiten<br />
angestrebt. Außerdem bietet es sich an, den Testprozess über die in<br />
der Teststrategie definierten Teststufen – vom Modultest bis zum Gesamtfahrzeugtest –<br />
vertikal zu homogenisieren. Dazu ist die Durchgängigkeit und die Wiederverwendung<br />
<strong>von</strong> Tests im Testprozess zu erhöhen. Im Folgenden wird die konkrete Umsetzung der<br />
horizontalen und vertikalen <strong>Homogenisierung</strong> des Testprozesses beschrieben.
Gesamtfahrzeugtests<br />
Fahrzeugtests<br />
Gesamtverbundstests<br />
Teilverbundtest<br />
Steuergerätestests<br />
Komponententests<br />
Teststufen<br />
Modultests<br />
Testfälle<br />
Teststrategien<br />
Testwerkzeuge<br />
Testprozesse<br />
Testmethoden<br />
Testumgebungen<br />
Fachabteilungen OEM Zulieferer …<br />
Abbildung 1: <strong>Homogenisierung</strong>spotential der Testlandschaft<br />
3.1 <strong>Homogenisierung</strong> über verschiedene Organisationen<br />
Organisationen<br />
In horizontaler Richtung findet eine <strong>Homogenisierung</strong> des Testprozesses über verschiedene<br />
Organisationen statt. Dazu werden die Testprozesse zwischen verschiedenen Organisationseinheiten<br />
innerhalb eines Unternehmens, <strong>von</strong> kooperierenden Fahrzeugherstellern<br />
und zwischen Fahrzeugherstellern und Zulieferern harmonisiert.<br />
Innerhalb eines Unternehmens kann eine horizontale <strong>Homogenisierung</strong> <strong>von</strong> Testprozessen<br />
über die verschiedenen Fachbereiche und Fahrzeugdomänen erfolgen. Dazu wurde<br />
bei Porsche eine Testorganisation als Querschnittsabteilung eingerichtet, welche die<br />
Fachbereiche im Testprozess unterstützt und diesen homogenisiert. Zusätzlich zu der organisatorischen<br />
Fusionierung wurde diese Organisation räumlich in einem Testzentrum<br />
zusammengelegt. Die Testorganisation bearbeitet als Dienstleister Testaufträge für die<br />
Fachabteilungen und liefert diesen Testergebnisse zurück. Durch die Konzentration der<br />
Testkompetenz konnten Synergien erreicht werden. Zusätzlich zu der operativen Bearbeitung<br />
<strong>von</strong> Testaufträgen standardisisert die Testorganisation den Testprozess innerhalb<br />
des Unternehmens. Um zu verhindern, dass die Testqualität projektspezifisch bzw. fachbereichsabhängig<br />
abweicht, werden Templates für unterschiedliche Arbeitsprodukte wie<br />
Teststrategien, Prüfkataloge und Testspezifikationen zur Verfügung gestellt. Diese werden<br />
<strong>durch</strong> die Fachbereiche ausgefüllt und <strong>von</strong> der zentralen Testorganisation einem Review<br />
unterzogen.<br />
Die horizontale <strong>Homogenisierung</strong> kann auch über kooperierende Fahrzeughersteller stattfinden.<br />
Wenn eine gemeinsame Fahrzeugplattform entwickelt wird, bietet es sich an,<br />
Entwicklungs- und Testaktivitäten aufzuteilen. Dafür ist eine Abstimmung und Harmonisierung<br />
der Testprozesse zwischen den Kooperationspartnern erforderlich. Dies soll sicherstellen,<br />
dass nichts Wichtiges vergessen und der Aufwand für redundante Tests reduziert<br />
wird. Je nach Kooperationsstrategie ist im Testbereich ein Austausch auf verschiedenen<br />
Abstraktionsstufen möglich. Beispielsweise können Teststrategien, Testspezifikationen<br />
und Testprogramme ausgetauscht werden. Eine weitere <strong>Optimierung</strong>smöglichkeit<br />
besteht in der Angleichung der Testsysteme über mehrere Organisationseinheiten. Da<strong>durch</strong><br />
können gesammelte Erfahrungen und erstellte Spezifikationen <strong>von</strong> Testsystemen<br />
wiederverwendet werden, was beim Aufbau der Testinfrastruktur zu Kosten- und Zeit-
vorteilen führt. Der konzernweite Einsatz der Testautomatisierung EXAM erleichtert es<br />
– entsprechend zur konzernweiten Gleichteilestrategie – Tests und Testergebnisse direkt<br />
wiederzuverwenden.<br />
Auch konzernübergreifend stellen Standards ein wichtiges Instrument zur horizontalen<br />
<strong>Homogenisierung</strong> dar. Im Rahmen des ” Association for Standardization of Automation<br />
and Measuring Systems“ (ASAM) wird derzeit an Standards beim Testen gearbeitet.<br />
Da<strong>durch</strong> sollen verschiedene Organisationen Arbeitsprodukte wiederverwenden und ihre<br />
Prozesse besser koppeln können. Aktuell befindet sich beim ASAM eine Schnittstelle für<br />
Hardware-in-the-Loop (HiL) Testsysteme, die als HiL-API bezeichnet wird, im Standardisierungsprozess.<br />
Das Ziel besteht darin, einen einheitlichen Zugriff auf die Testsysteme<br />
unterschiedlicher Testsystemhersteller gewährleisten. Da<strong>durch</strong> können Abhängigkeiten,<br />
die aufgrund bestehender Testware <strong>von</strong> einzelnen Testsystemen und deren Herstellern bestehen,<br />
reduziert werden. Darüber hinaus wird an einem Testaustauschformat gearbeitet,<br />
um den Austausch <strong>von</strong> Tests zwischen Kooperationspartnern auf unterschiedlichen Abstraktionsebenen<br />
– <strong>von</strong> der Testspezifikation bis zum ausführbaren Testprogramm – zu<br />
ermöglichen. Mit diesem Testaustauschformat soll der Export <strong>von</strong> Testfällen aus einem<br />
Testautomatisierungssystem und der Import in ein anderes Testautomatisierungssystem<br />
realisierbar sein. Dazu wird derzeit ein Metamodell entwickelt, welches definiert wie die<br />
Testfälle zu beschreiben sind. Dieses Testaustauschformat soll beim ASAM standardisert<br />
werden.<br />
Erfahrungsgemäß ist für die horizontale <strong>Homogenisierung</strong> des Testprozesses der Kooperationswille<br />
auf Arbeitsebene eine wichtige Vorraussetzung. Da für die horizontale <strong>Homogenisierung</strong><br />
Initialaufwände zu erbringen sind, bevor die beschriebenen Vorteile zum<br />
tragen kommen, müssen die notwendigen Ressourcen <strong>von</strong> den Kooperationspartnern auf<br />
Management-Ebene bereitgestellt werden.<br />
3.2 <strong>Homogenisierung</strong> der Teststufen<br />
Die vertikale <strong>Homogenisierung</strong> optimiert den Testprozess über die verschiedenen Teststufen.<br />
Dazu ist das Zusammenspiel zwischen eingesetzten Werkzeugen und <strong>durch</strong>zuführenden<br />
Aktivitäten zu verbessern.<br />
Die Testfallerstellung erfolgt <strong>durch</strong>gängig nach einem Top-Down-Verfahren – vom Abstrakten<br />
zum Konkreten. Aus Anforderungen werden funktionale Prüfkataloge abgeleitet,<br />
welche die zu testenden Funktionen auflisten. Daraufhin erfolgt die Spezifikation <strong>von</strong><br />
konkreten Testfällen. Die konzernweit eingesetzte Testautomatisierung wurde auf verschiedene<br />
Teststufen portiert, wo<strong>durch</strong> die Wiederverwendung <strong>von</strong> Testfällen im Testprozess<br />
erleichtert wird. Dabei werden die Tests – analog zur Funktionsentwicklung –<br />
modellierbasiert entwickelt und daraus ausführbare Testprogramme generiert. Zur Testfallmodellierung<br />
kommt UML zum Einsatz, wobei die Verhaltensbeschreibung mittels<br />
Sequenzdiagrammen erfolgt. Die Testfälle werden zunächst auf einem hohem Abstraktionsgrad<br />
gegen definierte Schnittstellen modelliert, deren Implementierungen sich unterscheiden<br />
können. Um keine testsystemabhängigen Signalen zu verwenden, benutzen die<br />
Testfälle abstrakte Signale. Über eine Mapping-Schicht können diese abstrakten Signale<br />
auf die konkreten Signale der Testumgebung abgebildet werden. Diese Abstraktionsmechanismen<br />
reduzieren die Komplexität der Testfälle für die Modellierer und erhöhen die
Plattformunabhängigkeit der Testfälle.<br />
Im Testprozess kann eine <strong>Homogenisierung</strong> <strong>durch</strong> Regressionstests über mehrere Iterationszyklen<br />
erfolgen. Diese stellen sicher, dass die bereits in einen vorangegangenen Release<br />
getestete Funktionalität in einem neuen Release weiterhin besteht. Damit diese Tests<br />
vergleichbar sind, eignen sich automatisierte Tests hierfür besonders. Nach [RW06] sind<br />
automatiserte Tests im Vergleich zu manuellen Tests mit niedrigen Kosten wiederholbar.<br />
Deshalb ist es bei dem vorliegenden Entwicklungsprozess mit zahlreichen Iterationen<br />
sinnvoll die Regressionstests zu automatisieren.<br />
4 Frontloading des Testprozesses<br />
Da bei der modellbasierten Funktionsentwicklung frühzeitig ausführbare Artefakte – in<br />
Form <strong>von</strong> Funktionsmodellen – vorliegen, ist es möglich Tests zeitlich im Entwicklungsprozess<br />
vorzuziehen, was im Folgenden als Frontloading bezeichnet wird. Dies ist wirtschaftlich<br />
sinnvoll, da Fehlerbehebungskosten vor der Auslieferung wesentlich niedriger<br />
als danach ausfallen (siehe auch [Bla00]). Deshalb erfolgen die <strong>Funktionstests</strong> in der modellbasierten<br />
Funktionsentwicklung bei der Porsche AG vor der Auslieferung an den Zulieferer,<br />
welcher die Integration der Funktionen in das Steuergerät vornimmt. Dazu werden<br />
die Funktionsmodelle auf eine Rapid-Control-Prototyping-System (siehe [AA06])<br />
im Fahrzeug portiert und damit <strong>Funktionstests</strong> <strong>durch</strong>geführt. Die Verfügbarkeit <strong>von</strong> Fahrzeugen<br />
mit die Rapid-Control-Prototyping-Systemen ist jedoch aufgrund hoher Kosten<br />
begrenzt. Auch fallen <strong>durch</strong> manuelle <strong>Funktionstests</strong> bei iterativer Entwicklung hohe<br />
Aufwände an. Darüber hinaus existieren schwer nachstellbare Situationen und extreme<br />
Fahrmanöver, deren Durchführung in realen Fahrversuchen nicht vertretbar ist. Aus diesen<br />
Gründen wurde die in Abbildung 2 dargestellte Closed-Loop-Simulationsumgebung<br />
aufgebaut. Dabei interagiert ein Umgebungsmodell mit dem Testobjekt, welches die im<br />
Entwicklungsprozess <strong>durch</strong>laufenen Ausprägungsformen – vom Funktionsmodell bis zum<br />
Steuergerät – annehmen kann. Das Umgebungsmodell simuliert die Fahrzeugphysik, Aktoren,<br />
Sensoren, Fahrer und Strecke. Aus Synergiegründen kommt bei Model-, Softwareund<br />
Hardware-in-the-Loop-Testsystemen immer das gleiche Umgebungsmodell zum Einsatz.<br />
Die Signalanpassungen sind jedoch an das entsprechene Testobjekt zu adaptieren,<br />
welches die Ausprägungen Funktionsmodell, Softwarekomponente oder Steuergerät annehmen<br />
kann. Beispielsweise sind bei der Model-in-the-Loop-Simulation lediglich Fließkommazahlen<br />
und nicht wie am HiL-Testsystem elektrische Größen und CAN-Botschaften<br />
erforderlich. Die In-the-Loop-Simulation erfolgt auf einem Echtzeitsystem und stellt eine<br />
Laufzeitumgebung für manuelle und automatisierte Tests dar. Für automatiserte Tests<br />
wurde – ganz im Sinne der <strong>Homogenisierung</strong> – die konzerneinheitliche Testautomatisierung<br />
EXAM eingesetzt. Dieser Aufbau ermöglicht die Wiederverwendung <strong>von</strong> automatisierten<br />
Tests bei Model-, Software- und HiL-Tests. Aufgrund des Echtzeitverhaltens<br />
der Simulationsumgebung war dies ohne zusätzliche Synchronisationsmechanismen zwischen<br />
Simulation und Testautomatiserung möglich. Da das Umgebungsmodell <strong>durch</strong>gängig<br />
verwendet wurde, müssen die Schreib- und Lesezugriffe der Testfälle auf das Umgebungsmodell<br />
nicht angepasst werden. Zugriffe auf die testobjektspezifische Signalanpassung<br />
werden <strong>durch</strong> Anpassungen in der Mapping-Schicht der Testautomatisierung reali-
Manuelle<br />
Tests<br />
Echtzeit-Simulation<br />
Signalaufbereitung<br />
Umgebungsmodell<br />
SUT<br />
Automatisierte<br />
Testfälle<br />
Testautomatisierung<br />
Signalaufbereitung<br />
Abbildung 2: In-the-Loop-Testumgegung<br />
siert.<br />
Die Teststrategie für modellbasiert entwickelte Funktionen sieht vor, nach Validierung<br />
der Funktionmodelle Back-to-Back-Tests <strong>durch</strong>zuführen (siehe [SM05]). Diese sollen die<br />
Konformität zwischen dem Funktionsmodell und der generierten Software absichern. Als<br />
Testvektoren werden die <strong>Funktionstests</strong> dazu wiederverwendet, was die Durchgängigkeit<br />
im Testprozess erhöht. Um eine möglichst hohe strukturelle Testabdeckung zu erreichen,<br />
ist es darüber hinaus möglich Testvektoren zu erstellen, die nicht auf funktionalen Anforderungen<br />
basieren sondern aus der Modellstruktur abgeleitet werden.<br />
Das vorgestellte Frontloading ermöglicht es Fehler bereits vor der Auslieferung der modellbasiert<br />
entwickelten Funktionen an den Zulieferer zu beseitigen. Auch sind bereits<br />
auf Modellebene entwickelte Testfälle auf späteren Teststufen wiederverwertbar. Da<strong>durch</strong><br />
können Kosten und Zeit im Qualifizierungsprozess eingespart werden.<br />
4.1 Gezielte Erhöhung der Testabdeckung modellbasiert entwickelter Funktionen<br />
” Ein vollständiger Test ist praktisch nicht <strong>durch</strong>führbar“ [SL03]. Deshalb sind die für<br />
Tests zur Verfügung stehenden Ressourcen optimal einzusetzen. Im Weiteren wird eine<br />
iterative Testmethode für modellbasiert entwickelte Funktionen vorgestellt, bei welcher<br />
die Qualität der Tests bewertet und gezielt verbessert wird. Der White-Box-Charakter der<br />
Funktionsmodelle ermöglicht die Messung der strukturellen Testabdeckung bereits auf<br />
Modellebene. Dazu werden Abdeckungskriterien wie Zweig-, Bedingungs- und MC/DC-<br />
Abdeckung auf Signalflussdiagramme übertragen (siehe [Ald02]).<br />
Abbildung 3 stellt den iterativen Prozess zur Verbesserung <strong>von</strong> <strong>Funktionstests</strong> dar. Dazu<br />
erstellen die Funktionsverantwortlichen, ausgehend <strong>von</strong> den funktionalen Anforderungen,<br />
einen Prüfkatalog mit allen zu testenden Funktionen. Um die Aktivitäten der<br />
Tester auf die wesentlichen Umfänge zu konzentrieren erfolgt eine risikobasierte Prioriserung<br />
der Funktionen. Hierfür können Kriterien wie Kundennutzen, Kritikalität, operationale<br />
Nutzungshäufigkeit, Komplexität oder Neuigkeitsgrad herangezogen werden. Um
die Adäquatheit der Tests bewerten zu können, weisen die Entwickler den Funktionen<br />
des Prüfkatalogs strukturelle Testziele im Funktionsmodell zu. Als Testziele können <strong>von</strong><br />
Tests abzudeckende Modellstrukturen definiert oder ein mindestens zu erfüllender Grad<br />
eines bestimmten Testabdeckungskriteriums <strong>von</strong> Modulen gefordert werden. Diese strukturelle<br />
Abdeckung wird als Metrik zur Bewertung und gezielten Verbesserung der Tests<br />
eingesetzt.<br />
Zur Validierung der Modelle wählen die Tester anhand der Priorisierung Funktionen des<br />
Prüfkatalogs aus und leiten die Tests – nach dem Black-Box-Prinzip – aus den funktionalen<br />
Anforderungen ab. Diese Tests werden bereits im Model-in-the-Loop <strong>durch</strong>geführt<br />
und die strukturelle Testabdeckung ermittelt, wozu das ” Validation und Verification-Blockset“<br />
<strong>von</strong> ” The Mathworks“ zum Einsatz kommt. Die Bewertung der Adäquatheit <strong>von</strong><br />
Tests erfolgt <strong>durch</strong> eine Analyse der Testabdeckungsmessungen. Durch die Verknüpfung<br />
zwischen strukturellen Testzielen und Funktionen im Prüfkatalog können nicht getestete<br />
Funktionen automatisch identifiziert werden. Zwar stellen die Testziele für <strong>Funktionstests</strong><br />
nur ein notwendiges und kein hinreichendes Testendekriterium dar, jedoch ermöglicht die<br />
Definition <strong>von</strong> zu erreichenden Testzielen es den Entwicklern eine bestimmte funktionale<br />
Testabdeckung einzufordern und diese zu überprüfen. Nach der Bewertung der Testabdeckung<br />
wird der Prüfkatalog aktualisiert und angezeigt, für welche Funktionen die definierten<br />
Testziele noch nicht erreicht wurden. Auch die Prioriserung der Funktionen im<br />
Prüfkatalog kann <strong>von</strong> den Funktionsentwicklern bzw. -verantwortlichen an neue Randbedingungen<br />
angepasst werden. In der nächsten Testiteration wählen die Tester anhand der<br />
Prioriserung die nächsten <strong>durch</strong>zuführenden <strong>Funktionstests</strong> aus.<br />
Durch die schnellen Rückmeldungen bei der iterativen Testentwicklung kann die Qualität<br />
der <strong>Funktionstests</strong> bewertet und gezielt verbessert werden. Ein positiver Nebeneffekt<br />
besteht darin, dass bei den Funktionsentwicklern <strong>durch</strong> die Definition <strong>von</strong> Testzielen im<br />
Modell das Bewusstsein für Tests gefördert wird. Dies kann zu ” Design for Testability“<br />
• Funktion_A<br />
•Funktion_B<br />
Prüfkatalog<br />
• Testfälle<br />
Aktualisierung<br />
der noch nicht<br />
getesteten Funktionen<br />
Funktionale Anforderungen<br />
Zuweisung<br />
<strong>von</strong> Testzielen<br />
Analyse und Bewertung<br />
der Testabdeckung<br />
Funktionsmodell<br />
mit Testzielen<br />
Abbildung 3: Prozess zur iterativen Testoptimierung
führen, wenn beispielsweise Funktionsaktivierungen im Modell explizit modelliert und<br />
als zu erreichende Testziele definiert werden.<br />
Abbildung 4 zeigt ein Beispiel, bei dem die Funktion Momentenbegrenzung mit dem<br />
” Min“-Block verknüpft wurde. Da der Min“-Block immer den kleineren Wert seiner<br />
”<br />
Eingangssignale weiterleitet, kommt die Funktion Momentenreduktion“ nur zum Tra-<br />
”<br />
gen, wenn der untere Eingang des Min“-Blockes ausgeführt wird. Deshalb definieren<br />
”<br />
die Funktionsentwickler die Abdeckung des unteren Zweiges des Min“-Blockes als ein<br />
”<br />
notwendiges Testendekriterium für die Funktion Momentenreduktion“.<br />
”<br />
Prüfkatalog:<br />
Funktionsmodell:<br />
5 Zusammenfassung<br />
Verknüpfung<br />
Abbildung 4: Verknüpfung <strong>von</strong> Testzielen und Funktionen<br />
In diesem Beitrag wurden Maßnahmen zur <strong>Optimierung</strong> des Testprozesses in der Automobilindustrie<br />
vorgestellt.<br />
Die <strong>Homogenisierung</strong> der heterogenden Testlandschaft ermöglicht es Kosten zu senken<br />
und Qualitätststandards zu gewährleisten. Dabei fand eine Differenzierung zwischen der<br />
horizontalen und vertikalen <strong>Homogenisierung</strong> statt. In der Horizontalen findet dabei eine<br />
<strong>Homogenisierung</strong> der Testprozesse über verschiedene Organisationseinheiten wie Abteilungen,<br />
Fahrzeughersteller und Zulieferer statt. Im Rahmen der vertikalen Homogensierung<br />
wurde eine konzernweit eingesetzte Testautomatisierung auf verschiedene Teststufen<br />
portiert. Dies erleichtert die Wiederverwendung <strong>von</strong> Testfällen im Testprozess.<br />
Eine weitere <strong>Optimierung</strong>smaßnahme besteht im Frontloading des Testprozesses. Dazu<br />
wurde eine Closed-Loop-Simulationsumgebung aufgebaut, welche <strong>Funktionstests</strong> im<br />
Model-, Software- und Hardware-in-the-Loop-Verfahren ermöglicht. Mithilfe einer iterativen<br />
Methode können die <strong>Funktionstests</strong> frühzeitig verbessert werden. Dabei verknüpfen<br />
Funktionsmodellierer strukturelle Testziele im Funktionsmodell mit priorisierten Funktionen<br />
des Prüfkatalogs. Die Rückmeldung über die funktionale Testabdeckung ermöglicht<br />
es den Testern die Funktionen gezielt zu testen. Durch den Einsatz der konzerneinheitlichen<br />
Testautomatisierung können die frühzeitig erstellten Testfälle im weiteren Testprozess<br />
wiederverwendet werden.
Literatur<br />
[AA06] Dirk Abel und Bollig Alexander. Rapid Control Prototyping - Methoden und<br />
Anwendungen. Springer Verlag, 2006.<br />
[Ald02] William Aldrich. Using Model Coverage Analysis to improve the controls<br />
development process. 2002.<br />
[BAB + 06] Stefan Biffl, Aurum Aybüke, Barry W. Boehm, Hakan Erdogmus und Paul<br />
Grünbacher. Value-Based Software Engineering. Springer Verlag, 2006.<br />
[BCH + 00] Barry W. Boehm, Clark, Horowitz, Brown, Reifer, Chulani, Ray Madachy<br />
und Bert Steece. Software Cost Estimation with Cocomo II with Cdrom. Prentice<br />
Hall PTR, Upper Saddle River, NJ, USA, 2000.<br />
[Bla00] Rex Black. Investing in Software Testing: The Cost of Software Quality.<br />
2000.<br />
[RW06] Rudolf Ramler und Klaus Wolfmaier. Economic perspectives in test automation:<br />
balancing automated and manual testing with opportunity cost. In<br />
AST ’06: Proceedings of the 2006 international workshop on Automation of<br />
software test, Seiten 85–91, New York, NY, USA, 2006. ACM.<br />
[SL03] Andreas Spillner und Tilo Linz. Basiswissen Softwaretest. Dpunkt-Verlag,<br />
2003.<br />
[SM05] Sadeghipour Sadegh und Lim Meike. Einsatz automatischer Testvektorgenerierung<br />
im modellbasierten Test. 2005.<br />
[SZ06] Jörg Schäuffele und Thomas Zurawka. Automotive Software Engineering.<br />
Vieweg Verlag, 2006.