Geld sparen mit automatischer Testfallgenerierung aus Modellen



Ähnliche Dokumente
Automatische Testfälle. automatisch generieren. Dr. Martin Beißer sepp.med gmbh

modellzentrierter Test

Automatische Testfallgenerierung für den Systemtest. 1/5

emote embedded MOdel based TEsting Dr. Martin Beißer sepp.med gmbh

Ganzheitlich integriertes Anforderungs- und Testmanagement Stuttgarter Testtage 04. Mai 2011

Modellbasierter Test mit. Medizintechnik. Kompetenz. Prozess. rund um MBT. Umsetzung. Ihren. Ausblick. Entwicklungsprozess

Modellhafte Verbesserung in einer Testabteilung. White Paper MBT bei Siemens Healthcare MR

Transparenz beim Testen - Rollenorientierte Sichten im Web

Dr. Armin Metzger, sepp.med GmbH. TAV Meeting Stralsund, Testmanagement meets MBT

Erfahrungen mit der Einführung von modellbasierter Testspezifikation, Implementierung und Generierung bei einem deutschen Automotive OEM

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung.

Testfälle und Anderes aus Modellen generieren. Dr. Martin Beißer, sepp.med gmbh

Ereignis-basierter Test grafischer Benutzeroberflächen ein Erfahrungsbericht

Modellbasiertes Testen

IT-Arbeitskreis OWL. Testautomatisierung 2.0. Modellbasiertes Testen. Baris Güldali

Modell. Generierung. Test

Automatische Testfallgenerierung aus Modellen. 8. Neu-Ulmer Test-Engineering-Day Martin Miethe

Gemeinsam Software-Lösungen finden. Vom Prototyping bis zur Serienreife.

ALM Test Management Cockpit. Tobias Fickinger, SAP Consulting April 2016

Reinhard Salomon Geschäftsleitung

1.4! Einführung. Systemmodellierung. Methoden und Werkzeuge

Customer Success Story

modellbasiertes Testen für die Enterprise-IT. Insight 2011 Florian Prester

Testmanagement. Full-Service

Zürich User Summit - Inflectra

Modellbasiertes Testen auf Basis des fundamentalen Testprozesses

Aufbau einer Vitaldatentestumgebung für CEN/ISO/IEEE konforme Dienste im Projekt SmartSenior

SICHERES TESTEN MIT POLARION. Frank Ziesel

Modellbasiertes Testen mit UTP

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Strategien zur Testfallgenerierung aus UML-Zustandsautomaten

Toolgestützte Validierung, Managed Servies, Cloud Testing und andere Trends für die Produktqualität

modellbasiertes Testen für die Enterprise-IT. OOP 2011 Florian Prester

Memoiren eines Requirements. Dr. Anne Kramer, sepp.med gmbh

Mitarbeiter-Profil Schmitz, Dominik Senior Test Engineer

Entwicklung des Softwareengineerings im Bereich der IT-TK-Technologie. Stefan Bläsius und Gregorio Roper Berlin,

Entwicklung einer sensorlosen Motorregelung für Dentalbohrer nach IEC Dr. Michael Schwarz

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 7. Februar 2013

IBM Software Demos Rational Software Delivery Platform - Situation

Test von sicherheitsrelevanten Anwendungen für eingebettete Systeme. Dr. Martin Beißer sepp.med gmbh

Comparing Software Factories and Software Product Lines

Petwalk Customer Success Story

Ein generativer Ansatz für den automatisierten Softwaretest,

Mitarbeiter-Profil Dander, Jörg Testmanager

Testen mit Use Cases. Chris Rupp Dr. Stefan Queins

Mitarbeiter-Profil Dander, Jörg Testmanager

Modulare Testfälle spezifizieren zur Automation und manuellen Testdurchführung. Tanja M. Tremmel

Modellhafte Verbesserung in einer Testabteilung - MBT im industriellen Einsatz

MDRE die nächste Generation des Requirements Engineerings

Wann lohnt sich GUI- Testautomatisierung?

