med conf2011 testautomatisierung extrem

29
© Zühlke 2011 Dr. E. Wildermuth Testautomatisierung extrem Dr. E. Wildermuth T. Rahn J. Habermann M. Riechmann 5. Oktober 2011 Folie 1

Upload: zuehlke

Post on 29-Nov-2014

820 views

Category:

Technology


2 download

DESCRIPTION

Inhalt:Wasserfall, RUP, Scrum, Agile, Lean, XP, Testautomatisierung - im Prinzip ja, aber wie viel?In anderen Branchen haben agile Vorgehensweisen einen Siegeszug angetreten. Kann auch die Medizintechnik von den agilen Philosophien profitieren? Wir sagen „Ja“! Agile Elemente können mit Augenmaß in Entwicklungsprozessen für das regulierte Umfeld eingesetzt werden. Konkret betrachten wir Scrum und RUP und unter welchen Prämissen diese Entwicklungsprozesse im regulierten Umfeld funktionieren. Pair Programming, Simple Design, Continuous Integration, Testautomatisierung und agiles Requirements Management werden vorgestellt und anhand von Beispielen vertieft. Der Workshop setzt sich kritisch mit den einzelnen Praktiken auseinander, analysiert Stärken und Schwächen und zeigt pragmatische Wege zur Einbettung in die Entwicklung auf.

TRANSCRIPT

Page 1: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Dr. E. Wildermuth

Testautomatisierung extrem

Dr. E. WildermuthT. RahnJ. HabermannM. Riechmann

5. Oktober 2011Folie 1

Page 2: Med conf2011 testautomatisierung extrem

© Zühlke 201119. Oktober 2011

Softwarelösungen, Produktinnovationund Managementberatung

• Mehr als 7000 Projekte in Europa realisiert

• Ca. 51 Mio. € Umsatz (2010)

• Ca. 440 Mitarbeiter (2011)

• In Deutschland, Grossbritannien, Österreich und in der Schweiz

• Gründung 1968, im Besitz von Partnern

• ISO 9001 und 13485 zertifiziert

Folie 2

Page 3: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Vorstellung Sprecher

Steckbrief:

• Softwareentwickler, Testmanager

• Schwerpunkte– Softwareentwicklung von sicherheitskritischen Systemen– Embedded Systems– Testautomatisierung– Infrastruktur-Security

•10 Jahre Berufserfahrung– Infrastruktur-Security– Testmanagement– Telemetriesysteme– Medizintechnik

Eberhard Wildermuth

[email protected]

4. Oktober 2011Moderne Softwareentwicklung in der Medizintechnik | Matthias Seeland, Eberhard Wildermuth, Matthias Wufka Folie 3

Page 4: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Agenda

• Status

• Projektbeispiel

• Vor- und Nachteile der Automatisierung

• Kosten-Nutzen-Rechnung der Automatisierung

• Vorstellung Testautomatisierung extrem

• Erfahrungen/Tipps

• Zusammenfassung

• Fazit

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 4

Page 5: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Status

• Testautomatisierung nicht vorhanden oder auf eine Ebene beschränkt

•Meist Unit-Tests, diese oft lückenhaft

• Testobjekt ist nicht für Testbarkeit ausgelegt

• Tests finden wenig Beachtung

•Mangelhafte Verfügbarkeit der Ergebnisse für das Entwicklerteam

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 5

Page 6: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Projektbeispiel

Klasse C Medizinprodukt (nach 62304)

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 6

Page 7: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Vor- und Nachteile der Automatisierung

Vorteile

• Fehler werden früh gefunden

• Der Testzyklus benötigt keine manuelle Interaktion

• Testfallexplosion besser im Griff– Vielzahl von Eingangs-/Ausgangsparametern automatisiert

testbar

• Der Testzyklus läuft jeden Tag / jede Nacht automatisiert

• Es gibt immer einen aktuellen Testbericht

• Regression Testing um Fehler durch Änderungen zu finden (ermöglicht Refactoring und ContinuousIntegration)

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 7

Page 8: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Vor- und Nachteile der Automatisierung

• Stresstests, lange Testläufe möglich

• Gibt Sicherheit und gibt Vertrauen

• Regularienfreundlich

• Bessere Dokumentation der Tests, Nachvollziehbarkeit

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 8

