Effiziente Testautomatisierung · Verlinkungen zur Testautomatisierungs-umgebung über spezielle...

3
Effiziente Testautomatisierung Um die Vielzahl von Tests zur Qualitätssicherung effizient zu entwickeln, ist systematisches Vorgehen unabdingbar. Durch STRUKTURIERTE TESTENTWICKLUNG werden Tests nicht nur übersichtlicher, sondern es wird auch die Testentwicklung beschleunigt. Außerdem erhält man Plattformunabhängigkeit und einen hohen Grad an Wiederverwendbarkeit. D er Ursprung eines jeden Tests ist typischerweise eine Anforderung. Aus einer Anforderung wird – häufig über den Zwischenschritt einer in- formalen Testspezifikation – eine Testim- plementierung erstellt. Um Übersichten zu erhalten, welche Anforderungen an ein Steuergerät bereits erfolgreich umge- setzt wurden, oder um Aussagen zur mo- mentanen Qualität des Steuergeräts tref- fen zu können, werden die Anforderun- gen mit den Tests verlinkt. Je nachdem, ob ein Anforderungs- management-Tool wie Telelogic DOORS oder Standard-Office-Tools wie MS Word oder MS Excel zum Verwalten der Anfor- derungen eingesetzt werden, werden die Verlinkungen zur Testautomatisierungs- umgebung über spezielle Komponenten oder über offene Schnittstellen (APIs) hergestellt. Bei der Erstellung der Tests entstehen typischerweise Bibliotheken mit wieder- verwendbaren Testschritten. Beim De- sign dieser Bibliotheken und Testschritte sollte der Testingenieur darauf achten, dass sie die Struktur der Testspezifikation widerspiegeln. Nach der Ausführung der Tests werden die Testergebnisse zurück zu den Anforderungen gespielt. Dieser typische Testautomatisierungsprozess ist in Abbildung 1 skizziert. Die Integration von Anforderungen und Tests sowie die Nachverfolgung der Anforderungen wurden ausführlich in vor- herigen Ausgaben beschrieben. Dieser Ar- tikel beschäftigt sich detailliert mit dem De- sign von Tests und Testbibliotheken. In realistischen Projekten werden häufig mehrere Tausend Tests entwickelt. Solch eine große Anzahl von Tests effizient zu entwickeln ist nur möglich, wenn dabei systematisch vorgegangen wird. Außer- dem steigt bei solch einem großen Invest in die Testentwicklung natürlich der Be- darf Tests wiederzuverwenden: Tests sol- len sowohl für unterschiedliche Steuer- gerätevarianten als auch in unterschied- lichen Projekten wiederverwendet wer- den. Denn wie in anderen Bereichen auch führt eine hohe Wiederverwen- dung zur Einsparung von Aufwänden und somit zur Reduktion von Kosten. Im Folgenden wird gezeigt, wie man das Testautomatisierungstool dSPACE AutomationDesk zur effektiven, schnel- len Testentwicklung einsetzt und dabei gleichzeitig einen hohen Grad an Wieder- verwendbarkeit und Plattformunabhän- gigkeit erreicht. Tests wiederverwendbar entwickeln Dem Testentwickler liegt typischerweise eine aus den Anforderungen abgeleitete Testspezifikation vor. In dieser Testspezi- fikation ist informal, zum Teil in Form von Fließtext, der Ablauf des Tests be- schrieben. Der ideale Ansatz der Testent- wicklung besteht aus 3 Schritten: TEST VON HARD- UND SOFTWARE AUTOMOBIL-ELEKTRONIK April 2009 23

Transcript of Effiziente Testautomatisierung · Verlinkungen zur Testautomatisierungs-umgebung über spezielle...

Page 1: Effiziente Testautomatisierung · Verlinkungen zur Testautomatisierungs-umgebung über spezielle Komponenten oder über offene Schnittstellen (APIs) hergestellt. Bei der Erstellung

Effiziente Testautomatisierung Um die Vielzahl von Tests zur Qualitätssicherung effizient zu entwickeln, ist systematisches Vorgehen unabdingbar. Durch STRUKTURIERTE TESTENTWICKLUNG werden Tests nicht nur übersichtlicher, sondern es wird auch die Testentwicklung beschleunigt. Außerdem erhält man Plattformunabhängigkeit und einen hohen Grad an Wiederverwendbarkeit.

D er Ursprung eines jeden Tests ist typischerweise eine Anforderung. Aus einer Anforderung wird –