Testmanagement und Teststrategie systematisch aufsetzen und optimieren

M.Sc. Informatik, Studium angewandte Informatik M.Sc. Ing. Lasertechnik, Studium Laser und Photonik B.Sc. Elektrotechnik, Studium der Elektrotechnik

Beraterprofil. Profil F. R. Senior Test Consultant Jahrgang 1972

2 Geschäftsprozesse realisieren

Durch Usability spürbar produktiver werden. kirschwerk - Wir machen s einfach

DIE VORTEILE UND HERAUSFORDERUNGEN VON MARKETING-AUTOMATION

Portfolio Management. Die Klusa Module. Aufgaben des Portfoliomanagements

Einladung TMap Test Topics

Benutzungsorientiertes und modellzentriertes Testen im HiL-Testing. Testing

4 Grundlagen von SQS-TEST/Professional New Line

Wann lohnt sich GUI- Testautomatisierung?

Tabellarischer Vergleich der. für modellbasiertes Testen aus Managementsicht. Dominik Beulen, Barış Güldalı, Michael Mlynarski

Testen von SOA-Anwendungen mit dem BPEL Testframework

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 11. Februar 2015

Requirements Engineering in der Systementwicklung

EFFIZIENTE ROLLOUT-STEUERUNG BEI DER HOMAG MIT HILFE VON ARIS UND SAP SOLUTION MANAGER

Specmate Auf Knopfdruck von Anforderungen zu Tests

Notationen zur Prozessmodellierung

Modellbasierte Teststrategie in der Fahrzeugerprobung am Beispiel der car2go

Systematischer Testfallentwurf als zentrales Element der Aufwandsteuerung

M.Sc. Informatik, Studium angewandte Informatik M.Sc. Ing. Lasertechnik, Studium Laser und Photonik B.Sc. Elektrotechnik, Studium der Elektrotechnik

Synergien aus Testautomatisierung und Lasttest. Vortrag im Rahmen des German Testing Day 2018

Modell-basierte Entwicklung mit der Timing Definition Language (TDL)

EJB City GmbH ist Ihr Partner dafür!

Realität zu modellieren eine

Agile HW-Entwicklung und virtuelle Inbetriebnahme im Maschinenbau

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)

So testen Sie mit einem visuellen Vertrag

Embedded CASE Tool Systems Embedded Control Solutions

LieberLieber Software GmbH UML, SysML und AUTOSAR erfolgreich kombinieren und gemeinsam einsetzen

Session: 3 Durchgängige Werkzeugunterstützung für Modell- und Dokumentbasiertes Requirements Engineering (Smart Mechatronics) 10. Oktober 2017 Lemgo

Untersuchung der Sprachkonformität und Vollständigkeit von UML 2.0 Werkzeugen

SOFTWAREENTWICKLER AUTOMOTIVE (M/W)

Testmanagement bei SAP-Projekten

Modellbasiertes Testen

A4Q Selenium Tester Foundation Kursübersicht. Alliance for Qualification

ISO 29119: Die neue Normenreihe zum Softwaretest

Programmiermethodik Vorlesung und Praktikum SS 2001

ACHILLES UND DIE SCHILDKRÖTE: MIT MODELLBASIERTER TESTAUTOMATISIERUNG SCHNELLER ZUM ZIEL

Notwendigkeit der Testautomatisierung? Neue Ideen, Konzepte & Werkzeuge

Von der Prozessanalyse zur Prozessautomatisierung

Customer Success Story

Formalisierung der. mit visuellen Kontrakten und deren. Gregor Engels, Baris Güldali, Stefan Sauer

Testdesign für Automationsskripte

Zusicherungen und Laufzeit Überwachungen in der modellbasierten Software Entwicklung

Fachgruppe Systems Engineering

Welche Testautomatisierungen sind möglich und sinnvoll?

Whitepaper: Agile Methoden im Unternehmenseinsatz

Transkript:

Geld sparen mit automatischer Testfallgenerierung aus Modellen

