Med conf2011 testautomatisierung extrem

1.283 Aufrufe

Veröffentlicht am

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.

Veröffentlicht in: Technologie
0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.283
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
6
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Med conf2011 testautomatisierung extrem

  1. 1. Testautomatisierung extremDr. E. WildermuthT. RahnJ. HabermannM. Riechmann Folie 1 5. Oktober 2011 Dr. E. Wildermuth © Zühlke 2011
  2. 2. 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 19. Oktober 2011 Folie 2 © Zühlke 2011
  3. 3. Vorstellung Sprecher Steckbrief: • Softwareentwickler, Testmanager • Schwerpunkte – Softwareentwicklung von sicherheitskritischen Systemen – Embedded Systems – Testautomatisierung – Infrastruktur-Security Eberhard Wildermuth • 10 Jahre Berufserfahrung ekw@zuehlke.com – Infrastruktur-Security – Testmanagement – Telemetriesysteme – MedizintechnikModerne Softwareentwicklung in der Medizintechnik | Matthias Seeland, Eberhard Wildermuth, Matthias Wufka 4. Oktober 2011 Folie 3 © Zühlke 2011
  4. 4. Agenda• Status• Projektbeispiel• Vor- und Nachteile der Automatisierung• Kosten-Nutzen-Rechnung der Automatisierung• Vorstellung Testautomatisierung extrem• Erfahrungen/Tipps• Zusammenfassung• FazitTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 4 © Zühlke 2011
  5. 5. 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 EntwicklerteamTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 5 © Zühlke 2011
  6. 6. ProjektbeispielKlasse C Medizinprodukt (nach 62304)Testautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 6 © Zühlke 2011
  7. 7. Vor- und Nachteile der AutomatisierungVorteile• 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 Continuous Integration)Testautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 7 © Zühlke 2011
  8. 8. Vor- und Nachteile der Automatisierung• Stresstests, lange Testläufe möglich• Gibt Sicherheit und gibt Vertrauen• Regularienfreundlich• Bessere Dokumentation der Tests, NachvollziehbarkeitTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 8 © Zühlke 2011
  9. 9. Vor- und Nachteile der AutomatisierungNachteile• 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 kombinierenTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 9 © Zühlke 2011
  10. 10. Kosten vs. NutzenKlassische Formel En = Aa/Am = (Va + n*Da)/ (Vm + n*Dm)Subscript “a” steht für automatisiert, “m” für manuellVa: Aufwand für Testspezifikation und ImplementationVm: Aufwand für TestspezifikationDa: Aufwand für Testinterpretation nach erfolgtem automatischen TestlaufDm: Aufwand für einmalige Ausführung eines manuellen Testsn: Anzahl automatischer TestläufeTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 10 © Zühlke 2011
  11. 11. Kosten vs. NutzenEs ist unrealistisch, die Anzahl automatisierter Testläufe unddieselbe 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 vornehmenDiese Sichtweise lässt Testautomatisierung weniger wertvollerscheinen, repräsentiert aber besser den tatsächlichenNutzen.• Andererseits findet Testautomatisierung Fehler, die sonst unentdeckt bleibenTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 11 © Zühlke 2011
  12. 12. 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 InteraktionTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 12 © Zühlke 2011
  13. 13. FehlerkostenKosten von Fehlern in SoftwareKosten Anforderungen Implementierung ReleaseTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 13 © Zühlke 2011
  14. 14. Die Paradoxa der Kosten derTestautomatisierung 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 billigerTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 14 © Zühlke 2011
  15. 15. Konzeptioneller Hintergrund derAutomatisierungskosten• Ein Teil des Nutzens der Automatisierung liegt im disziplinierten 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 signifikante negative Auswirkungen auf den Zeitplan und die Teamperformance• Automatisierte Tests sind komplizierter zu designen und zu implementieren und erfordern höhere Programmier- und Planungsfähigkeiten der Tester• Automatisierte Tests benötigen regelmäßige Wartung• Softwaremetriken sind nicht objektivTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 15 © Zühlke 2011
  16. 16. ProjektbeispielTestsystem für die Software eines Klasse CMedizinprodukts (nach 62304) Folie 16 4. Oktober 2011 Dr. E. Wildermuth © Zühlke 2011
  17. 17. 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)Testautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 17 © Zühlke 2011
  18. 18. 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)Testautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 18 © Zühlke 2011
  19. 19. 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 TargetTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 19 © Zühlke 2011
  20. 20. Testfallerzeugung Test- Spezifikation SPEC-Datei SPEC-Datei in DSL ohne CRCs mit CRCs (TFS) Parser 1ste Ausführung Syntaxprüfung Generiere Bild- schirmprüf- summen, setze in SPEC-Datei ein Eingabespezifikation XML Eingabedatei XML Eingabedatei mit vereinfachter für Testrunner ohne für Testrunner mit Kommandosyntax Prüfsummen korrekten PrüfsummenTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 20 © Zühlke 2011
  21. 21. PC-Simulation ZENSIERTTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 21 © Zühlke 2011
  22. 22. Testbox• 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 & TracingTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 22 © Zühlke 2011
  23. 23. 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 TestsTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 23 © Zühlke 2011
  24. 24. StatusmonitorTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 24 © Zühlke 2011
  25. 25. Nightly Tests Test- Build- objekt Server Test- stand Test- TFS- objekt Radiator Server Test- standTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 25 © Zühlke 2011
  26. 26. Erfahrungen/Tipps• Design for Test (Event-Bus Architektur)• Die Tests beginnen mit der Implementation• Die Software muss für die Automatisierung von Systemtests einen stabilen Zustand erreicht haben (automatisches Chaos führt zu schnellerem Chaos)• Planen Sie einen zweiten Teststand, bevor Sie den ersten realisieren• 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 EinfachheitTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 26 © Zühlke 2011
  27. 27. 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“Testautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 27 © Zühlke 2011
  28. 28. Fazit• Wir führen nur noch Projekte mit Testautomatisierung durch• Auf allen Ebenen automatisieren• Testautomatisierung lohnt sich, auch wenn der ROI schwer zu berechnen ist• Fehlerkosten werden verringert• Höhere Qualität durch Testautomatisierung• Keine Überraschungen in der VerifikationTestautomatisierung extrem | Dr. E. Wildermuth 5. Oktober 2011 Folie 28 © Zühlke 2011
  29. 29. Zu Risiken und Nebenwirkungen…Moderne Softwareentwicklung in der Medizintechnik | Matthias Seeland, Eberhard Wildermuth, Matthias Wufka © Zühlke 2011

×