modellzentrierter Test Systematisierung und Effizienzsteigerung durch den Einsatz von Modellen E. Herzog, G. Klebes, F. Prester sepp.med GmbH MDSD Today 2008,
Über uns Metamethoden für innovative Software- und Testoptimierung Erstellung von SW-Komponenten und -Systemen Validierung und Verifikation von Produkten und Produktionsverfahren Neutrale Evaluierung, Beratung und Umsetzung von Methoden, Prozessen und Werkzeugen Produktivierung innovativer Methoden und Technologien Akkreditierter Schulungsanbieter für ISTQB-Certified Kurse Umsatz in Mio 12 10 8 6 4 2 0 1997 1999 Umsatz 2001 2003 2005 Mitarbeiter 2007 160 140 120 100 80 60 40 20 0 Mitarbeiter 2
Unsere Arbeitsgebiete Sicherheitsrelevanz und reguliertes Umfeld Medizintechnik Pharma Automotive Komplexität Workflows & Geschäftsprozesse Verteilte Entwicklung Produkte / Systeme mit vielen Teilkomponenten Produktfamilien, Anlagentechnik 3
Qualitätssicherung im Entwicklungsprozess 20 60% der Entwicklungskosten 4
Agenda Testprozesse Überblick Dokumentenbasiert Testfalldatenbankbasiert Modellbasiert modellzentrierter Test (.mzt) als Weiterentwicklung des MBT-Ansatzes Beispielmodelle aus der Praxis Automatische Testfallgenerierung.mzT - Erfahrungen aus Kundenprojekten Kooperationen- und Forschungsprojekte 5
Dokumenten- vs. Testfalldatenbank-basierter Testprozess dokumentenbasiert testfalldatenbankbasiert 6
Vorteile des Modellbasierten Testprozesses Visuell und methodisch Abstimmung und Review Systematische Spezifikation und Ableitung von Testfällen Erhöhung des Abstraktionsniveaus Vereinheitlichung der Testbeschreibung Verbesserung der Wartbarkeit von Testfällen Wiederverwendung (auch für manuelle Tests) Effizienzerhöhung Verbesserung der Wartbarkeit von Modellen Fehlervermeidung 7
Nachteile des Modellbasierten Testprozesses System-, Design- und Verhaltensmodelle aus der Entwicklung Direkte Ableitung von Testfällen aus der jeweiligen Spezifikation nur Verifikation - Haben wir das System richtig gebaut? keine Validierung - Haben wir das richtige System gebaut? Prozessanforderungen nicht berücksichtigt 8
modellzentrierter Test - Testspezifikation im Modell starte das Programm / loginfalsch = 0 Bedingung Warten auf Login Korrektes Login [ loginfalsch <3 ] Fehlerhaftes Login Trigger (Testschritt) Welches Ergebnis wird erwartet? (Verifikationspunkt) Login fehlgeschlagen entry/ loginfalsch += 1 [ loginfalsch>=3 ] gesperrt entry/ ^Meldung "Account gesperrt" Interne Aktion Hauptmaske entry/ ^Hauptmaske wird angezeigt 9
Modellzentrierter Test Beispielmodell aus der Praxis [glob_v > 0]/Abbremsen_bis_Stillstand [glob_v == 0]/Zuendung_und_Motor_Ausschalten FzgSteht /Zuendung_und_Motor_Ausschalten ZuendungAusMotorAus /^checkfzgstopped /exitfzgstop 10
modellzentrierter Test - Motivation komplexes Modell (hier) bis zu vier Ebenen > 30.000 Testfälle Modellierung vor Teststart komplett abgeschlossen bei komplexen Anwendungen mit vielen Bausteinen zu teuer Wiederverwendung, z.b. Regressionstests Welche Testfälle sind zu wiederholen? 11
modellzentrierter Test - Motivation Vor dem Test Requirements Testfallspezifikation & Durchführung Nach dem Test Vor- und Nachbedingungen Priorität Tracing Kennzeichnung Testdaten Testfall 12
.mzt - Beispielmodell aus der Praxis PreConditions /global glob_kup; glob_kup = "zu" /global glob_v; glob_v = 0 Lenken /Lenkzustaende «Prio2» / Kupplung /Kupplung Geschwindigkeitsaenderung /Geschwindigkeitsaenderung «Prio3» / «Prio3» / Fehlerzustaende «Prio3» / Fahrzeugzustand /Fahrzeugzustaende / «NP» {PathName = main} FzgStop /FzgStop 13
modellzentrierter Test - Modellierungskonzepte UML 2.0 Möglichst einfache Modelle Tester- (nicht UML!) Expertenwissen wird vorausgesetzt Inkrementelles und frühzeitiges Testen möglich Verwaltung von Testmanagementinformationen in Modellen Rückverfolgung 14
modellzentrierter Test methodische Konzepte Flexibel bei Werkzeugen Diagrammtyp + Kombinationen von Diagrammtypen Modellierungswerkzeug Flexibel bei Prozessintegrationen Verifikation und Validierung manuelle und automatisierte Tests Komponenten-, Integrations-, System- und Abnahmetests inhaltliche und visuelle Gestaltung von Modellen Effizienzsteigerung durch automatische Generierung von Testfällen aus Modellen 15
.mzt - Automatische Testfallgenerierung I Modell Testfallgenerierung mit.getmore Testfall manuell automatisch 16
Unterstützte Werkzeuge IBM Rational Rose ARTiSAN Studio Borland Together Sparx Systems Enterprise Architect.getmore Testabdeckungsstatistik HP TestDirector IBM Rational TestManager Borland Segue SilkTest MS Excel.faust ARTiSAN Studio TTCN-3 17
Erfahrungen aus Kundenprojekten Medizintechnik Systemtest Rose TestDirector Medizintechnik Integrationstest Rose.getmore SilkTest Medizintechnik Unit Test Rose.getmore UITA Pharma Functional Test Rose.getmore Test Manager Medien Systemtest Rose TestDirector QuickTest Medizintechnik System Requirements + Systemtest Visio Word Automotive Functional Test ARTiSAN.getmore ARTiSAN Pharma Workflowsystem- Validierung Rose.getmore Excel modellzentrierter Test - Systematisierung und Effizienzsteigerung 18
.mzt - Vorteile Modular & flexibel Verständlich & kommunizierbar Systematisch Wartbar Modellzentriert Wiederverwendbar Automatisierbar Dokumentenbasiert Effizient modellzentrierter Test - Systematisierung und Effizienzsteigerung Management etc. Design und Implementierung Durchführung Einsparung 19
.mzt Forschungsprojekte FAU Erlangen-Nürnberg Deutsche/EU Projektförderung TestNGMed Projekt (ProInno / EUREKA-Projekt Σ! 4053 RETEMES) 20
Fragen? 21
Kontakt sepp.med gmbh Gewerbering 9 91341 Röttenbach Tel: +49 9195-931-0 Fax: +49 9195-931-300 www.seppmed.de Ekaterina Herzog Tel.: -247, ekaterina.herzog@seppmed.de Günther Klebes Tel.: -248, guenther.klebes@seppmed.de 22