Download der Testversion: www.mbtsuite.de Qualitätssicherung als Pflichtaufgabe Die Entwicklung von medizinischen Produkten insbesondere solche die Software enthalten oder gänzlich in Software realisiert sind, erfordert ein sehr hohes Maß an Qualitätssicherung. Nicht selten werden für die Qualitätssicherung im Softwarebereich bis zu 50% der Gesamtkosten veranschlagt, insbesondere wenn es sich um medizinische Großgeräte wie CT oder MR-Geräte handelt. Das gilt auch für Herzschrittmacher oder Defi brillatoren, die zwar kleinere Systeme darstellen, aber durch ihre Sicherheitsklasse weit umfassendere Anforderungen an die Qualitätssicherung erfüllen müssen. Neben der Absicherung der Hardware-Komponenten, für die die Lebensdauer und die Ausfallsicherheit eine zentrale Rolle spielt, ist vor allem die Absicherung der Softwarefunktionalität ein sehr kostenintensiver Bereich. Der Hauptgrund dafür ist die zunehmende Komplexität, die durch den Einsatz von immer mehr Software in der Regel einhergeht. Betrachtet man z.b. das Anfahren eines steuerbaren Elektromotors über eine CAN-Open-Startsequenz so benötigt man für eine vollständige Testabdeckung aller Möglichkeiten leicht 100 200 Testfälle. Da in den heutigen Systemen aber immer mehrere Komponenten miteinander interagieren, potenziert sich die Anzahl der zu testenden Situationen durch die gegenseitigen Abhängigkeiten sehr schnell. Wo entstehen welche Kosten im Testprozess? Der Testprozess besteht aus folgenden Schritten: Erstellung des Testkonzeptes Erstellung des Testdesigns Implementierung der Testfälle Testdurchführung Testbewertung Fehlerverfolgung sepp.med gmbh Copyright by sepp.med gmbh & AFRA GmbH Version 1.0 Geschäftsführer Dipl. Betriebsw. (FH) Barbara Bilen Dipl. Inf. Florian Prester Dipl. Kffr. Maria Prester Handelsregister Fürth HRB B 6131 Umsatzsteuer-ID: DE 179 168 106 AFRA GmbH Geschäftsführer Dipl. Math. Peter Kreutzer Dipl. Math. Bernhard Nuber Handelsregister Fürth HR B 3797 Sitz der Gesellschaft: Erlangen Umsatzsteuer-ID: DE 229 229 489 Die Fehleranalyse und Fehlerbehebung werden bei unserer Betrachtung der Entwicklung zugeordnet und sollen daher nicht weiter berücksichtigt werden. Gewöhnlich fällt in den beiden Bereichen Implementierung und Testdurchführung der größte Teil des Aufwandes und damit der Kosten an. Häufi g wird der Schritt Testdesign, in dem die Idee des Tests erstellt wird und der Schritt Testimplementierung, in dem die einzelnen Testfälle konkret dokumentiert werden, zu einem einzigen Abschnitt zusammengefasst. Das konkrete Ergebnis des Testdesigns ist das Aufschreiben des Testfalls bzw. das Implementieren für die Testautomatisierung. Erfahrungsgemäß wird dafür etwa ein Drittel des Gesamtaufwandes im Testprozess benötigt. Man sollte sich aber bewusst sein, dass die Qualität der Tests im Testdesign festgelegt wird und nicht in der Testimplementierung. Häufi g wird aber der Aufwand für das Testdesign beschränkt durch den hohen Ressourcenanteil, der für die Testimplementierung benötigt wird. Ein weiteres Drittel wird für die eigentliche Testdurchführung verbraucht. 2 3

