21.01.2013 Aufrufe

Optimierung von E/E-Funktionstests durch Homogenisierung ... - FKFS

Optimierung von E/E-Funktionstests durch Homogenisierung ... - FKFS

Optimierung von E/E-Funktionstests durch Homogenisierung ... - FKFS

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!