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

Post on 30-Jun-2020

8 views 0 download

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

Ziemlich beste Freunde

Inkrementeller Test und agile Entwicklung

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

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

Agile Entwicklung und Test(-dokumentation)Schwierigkeit:

■ Trotz eines schlanken Entwicklungsprozesses eine auditfähige Dokumentation bereitzustellen

426.11.18

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

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

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!

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

Mehrfache Überarbeitung der Dokumente= Mini Vs

926.11.18

Damit vervielfacht sich der Dokumentationsaufwand

Blog: Prof. Dr. Johner

Inkrementelles Testdesign mit Modellen

1026.11.18

Das Modell entwickelt sich mit der Implementierung

Inkrementelles Testdesign: Sprint 1

1126.11.18

Backlog

Korrekturen

TestfälleGenerator

Testfallgenerierung

Inkrementelles Testdesign: Sprint 2

1226.11.18

Backlog TestfälleGenerator

Korrekturen

Inkrementelles Testdesign: Sprint 3

1326.11.18

Backlog TestfälleGenerator

Korrekturen

1426.11.18

Was ist der Nutzen?

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

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

1726.11.18

Beispiel: MBTsuite Entwicklung

Funktion: API Importer für UML-TOOL

MBTsuite der Testfallgenerator

TestfälleGenerator

automatisch26.11.18 18

Testmodell

MBT: Testfallgenerator MBTsuite

1926.11.18

Export

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

Bisher: File-Schnittstelle

2126.11.18

Export Import

xmi-FileEnterprise Architect MBTsuite

Import der Testmodelle - quickly

2226.11.18

ImportEnterprise Architect MBTsuite

Importer auswählen

2326.11.18

direct oder file Import auswählen

2426.11.18

File auswählen

2526.11.18

Start-Diagramm auswählen

2626.11.18

Start-Diagramm auswählen

2726.11.18

Iteration 1

2826.11.18

Testmodell Iteration 1

2926.11.18

Testmodell Iteration 1

3026.11.18

Testmodell Iteration 1

3126.11.18

Testmodell Iteration 1

3226.11.18

Testmodell Iteration 1

3326.11.18

Testmodell Iteration 1

3426.11.18

Testmodell Iteration 1

3526.11.18

Testmodell Iteration 1

3626.11.18

Testmodell Iteration 1

3726.11.18

Testmodell Iteration 1

3826.11.18

Iteration 1: Zentraler Workflow mit Cancel-Option

3926.11.18

2 TestfälleGenerierung

Iteration 2

4026.11.18

Iteration 2

4126.11.18

Iteration 2

4226.11.18

Iteration 2

4326.11.18

Iteration 2

4426.11.18

Iteration 2

4526.11.18

Iteration 2

4626.11.18

Iteration 2

4726.11.18

4826.11.18

4926.11.18

5026.11.18

5126.11.18

5226.11.18

5326.11.18

Iteration 3

5426.11.18

Iteration 3

5526.11.18

Inkrementelles Testdesign mit Modellen

5626.11.18

Was haben wir erreicht?

Inkrementelles Testdesign

5726.11.18Blog: Prof. Dr. Johner

Das Modell entwickelt sich mit der Implementierung

Ergebnisse: Sichtbare Workflows

5826.11.18

Iteration1 Iteration 3Iteration 2

Ergebnisse: iterationsaktuelle Testsets

5926.11.18

Iteration1 Iteration 3Iteration 2

Ergebnis: Formale Testspezifikation

6026.11.18

Ergebnis: automatische Testskripts ab Iteration 3

6126.11.18

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

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

Vielen Dank

6426.11.18

Dr. Martin Beißer

Tel.: +49 9195 931-202email: martin.beisser@seppmed.de