Das letzte Drittel wird durch die Personenaufwände sowie Kosten für eingesetzte Werkzeuge gekennzeichnet. So muss man für die Planung und Konzepterstellung für einen einfachen GUI-Test (nur mit MS Offi ce-einsatz) alleine schon 15-20% der gesamten Personentage für den kompletten Testumfang einkalkulieren. Sollen die Ergebnisse der durchgeführten Tests auch richtig berücksichtigt werden können, so müssen sie sorgfältig ausgewertet und bewertet werden, weitere mindestens 10% an Personenaufwand fallen hier an. Die restlichen ca. 5-8% entfallen auf entweder umständliche Anforderungsverfolgung in Excel-Tabellen (personenintensiver) oder aber in teuren Requirement Management-Tools oder in oftmals zu mächtigen Testmanagementwerkzeugen (kostenintensiver). Wie sieht ein solches Testmodell aus? Es bietet sich an, für die Beschreibung der Modelle UML-Werkzeuge zu verwenden, da diese weit verbreitet sind und mit den Diagrammtypen Zustands- und Aktivitätsdiagramm die idealen Mittel zur Verfügung stellen. Die unterstützt dabei neben Enterprise Architect von Sparx Systems auch Artisan Studio, Innovator von MID sowie MS Visio. Im Folgenden ist als Beispiel das Modell eines Login-Vorgangs in Form eines Aktivitätsdiagramms zu sehen. Wie lässt sich diese Situation verbessern? Da der Hauptgrund für den hohen Aufwand der Testautomatisierung die Wartung und Pfl ege der automatischen Testfälle ist, kann man hier mit Hilfe einer automatischen Testfallgenerierung aus Modellen eine Effektivitätssteigerung erreichen. Die Idee ist, das Testdesign und die Testimplementierung besser zu trennen und den Teil der Testfallerstellung, der automatisierbar ist, zu automatisieren. Das Konzept sieht wie folgt aus: 1. Man erstellt das Testdesign in Form von graphischen Modellen, die die Funktionalität des zu testenden Systems formal beschreibt. Dieses Modell enthält alle Informationen, die benötigt werden, um daraus automatisch konkrete ausführbare Testfälle abzuleiten. Diese Methode wird als modellbasierter Test (MBT) bezeichnet. AFRA und sepp.med haben diese Methode hin zum modellzentrierten Test (mzt) erweitert und bei vielen Kunden erfolgreich eingeführt. 2. Zur Erstellung der Testfälle setzt man einen Testfallgenerator (die ) ein, der aus den Modellen nach strategischen Vorgaben die Testfälle automatisch erzeugt. Was gewinnt man dadurch? 1. Zunächst entsteht in Form der Testmodelle ein Testdesign-Dokument, das sehr klar darstellt, was das System under Test (SuT) aus Testersicht leisten soll. Dies entspricht einer Anforderungsüberprüfung und sichert die Qualität der formulierten Anforderungen ab. 2. Das Modell beschreibt den Testfokus und damit den Testgegenstand. Es enthält in den Grenzen des Testfokus eine vollständige Beschreibung der Funktionsmöglichkeiten unter Einbeziehung von Fehlbedienung bzw. von Schlechtfällen. Damit ist eine Basis geschaffen, die Güte der Testabdeckung objektiv zu beurteilen. 3. Die Systematik der Testfallerstellung wird signifi kant erhöht. Mit einem entsprechenden Testfallgenerator können aus den Modellen nach strategischen Überlegungen systematisch Testfälle generiert und diese Strategien dokumentiert werden. 4. Das sichert die abhängig von der SW-Sicherheitsklasse geforderte Nachvollziehbarkeit einer Systematik einer durchgeführten Testfallerstellung ab. 5. Die Defi nition der Testabdeckung wird durch die Modelle in vielen Fällen erst möglich. Zum einen kann die Abdeckung gegen die Struktur des Modells defi niert werden, zum anderen lassen sich spezielle Attribute im Modell hinterlegen, die für eine Testabdeckungsdefi nition genutzt werden können. 6. Die Wartbarkeit der Testfälle wird deutlich erhöht, da Änderungen in einzelnen Testschritten an zentraler Stelle im Modell erfolgen können und durch die Generierung automatisch in alle betroffenen Testfälle einfl ießen. Auch wird eine einfache Wiederverwendbarkeit von Testelementen durch die Modelle erreicht. 7. Das Requirement-Tracing wird im Modell sichergestellt, da Anforderungen direkt im Modell mit den betroffenen Testelementen verknüpft werden. Bild 1: Testmodell Login mit Subdiagramm Fehleingabe Dieses Modell enthält alle Möglichkeiten einer Fehleingabe für den Login-Vorgang. Entsprechend würde eine Testfallgenerierung mit der Vorgabe einer vollständigen Pfadabdeckung eine 100%ige Testabdeckung hinsichtlich der Fehleingabemöglichkeiten ergeben. Jeder Weg vom Startpunkt bis zum Endpunkt unter Einbeziehung auch der Unterdiagramme ist als potentieller Testfall zu betrachten. Ob er auch in einen Testfall überführt wird, hängt ab von der Strategie, die der Testmanager durch den Testfallgenerator umsetzen lässt. Auf jeden Fall ist das Ergebnis eines jeden Pfaddurchlaufs ein vollständiger ausführbarer automatisch erstellter Testfall oder eine entsprechende Testspezifi kation für eine manuelle Testdurchführung. Bild 2: Aus einem Testmodell erzeugtes automatisches Testskript 4 5