häufig über den Zwischenschritt einer in-formalen Testspezifikation – eine Testim-plementierung erstellt. Um Übersichten zu erhalten, welche Anforderungen an ein Steuergerät bereits erfolgreich umge-setzt wurden, oder um Aussagen zur mo-mentanen Qualität des Steuergeräts tref-fen zu können, werden die Anforderun-gen mit den Tests verlinkt.

Je nachdem, ob ein Anforderungs-management-Tool wie Telelogic DOORS oder Standard-Office-Tools wie MS Word oder MS Excel zum Verwalten der Anfor-derungen eingesetzt werden, werden die Verlinkungen zur Testautomatisierungs-umgebung über spezielle Komponenten oder über offene Schnittstellen (APIs) hergestellt.

Bei der Erstellung der Tests entstehen typischerweise Bibliotheken mit wieder-

verwendbaren Testschritten. Beim De-sign dieser Bibliotheken und Testschritte sollte der Testingenieur darauf achten, dass sie die Struktur der Testspezifikation widerspiegeln. Nach der Ausführung der Tests werden die Testergebnisse zurück zu den Anforderungen gespielt. Dieser typische Testautomatisierungsprozess ist in Abbildung 1 skizziert.

Die Integration von Anforderungen und Tests sowie die Nachverfolgung der Anforderungen wurden ausführlich in vor-herigen Ausgaben beschrieben. Dieser Ar-tikel beschäftigt sich detailliert mit dem De-sign von Tests und Testbibliotheken. In realistischen Projekten werden häufig mehrere Tausend Tests entwickelt. Solch eine große Anzahl von Tests effizient zu entwickeln ist nur möglich, wenn dabei systematisch vorgegangen wird. Außer-dem steigt bei solch einem großen Invest in die Testentwicklung natürlich der Be-darf Tests wiederzuverwenden: Tests sol-

len sowohl für unterschiedliche Steuer-gerätevarianten als auch in unterschied-lichen Projekten wiederverwendet wer-den. Denn wie in anderen Bereichen auch führt eine hohe Wiederverwen-dung zur Einsparung von Aufwänden und somit zur Reduktion von Kosten.

Im Folgenden wird gezeigt, wie man das Testautomatisierungstool dSPACE AutomationDesk zur effektiven, schnel-len Testentwicklung einsetzt und dabei gleichzeitig einen hohen Grad an Wieder-verwendbarkeit und Plattformunabhän-gigkeit erreicht.

Tests wiederverwendbar entwickeln Dem Testentwickler liegt typischerweise eine aus den Anforderungen abgeleitete Testspezifikation vor. In dieser Testspezi-fikation ist informal, zum Teil in Form von Fließtext, der Ablauf des Tests be-schrieben. Der ideale Ansatz der Testent-wicklung besteht aus 3 Schritten:

TEST VON HARD- UND SOFTWARE

AUTOMOBIL-ELEKTRONIK � April 2009 23

Page 2: Effiziente Testautomatisierung · Verlinkungen zur Testautomatisierungs-umgebung über spezielle Komponenten oder über offene Schnittstellen (APIs) hergestellt. Bei der Erstellung

� Identifikation von Basistestschritten � Implementierung von Basistestschritten

und Erstellung einer neuen Bibliothek � Implementierung von Tests durch Ver-

wendung von Basistestschritten Anhand der Struktur der Testspezifika-tion identifiziert der Testentwickler nun sogenannte Basistestschritte, die kleineren Einheiten der Testspezifikati-on entsprechen. Solch ein Basistest-schritt ist z.B. Einschalten von Klemme 15, Motorstart, Einlegen von Gang x, o.ä. Typischerweise treten diese Einhei-ten häufiger im Test auf, so dass die Ba-sistestschritte mehrfach genutzt wer-den. Häufig werden auch Einheiten als Basistestschritte umgesetzt, die zwar nur einmal im Test vorkommen, die aber so allgemein sind, dass sie auch in weiteren Tests genutzt werden können.

Nach der Implementierung der Basis-testschritte werden schließlich die Tests

durch Verwendung der Basistestschritte erstellt. Durch die gründliche Vorberei-tung müssen dem Test dann meist nur noch für jeden Schritt der Testspezifikati-on die zugehörigen Basistestschritte hin-zufügt werden. Ein fertiger Test enthält neben den Basistestschritten in der Regel noch weitere im Testautomatisierungs-tool vorgefertigte Testschritte, wie z.B. Testschritte zur Initialisierung des Harde-ware-in-the-Loop Simulators, für Re-porteinträge oder zur Auswertung von Messergebnissen (siehe auch Infokasten AutomationDesk 2.2).