Page 9: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Vor- und Nachteile der Automatisierung

Nachteile

• Testen immer wieder dasselbe

• Tests decken eventuell nicht alles ab - blinde Flecken

• Erstellung aufwendig, Produktivität des Testteams sinkt anfänglich

• Unterhalt der Tests aufwendig

• Die meisten Fehler werden während der Testerstellung gefunden

• Automatisierung reduziert Testvariabilität, verifiziert nur was in die Tests hineinprogrammiert wurde

Mit manuellen explorativen Tests kombinieren

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 9

Page 10: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Kosten vs. Nutzen

Klassische Formel

En = Aa/Am = (Va + n*Da)/ (Vm + n*Dm)

Subscript “a” steht für automatisiert, “m” für manuell

Va: Aufwand für Testspezifikation und Implementation

Vm: Aufwand für Testspezifikation

Da: Aufwand für Testinterpretation nach erfolgtem automatischen Testlauf

Dm: Aufwand für einmalige Ausführung eines manuellen Tests

n: Anzahl automatischer Testläufe5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 10

Page 11: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Kosten vs. Nutzen

Es ist unrealistisch, die Anzahl automatisierter Testläufe und dieselbe Zahl manueller Testausführungen zu vergleichen

• Manuelle Tests haben eine eingebaute Varianz

• Wiederholung grüner Tests hat geringen Nutzen (aber: Regressionstest)

• Es kann nicht fünf mal so wertvoll sein, einen Tests täglich statt einmal pro Woche auszuführen (aber: Regressionstest)

• Was verglichen werden sollte, ist die Anzahl automatischer Testläufe, die wir durchführen und die damit verbundenen Kosten und die Kosten für die manuell wiederholten Ausführungen, die wir tatsächlich vornehmen

Diese Sichtweise lässt Testautomatisierung weniger wertvoll erscheinen, repräsentiert aber besser den tatsächlichen Nutzen.

• Andererseits findet Testautomatisierung Fehler, die sonst unentdeckt bleiben

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 11

Page 12: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Unrealistische Ziele

• Alle Tests werden automatisiert

• Sofortige Kosteneinsparung durch Automatisierung

• Automatisierung existierender manueller Tests

• Keine Anfahrzeit (Ramp-Up-Time)

• Sinnvolle automatisierte Testplanung

• Capture-Replay für Regressionstests

• Ein Werkzeug, das perfekt passt

• Automatisches Fehlermanagement ohne menschliche Interaktion

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 12

Page 13: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Fehlerkosten

Kosten von Fehlern in Software

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 13

Kosten

Anforderungen Implementierung Release

Page 14: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Die Paradoxa der Kosten der Testautomatisierung

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 14

Techniken, welche Fehler später finden (und die daher teurer zu beheben sind) sind teurer

Techniken, welche Fehler früher finden (und die daher billiger zu beheben sind) sind billiger

Page 15: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Konzeptioneller Hintergrund der Automatisierungskosten

• Ein Teil des Nutzens der Automatisierung liegt imdisziplinierten Vorgehen während der Testanalyse und der Testplanung

• Kosteneinsparungen manifestieren sich für gewöhnlich in später folgenden Projektphasen oder in Folgeprojekten

• Automatisierung hat bei ihrer Einführung signifikantenegative Auswirkungen auf den Zeitplan und die Teamperformance

• Automatisierte Tests sind komplizierter zu designen und zuimplementieren und erfordern höhere Programmier- und Planungsfähigkeiten der Tester

• Automatisierte Tests benötigen regelmäßige Wartung

• Softwaremetriken sind nicht objektiv

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 15

Page 16: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Dr. E. Wildermuth

Projektbeispiel

Testsystem für die Software eines Klasse C Medizinprodukts (nach 62304)

4. Oktober 2011Folie 16

Page 17: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Voraussetzungen bei Projektstart

• Zühlke ist gesamtverantwortlich(Mechanik, Elektronik, Software)

• Architektur auf Testbarkeit ausgerichtet(Eventbus-Architektur)

• Testmanager hat freie Hand(in den Grenzen des Budgets)

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 17

Page 18: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Teststrategie

•Statische Tests-Reviews-Compilerprüfungen-Konformitätsprüfer PC Lint (MISRA)

•Unit-Tests-Von Entwicklern implementiert-Können ohne Testframework lokal bei Entwicklern laufen

