Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API...

64
Ziemlich beste Freunde Inkrementeller Test und agile Entwicklung

Transcript of Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API...

Page 1: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Ziemlich beste Freunde

Inkrementeller Test und agile Entwicklung

Page 2: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Agenda■ Inkrementeller Test

■ Was ist gemeint ■ was wollen wir damit erreichen

■ Agile Entwicklung und Test in sicherheitsrelevanten Bereichen■ Wo liegen die Probleme

■ Inkrementelles Testdesign am Beispiel■ MBTsuite – Funktion API Importer

■ Testmodell für API-Importer■ Iteration 1.: der einfache Workflow - direkt■ Iteration 2.: der einfache Workflow – File, Preconditions■ Iteration 3.: komplexer Workflow/Feherbehandlung

■ Zusammenfassung – Vorteile - Erfahrungen226.11.18

Page 3: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Inkrementeller Test ■ In der agilen Softwareentwicklung wird Software

inkrementell entwickelt

■ In einem regulierten Umfeld muss trotzdem der Nachweis der Funktion durch dokumentierte Tests erbracht werden

■ Deshalb werden bei sepp.med Tests aus Testmodellen generiert, die inkrementell parallel zur Softwareentstehung entwickelt werden.

326.11.18

Ziel:

Zu jeder Zeit existiert ein aktuelles Testmodel

à eine aktuelle Testspezifikation

Page 4: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Agile Entwicklung und Test(-dokumentation)Schwierigkeit:

■ Trotz eines schlanken Entwicklungsprozesses eine auditfähige Dokumentation bereitzustellen

426.11.18

Page 5: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Blog: Prof. Dr. Christian Johner

■ https://www.johner-institut.de/blog/iec-62304-medizinische-software/agile-softwareentwicklung-fuer-medizinprodukte/

526.11.18Blog: Prof. Dr. Johner

Page 6: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Die IEC 62304 macht unmissverständlich klar, dass Sie jede Aktivität mit einem Verifikationsschritt abschließen müssen:Das Erstellen■ der Software-Anforderungen■ der Software-Architektur■ des Feindesigns■ der Software-Komponenten■ usw.Weiter verlangt die Norm, diese Aktivitäten rückverfolgbar (-> Traceability) zu dokumentieren.

626.11.18Blog: Prof. Dr. Johner

Page 7: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Agile Softwareentwicklung für Medizinprodukte

■ „Agil bedeutet nicht, dass man Regularien wie FDA als auch der IEC 62304 nicht bedienen muss.“

■ „Die IEC 62304 macht unmissverständlich klar, dass Sie jede Aktivität mit einem Verifikationsschritt abschließen müssen.“

726.11.18

Anforderungen und Funktionen müssen durch entsprechende Tests validiert werden.

Blog: Prof. Dr. Johner

Die Nachweispflicht d.h. die Dokumentationspflicht besteht auch im agilen Prozess!

Page 8: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Qualitätssprint als Projektabschluss?

■ Nachteile:■ Sie betreiben weiterhin den Aufwand für die (Rückwärts-)

Dokumentation.■ Sie profitieren nicht von den Vorteilen, welche die Dokumentation

und die Reviews leisten könnten: Nämlich Fehler frühzeitig im Prozess zu erkennen und zu beheben und so viel Zeit und Geld zu sparen.

■ Die Entwicklungsabteilung arbeitet weitgehend unbehelligt und unabhängig von der Qualitätssicherung und lässt somit die Qualitätssicherung zu einem Overhead verkommen, den man sich leistet, weil es die Regularien fordern.

826.11.18Blog: Prof. Dr. Johner

Page 9: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Mehrfache Überarbeitung der Dokumente= Mini Vs

926.11.18

Damit vervielfacht sich der Dokumentationsaufwand

Blog: Prof. Dr. Johner

Page 10: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Inkrementelles Testdesign mit Modellen

1026.11.18

Das Modell entwickelt sich mit der Implementierung

Page 11: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Inkrementelles Testdesign: Sprint 1

1126.11.18

Backlog

Korrekturen

TestfälleGenerator

Testfallgenerierung

Page 12: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Inkrementelles Testdesign: Sprint 2

1226.11.18

Backlog TestfälleGenerator

Korrekturen

Page 13: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Inkrementelles Testdesign: Sprint 3

1326.11.18

Backlog TestfälleGenerator

Korrekturen

Page 14: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

1426.11.18

Was ist der Nutzen?

Page 15: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Vorteile

■ Das Testmodell beschreibt die Anforderung im Kontext der Funktion

■ Die Überführung der Anforderungen in ein Modell führt zur Klärung der Funktionen und Abläufe

■ Das Testmodell ist eine Dokumentation der Systemfunktionen

■ Weiterentwicklung und Änderungen schlagen sich direkt in den alten und neuen Testfällen nieder. D.h. auch bestehende Testfälle werden im Zuge der Iteration ständig aktualisiert.

1526.11.18

Page 16: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Inkrementeller Test meint:

■ Das Testdesign wächst mit Fortgang des Produktes■ Testdesign und Testfälle sind immer aktuell und komplett■ Ergänzungen, Änderungen im Produkt werden parallel im

Test nachgeführt■ Es entsteht fortlaufend eine aktuelle Testspezifikation■ Es entstehen zunächst manuelle Tests, die nach und nach

automatisierbar sind■ Die Anzahl der Testfälle spielt im Aufwand keine Rolle

1626.11.18

Page 17: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

1726.11.18

Beispiel: MBTsuite Entwicklung

Funktion: API Importer für UML-TOOL

Page 18: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

MBTsuite der Testfallgenerator

TestfälleGenerator

automatisch26.11.18 18

Testmodell

Page 19: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

MBT: Testfallgenerator MBTsuite

1926.11.18

Export

Page 20: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Beispiel: MBTsuite – Direct EA Import■ As a user I want to be able to import models from Enterprise

Architect quickly

■ The user can choose between import from file (called "from file") and direct import (called "direct import") from the running Enterprise Architect application.

■ The start diagram can be chosen from a drop-down list■ The configuration of the last import should be preset in the dialog■ Supported diagram types should be: Activity and State■ The general importer is used

2026.11.18

Page 21: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Bisher: File-Schnittstelle

2126.11.18

Export Import

xmi-FileEnterprise Architect MBTsuite

Page 22: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Import der Testmodelle - quickly

2226.11.18

ImportEnterprise Architect MBTsuite

Page 23: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Importer auswählen

2326.11.18

Page 24: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

direct oder file Import auswählen

2426.11.18

Page 25: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

File auswählen

2526.11.18

Page 26: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Start-Diagramm auswählen

2626.11.18

Page 27: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Start-Diagramm auswählen

2726.11.18

Page 28: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Iteration 1

2826.11.18

Page 29: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Testmodell Iteration 1

2926.11.18

Page 30: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Testmodell Iteration 1

3026.11.18

Page 31: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Testmodell Iteration 1

3126.11.18

Page 32: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Testmodell Iteration 1

3226.11.18

Page 33: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Testmodell Iteration 1

3326.11.18

Page 34: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Testmodell Iteration 1

3426.11.18

Page 35: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Testmodell Iteration 1

3526.11.18

Page 36: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Testmodell Iteration 1

3626.11.18

Page 37: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Testmodell Iteration 1

3726.11.18

Page 38: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Testmodell Iteration 1

3826.11.18

Page 39: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Iteration 1: Zentraler Workflow mit Cancel-Option

3926.11.18

2 TestfälleGenerierung

Page 40: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Iteration 2

4026.11.18

Page 41: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Iteration 2

4126.11.18

Page 42: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Iteration 2

4226.11.18

Page 43: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Iteration 2

4326.11.18

Page 44: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Iteration 2

4426.11.18

Page 45: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Iteration 2

4526.11.18

Page 46: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Iteration 2

4626.11.18

Page 47: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Iteration 2

4726.11.18

Page 48: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

4826.11.18

Page 49: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

4926.11.18

Page 50: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

5026.11.18

Page 51: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

5126.11.18

Page 52: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

5226.11.18

Page 53: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

5326.11.18

Page 54: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Iteration 3

5426.11.18

Page 55: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Iteration 3

5526.11.18

Page 56: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Inkrementelles Testdesign mit Modellen

5626.11.18

Was haben wir erreicht?

Page 57: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Inkrementelles Testdesign

5726.11.18Blog: Prof. Dr. Johner

Das Modell entwickelt sich mit der Implementierung

Page 58: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Ergebnisse: Sichtbare Workflows

5826.11.18

Iteration1 Iteration 3Iteration 2

Page 59: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Ergebnisse: iterationsaktuelle Testsets

5926.11.18

Iteration1 Iteration 3Iteration 2

Page 60: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Ergebnis: Formale Testspezifikation

6026.11.18

Page 61: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Ergebnis: automatische Testskripts ab Iteration 3

6126.11.18

Page 62: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Zusammenfassung

■ Workflows sind visualisiert■ Die Entwickler wissen exakt was zu implementieren ist■ Tester und Entwickler haben auf Grund der Modelle das

gleiche Verständnis der Systemfunktionen■ Der Stand der Dokumentation ist jederzeit aktuell■ Es gibt keine „überholten“ Testfälle■ Durch die Generierung spielt die Anzahl der Testfälle für

den Aufwand keine Rolle

6226.11.18

Page 63: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Erfahrungen

■ Anforderung werden erschöpfend geklärt

■ Modelle als Diskussionsgrundlage werden sehr schnell akzeptiert

■ Testspezifikation und Testautomatisierung entstehen schneller in höherer Qualität

■ Man braucht die Disziplin am Modell festzuhalten 6326.11.18

Page 64: Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API Importer Testmodell für API-Importer Iteration 1.: der einfache Workflow -direkt Iteration

Vielen Dank

6426.11.18

Dr. Martin Beißer

Tel.: +49 9195 931-202email: [email protected]