Vorteile Neben der Wiederverwendbarkeit der einzelnen Basistestschritte hat dieses Vor-gehen eine Vielzahl von Vorteilen: Die Basistestschritte haben meist eine leicht verständliche Schnittstelle. In ihrer Implementierung ist zwar enthalten, wel-

x

Anforderungenund Test-

spekifikationBibliothekvon Basis-

testschritten

Tests, implementiert

durch Basis-testschritte

Testergebnisse automatischzurückspielen

Testimplementierung

Tests ausführen

Testergebnisse

Basistestschritteerstellen

TEST VON HARD- UND SOFTWARE

Bild 1: Typischer Testauto-matisierungsprozess.

che Variablen im Simulator gesetzt und welche Werte konkret geschrieben wer-den, aber nach außen ist diese Komplexi-tät nicht sichtbar. Somit kapseln die Basis-testschritte die Komplexität des HIL Simu-lators. Das führt häufig auch zu einer Rol-lentrennung innerhalb der Testabteilun-gen. So gibt es die Testbibliotheksentwick-ler, die detailliertes Wissen über den Simu-lator haben und daher die Basistestschrit-te entwickeln, und daneben die Testent-wickler, die die Tests, bestehend aus Basis-testschritten mit einfach verständlichen Schnittstellen, erstellen.

Die Kapselung hat noch einen wei-teren entscheidenden Vorteil: Die Basis-testschritte entkoppeln die Tests vom Testsystem, wie in Abbildung 2 dar-gestellt. Das führt zu Plattformunabhän-gigkeit und erhöht somit den Grad an Wiederverwendbarkeit. Soll ein Test für ein anderes Modell, eine andere Variante oder eine andere Plattform wiederver-wendet werden, müssen lediglich die Ba-sistestschritte an die neue Umgebung an-gepasst werden. Der Clou dabei ist, dass alle Tests wiederverwendet werden kön-nen, wenn sich die Schnittstellen der Ba-sistestschritte nicht ändern.

Auch in dem Fall, dass die Tests in ei-nem anderen Projekt an einem anderen HIL Simulator verwendet werden sollen, helfen die Basistestschritte, da sie den Test vom Simulator entkoppeln und des-sen Eigenschaften „wegkapseln“. Wird der HIL Simulator nicht standardmäßig vom Testautomatisierungstool unter-stützt, muss er zunächst an das Test-automatisierungstool angebunden wer-

dSPACE AutomationDesk ist ein Test-automatisierungstool zum anforde-rungsbasierten Testen von Steuergerä-tefunktionen am Hardware-in-the-Loop (HIL) Simulator. Automation-Desk unterstützt den gesamten Test-prozess, angefangen bei der Integration mit Anforderungsmanagementwerk-zeugen über die Testimplementierung und Testausführung bis hin zur Nach-verfolgung der Anforderungen. Tests werden mit AutomationDesk gra-fisch entwickelt. Dazu stehen eine Viel-zahl von vorgefertigten Testschritten, z.B. für den Zugriff auf HIL Simulatoren, FIU-Einheiten, Diag-nosesysteme, Applikationssoftware etc., zur Verfügung. Der breite Einsatz von AutomationDesk führt zu ständigen Weiterentwicklungen, da die unterschiedlichsten Kunden-wünsche in das Tool einfließen. So wurde die Version 2.2 von AutomationDesk u.a. um Testschritte zur automatisierten

Auswertung von Messergebnissen und um einen Debugger erweitert. Durch Einsatz des Debuggers wird die Testausführung zwischen beliebigen Testschritten angehalten. Aktuelle Va-riablenbelegungen sind einsehbar und änderbar. Der Anwender kann den Test schrittweise weiterlaufen lassen und dabei entscheiden, ob er in die Hierar-chien des Tests hinabsteigen will. Mit der neuen Auswertebibliothek können Messergebnisse analysiert werden: Angefangen bei Addition, Multiplikation etc. über die Berech-

nung von Minimal-/Maximalwerten und von Gradienten und Integralen bis hin zum Ausschneiden von Signalberei-chen und Überprüfungen, ob sich ein Signal innerhalb oder außerhalb bestimmter Grenzen befindet (siehe Abbildung 3), sind eine Vielzahl von Signalmanipulationen und mathemati-schen Operationen möglich.

AutomationDesk 2.2

Bild 3: Auswertung von Messergebnissen und automatische Reporterstellung.