Damit diese Konzept funktioniert ist es entscheidend, dass ein Generator existiert, der in der Lage ist, aus den Modellen alle relevanten Informationen zu übernehmen und genügend fl exible Abarbeitungsstrategien zur Verfügung stellt, damit man exakt die Testsets erstellen kann, die die gewünschte Testabdeckung darstellen. Die ist ein solcher Testfallgeneratoren und hat sich in verschiedenen Einsatzdomänen bereits bewährt. Wie wirkt sich der Einsatz einer modellbasierten Vorgehensweise im Testdesign bezüglich der Aufwände aus? Sowohl nach unseren eigenen Erfahrungen als auch nach den Ergebnissen verschiedener Studien ergeben sich Verbesserungen bzgl. des Aufwands von 42% bis 75% in der Testdesignphase und eine Produktivitätssteigerung von bis zu 525% in der Wartungsphase (Weißleder et al., Objektspektrum 06/2011: Modellbasiertes Testen: Hype oder Realität? bzw. Conformiq Forrester Study). Fazit Durch die Investition in die Methode modellzentrierter Test (mzt) und damit der Umstellung auf eine Modellierung von Testszenarien in Diagrammform wird ein Paradigmenwechsel im Test eingeführt, der große Einsparungspotentiale für die Wartung und Wiederverwendung mit sich bringt. Der oft befürchtete Mehraufwand für diese Umstellung ( jetzt müssen meine Tester auch noch UML lernen ) bleibt gering, da zum Einen nur wenige UML-Elemente benötigt werden und zum Anderen diese Einführung durch die Experten von AFRA und sepp.med optimal begleitet wird (z.b. durch praxisnahe Workshops Richtig modellieren für den Test ). Selbst in Pilotprojekten mit einer erstmaligen Modellierung gab es keinen Mehraufwand. Der Einsatz der und damit der automatischen Testfallgenerierung aus diesen Modellen führt zu einer großen Einsparung und gleichzeitig zu qualitativen Vorteilen. Wird wie bei der angeboten, ein Export in ein Testautomatisierungswerkzeug vorgenommen, so können zudem die Aufwände für die Testimplementierung zu einem großen Teil eingespart werden. Dies liegt daran, dass nur einzelne Testschritte ausprogrammiert werden müssen, die kompletten Testfälle aber automatisch entstehen. Damit besteht eine Automatisierungskette vom Modell bis hin zur Testdurchführung und - falls ein entsprechendes Testmanagementwerkzeug eingesetzt wird - bis hin zum Testbericht und zum Requirements-Tracing. Mit welchen Kosten ist für die Einführung eines modellzentrierten Testansatzes zu rechnen? Diese setzen sich aus den Kosten für die benötigten Werkzeuge und für die Schulungs- und notwendigen Beratungsaufwände zusammen. Basisausstattung sind ein Modellierungstool und ein Testfallgenerator. Je nach Auswahl liegen diese zwischen kleiner als zehntausend Euro (Enterprise Architect + ) und mehreren zehntausend Euro (z.b. IBM Rhapsody + Conformiq Tool chain). Der Aufwand für die Schulung und Einarbeitung der Anwender hängt ebenfalls stark von den gewählten Produkten ab. Man kann aber von zwei bis fünf Tagen für Schulungen und von einem Beratungsbedarf von einigen wenigen Tagen bis Wochen ausgehen, je nach Komplexität der Problemstellung. Im Vergleich mit den Einsparungen, die sich durch den Einsatz des modellbasierten Tests ergeben, fallen die Einführungskosten jedoch nicht sehr ins Gewicht. Dokumentbasiert Modellzentriert 22 % Management Testdesign Testdurchführung Einsparung Bild 3: Verteilung des Aufwandes für Testmanagement, Testdesign und Testerstellung sowie Testdurchführung Die Autoren Dr. rer. nat. Martin Beißer hat in Erlangen Physik studiert. Nach seiner Promotion war er mehrere Jahre als Geo-Wissenschaftler an verschiedenen in- und ausländischen Forschungseinrichtungen tätig. Danach hat er in mehreren Projekten im Bereich Qualitätssicherung und Prozessoptimierung im Auftrag für verschiedene Automobilhersteller gearbeitet. Seit 1999 ist Dr. Martin Beißer als leitender Angestellter der sepp.med gmbh verantwortlich für die Bereiche Softwareentwicklung, Qualitätssicherung und Beratung in den Branchen Automotiv, Avionik, Automation sowie Medizintechnik. Durch Vorträge und Veröffentlichungen setzt er sich seit vielen Jahren für die Verbreitung der modellbasierten Testidee verbunden mit einer automatischen und systematischen Testfallgenerierung ein. In einem Kundenprojekt, in dem durch vergleichbare parallel arbeitende Test-Teams der konventionelle mit dem modellzentrierten Ansatz sehr gut verglichen werden konnte, wurden beim Design (im obigen Bild 3 der Bereich mit der dunkelblauen Färbung) 50% Einsparungen erzielt, was auf das Gesamtprojekt übertragen eine Einsparung von immerhin noch 22% ergab. Im untersuchten Projekt bedeutete das bei einem Gesamtaufwand von sieben Personenjahren eine Einsparung von 18 Monaten. In einem weiteren untersuchten Projekt konnten realisierte Einsparungen von ca. 33% beobachtet werden. Das Phänomen der Einsparungen kann wie folgt beschrieben werden: Die zusätzlich benötigte Zeit für die Modellierung wird durch die Einsparung bei der Testfallerstellung (prosaisch beschreiben vs. automatisch generieren) mehr als aufgewogen, bei den restlichen Aufgaben (Analyse, Klärung etc.) reduziert sich zwar der Aufwand nicht, dafür erhöht sich die Qualität der Testfälle und der Klärungen anhand der Modelle deutlich. Der Wirtschaftsinformatiker M.Sc. Thomas Franke ist seit vielen Jahren erfolgreich in der Prozessberatung und -unterstützung in der Medizintechnik, speziell in der Qualitätssicherung sowie im Usability Engineering und Risikomanagement tätig. Ein Schwerpunkt ist dabei die Modellierung im Test und die Einführung des modellbasierten Tests (MBT) in der SW- und System-Entwicklung. Neben seiner Funktion für die AFRA GmbH ist er in der Unternehmervereinigung Embedded for You (E4Y) zuständig für Marketing und Vertrieb. 6 7

sepp.med gmbh Gewerbering 9 91341 Röttenbach AFRA GmbH Henkestraße 77 91052 Erlangen Fon: +49 (0) 91 95-9 31-0 Fon: +49 (0) 91 31-82611 - 0 Fax: +49 (0) 91 95-9 31-300 Fax: +49 (0) 91 31-82611 - 40 E-Mail: info@seppmed.de Web: www.seppmed.de E-Mail: info@afra.de Web: www.afra.de