•Integrationstests-Mithilfe eines NUNIT-Testframeworks implementiert-Basiert auf interaktivem Austausch von Events-Von Testern implementiert-Läuft auf PC-Simulation und Target (ohne Modifikation)

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 18

Page 19: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Teststrategie

•Systemtests–Ziel ist Anforderungsabdeckung–Von Testern implementiert–Testspezifikation mit eigener vereinfachter DSL–Testabläufe auf allen Targets ohne Modifikation lauffähig–Aktionen basieren auf automatisierten Benutzereingaben und Fehlerinjektion–Prüfungen basieren auf physischen Reaktionen, Prüfsummen und Events–Läuft auf PC-Simulation und Target

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 19

Page 20: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Testfallerzeugung

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 20

SPEC-Dateiohne CRCs

SPEC-Dateimit CRCs

ParserSyntaxprüfung

1ste AusführungGeneriere Bild-schirmprüf-summen, setze in SPEC-Datei ein

Eingabespezifikationmit vereinfachterKommandosyntax

XML Eingabedateifür Testrunner ohnePrüfsummen

XML Eingabedateifür Testrunner mitkorrekten Prüfsummen

Test-Spezifikation

in DSL(TFS)

Page 21: Med conf2011 testautomatisierung extrem

© Zühlke 2011

PC-Simulation

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 21

ZENSIERT

Page 22: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Testbox

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 22

• Steht an jedem Entwicklerplatz

•Wird über Ethernet via REST-Schnittstelle angesprochen

• Stellt alle nötigen Verbindungen zum Testobjekt her– Tastatur– E/A-Simulator– Prozessor-Reset– Event-Bus & Tracing

Page 23: Med conf2011 testautomatisierung extrem

© Zühlke 2011

National Instruments-Teststand

• Stellt prinzipiell die gleiche Funktionalität wie die Testbox zur Verfügung

• Kann zusätzlich Frequenzen messen und weitere komplexe Schnittstellen ansteuern

• Nur zwei mal vorhanden

• Fährt nächtliche Tests

Testautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 23

Page 24: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Statusmonitor

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 24

Page 25: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Nightly Tests

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 25

Build-Server

Test-objekt

RadiatorTFS-Server

Test-stand

Test-stand

Test-objekt

Page 26: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Erfahrungen/Tipps

• Design for Test (Event-Bus Architektur)

• Die Tests beginnen mit der Implementation

• Die Software muss für die Automatisierung von Systemtestseinen stabilen Zustand erreicht haben (automatischesChaos führt zu schnellerem Chaos)

• Planen Sie einen zweiten Teststand, bevor Sie den erstenrealisieren

• Vermeiden Sie “Quick and Dirty” und Consumer-Grade HW

• Nicht alles automatisieren

• Kombinieren Sie Testautomatisierung mit manuellen Tests -planen Sie Zeit für intuitives und exploratives Testen ein

• Streben Sie nach Einfachheit

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 26

Page 27: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Zusammenfassung

• Automatisierung auf allen Ebenen

• Integrationstests mithilfe der Eventbus-Architektur

• Einfache Systemtestfallerstellung in vereinfachter DSL

• Testspezifikationen sind für alle Targets gleich (Simulation, Testbox-Target, NI-Teststands-Target)

• Eigene Testbox für Entwickler und für Nightly Tests

• NI-Teststand für weiterführende Tests

• Spezifikationsverwaltung in TFS

• Ergebnisdarstellung im „Radiator“

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 27

Page 28: Med conf2011 testautomatisierung extrem

© Zühlke 2011

Fazit

•Wir führen nur noch Projekte mit Testautomatisierung durch

• Auf allen Ebenen automatisieren

• Testautomatisierung lohnt sich, auch wenn der ROIschwer zu berechnen ist

• Fehlerkosten werden verringert

• Höhere Qualität durch Testautomatisierung

• Keine Überraschungen in der Verifikation

5. Oktober 2011Testautomatisierung extrem | Dr. E. Wildermuth Folie 28

Page 29: Med conf2011 testautomatisierung extrem

© Zühlke 2011Moderne Softwareentwicklung in der Medizintechnik | Matthias Seeland, Eberhard Wildermuth, Matthias Wufka

Zu Risiken und Nebenwirkungen…