24 AUTOMOBIL-ELEKTRONIK � April 2009

Page 3: Effiziente Testautomatisierung · Verlinkungen zur Testautomatisierungs-umgebung über spezielle Komponenten oder über offene Schnittstellen (APIs) hergestellt. Bei der Erstellung

bar ist. Gleichzeitig werden die Testpro-zesse systematischer und die Rollen in-nerhalb der Prozesse klarer erkenn- und trennbar. Mit dSPACE AutomationDesk steht den Testingenieuren bereits heute ein Werkzeug zur Verfügung, um Tests strukturiert, schnell und effektiv zu ent-wickeln und das gleichzeitig die Wieder-verwendbarkeit und Plattformunabhän-gigkeit erhöht.

Dr. rer. nat. Sven Burmester ist bei der dSPACE GmbH im Pro-duktmanagement im Bereich Test- und Experimentiersoftware tätig.

infoDIRECT www.all-electronics.de Link zu dSPACE: 313AEL0209

den. dSPACE AutomationDesk ermög-licht dieses durch seine Offenheit und einfache Erweiterbarkeit. dSPACE hat diese Erweiterung auch schon für unter-schiedliche HIL Simulatoren von Drittan-bietern durchgeführt. Anschließend wer-den die Basistestschritte für den Drittan-bieter-HIL implementiert. Auch hier blei-ben die Tests an sich unverändert.

Erfahrungen Die Erfahrung zeigt, dass auf diese Weise die Effizienz bei der Testautomatisierung gesteigert wird. So wird zum Beispiel im Hause Ford in den Funktionsbereichen Komfort und Antriebsstrang sogar eine dreischichtige Architektur verwendet: Auf eine Bibliothek mit universell wiederver-wendbaren Testschritten (z.B. für Diagno-sestandards oder zum Abfahren von Span-nungsprofilen) setzt eine simulatorspezi-fische Schicht auf. Diese wird dann für die fahrzeugspezifischen Testfälle genutzt. Auf diese Weise werden bis zu 40 000 Tests pro Projekt effizient erstellt. Ohne das mächtige Bibliothekskonzept wäre diese Anzahl nicht mehr beherrschbar.

Die Testdurchführungszeiten wurden durch automatisiertes Testen um 88% ge-genüber der manuellen Durchführung ver-ringert. Insbesondere aufgrund der Tatsa-che, dass die Tests in jeder Entwicklungs-phase durchgeführt werden, führt das au-tomatisierte Testen mit AutomationDesk zu einer großen Effizienzsteigerung. Bei der ZF Friedrichshafen AG werden die Testbibliotheken ebenfalls in mehre-ren Schichten organisiert. So gibt es eine Testbausteinbibliothek mit elementaren Testbausteinen und eine Testfallbiblio-thek mit komplexen Testfällen. Dadurch ergeben sich ein Wiederverwendungs-grad von 80%, wenn die Tests auf andere Baureihen desselben OEMs übertragen werden, und ein Wiederverwendungs-grad von 48%, wenn die Tests für Steuer-geräte anderer OEMs eingesetzt werden.

HIL Simulator HIL Simulator SteuergerätSteuergerät

Entkoppelungvon Test und Modell

Entkoppelungvon Test und Modell

AbstraktionsschichtBibliothek von Basistestschritten

AbstraktionsschichtBibliothek von Basistestschritten

Variante 1 Variante 2

Tests

Fazit Allgemein zeigt sich, dass nicht nur im-mer mehr Steuergerätefunktionen am HIL Simulator getestet werden, sondern dass diese Tests zunehmend automati-siert durchgeführt werden. Dabei läuft der HIL Simulator nahezu rund um die Uhr, also auch außerhalb der typischen Arbeitszeiten. Das führt dazu, dass mehr Tests ausgeführt werden als früher und somit eine höhere Testabdeckung erzielt wird, aber auch dass mehr Tests ent-wickelt werden. Da die Entwicklung der Tests eine große Investition bei der Quali-tätssicherung ist, wird zukünftig die Fra-ge nach effizienter Testentwicklung noch wichtiger werden.

Dieser Artikel und die praktischen Er-fahrungen zeigen, dass die Vielzahl der Tests eines HIL-Projektes nur durch die hier beschriebene Systematik beherrsch-

Bild 2: Basis-Testschritte entkoppeln Tests vom Testsystem.

Alle

Gra

fiken

: dSP

ACE

TEST VON HARD- UND SOFTWARE

AUTOMOBIL-ELEKTRONIK � April 2009 25