Ziemlich beste Freunde - MedConf...Inkrementelles Testdesign am Beispiel MBTsuite–Funktion API...
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