Automatische Codegenerierung aus visuellen Testfallspezifikationen Dr. Bastian Cramer und Dr. Dennis Klassen achelos GmbH SmartCard-Workshop 2014 © 2014 achelos Qumate macht Qualität … sichtbar! 1 Motivation Anforderungsgetriebener Testzyklus für Chipkartentests Thomas Freitag @SmartCard-Workshop 2012 Anforderungen Anforderungs -abdeckung Testspezifikation Testfallabdeckung Aufwendige Testsuiten mit vielen Testfällen (bis ca. 5000) Testfallgenerierung Protokollauswertung Simulation Testobjekte Testdurchlauf © 2014 achelos Qumate macht Qualität … sichtbar! 2 Motivation Anforderungsgetriebener Testzyklus für Chipkartentests Thomas Freitag @SmartCard-Workshop 2012 Anforderungen Anforderungs -abdeckung Testspezifikation Testfallabdeckung Aufwendige Testsuiten mit vielen Testfällen (bis ca. 5000) Viele Beteiligte Testfallgenerierung Protokollauswertung Simulation Testobjekte Testdurchlauf © 2014 achelos Qumate macht Qualität … sichtbar! 3 Motivation Anforderungsgetriebener Testzyklus für Chipkartentests Thomas Freitag @SmartCard-Workshop 2012 Anforderungen Anforderungs -abdeckung Testspezifikation Testfallabdeckung Aufwendige Testsuiten mit vielen Testfällen (bis ca. 5000) Viele Beteiligte Viele unterschiedliche Rollen: Testfallgenerierung Implementierer Spezifizierer Tester Protokollauswertung Simulation Testobjekte Testdurchlauf © 2014 achelos Qumate macht Qualität … sichtbar! 4 Motivation Anforderungsgetriebener Testzyklus für Chipkartentests Thomas Freitag @SmartCard-Workshop 2012 Anforderungen Anforderungs -abdeckung Testspezifikation Testfallabdeckung Aufwendige Testsuiten mit vielen Testfällen (bis ca. 5000) Viele Beteiligte Viele unterschiedliche Rollen: Testfallgenerierung Implementierer Spezifizierer Tester Protokollauswertung Simulation Testobjekte Testdurchlauf © 2014 achelos Lösung: Automatisierung Qumate macht Qualität … sichtbar! 5 Motivation Anforderungsgetriebener Testzyklus für Chipkartentests Thomas Freitag @SmartCard-Workshop 2012 Anforderungen Anforderungs -abdeckung Testspezifikation Testfallabdeckung Aufwendige Testsuiten mit vielen Testfällen (bis ca. 5000) Viele Beteiligte Viele unterschiedliche Rollen: Testfallgenerierung Implementierer Spezifizierer Tester Protokollauswertung Simulation Testobjekte Testdurchlauf © 2014 achelos Lösung: Automatisierung Qumate macht Qualität … sichtbar! 6 Agenda 1. Der Testworkflow 2. Visuelle Sprachen 3. Der grafische Testfalleditor 4. Demo 5. Ausblick © 2014 achelos Qumate macht Qualität … sichtbar! 7 Testworkflow Anforderung Testspezifikation Testimplementierung COS Spec. SICCT Spec. … Vollständig text-basiert © 2014 achelos Qumate macht Qualität … sichtbar! 8 Testworkflow Anforderung Testspezifikation Testimplementierung COS Spec. SICCT Spec. … Vollständig text-basiert © 2014 achelos Qumate macht Qualität … sichtbar! 9 Testworkflow Anforderung Testspezifikation COS Spec. SICCT Spec. … Testimplementierung Review Review Vollständig text-basiert Mehrere Reviewing-Phasen © 2014 achelos Qumate macht Qualität … sichtbar! 10 Testworkflow Anforderung COS Spec. SICCT Spec. … Testspezifikation Testimplementierung Review Review Vollständig text-basiert Mehrere Reviewing-Phasen Unterschiedliche Testspezifikationen auf Basis gleicher Anforderungen Variierende Qualität der Testimplementierungen © 2014 achelos Qumate macht Qualität … sichtbar! 11 Testworkflow Grafischer Testfallgenerator Anforderung COS Spec. SICCT Spec. … Testspezifikation Testimplementierung Review Vollständig text-basiert Mehrere Reviewing-Phasen Unterschiedliche Testspezifikationen auf Basis gleicher Anforderungen Variierende Qualität der Testimplementierungen © 2014 achelos Qumate macht Qualität … sichtbar! 12 Visuelle Sprachen LabView – 1983 UML – ~1990 Prograph – 1983 Hoher Anteil graph. Konstrukte Modellierung auf hohem Abstraktionsniveau Komplexe Strukturen können erfasst werden © 2014 achelos Qumate macht Qualität … sichtbar! 13 Visuelle Sprachen LabView – 1983 Prograph – 1983 UML – ~1990 Struktureditoren Hoher Anteil graph. Konstrukte Modellierung auf hohem Abstraktionsniveau Komplexe Strukturen können erfasst werden © 2014 achelos Strukturiertes/syntax-gerichtetes editieren Keine syntaktisch fehlerhaften Instanzen UML-Editoren sind i.d.R. Struktureditoren Hohe grafische Ausdrucksfähigkeit gegenüber freien Editoren Qumate macht Qualität … sichtbar! 14 Architektur achelos Testfall-Editor Integration in Toollandschaft der achelos GmbH -> Java, Eclipse GMF basierter Editor Spezifikation auf hohem Niveau Erlaubt Rapid-Prototyping GMF EMF GEF Eclipse © 2014 achelos Qumate macht Qualität … sichtbar! 15 Testfall-Editor Überblick © 2014 achelos Qumate macht Qualität … sichtbar! 16 Testfall-Editor Toolpalette © 2014 achelos Qumate macht Qualität … sichtbar! 17 Testfall-Editor Canvas © 2014 achelos Qumate macht Qualität … sichtbar! 18 Eigenschaften © 2014 achelos Qumate macht Qualität … sichtbar! 19 Testfall-Editor Application Card Designer © 2014 achelos Qumate macht Qualität … sichtbar! 20 Testfall-Editor Konsistenzchecks © 2014 achelos Qumate macht Qualität … sichtbar! 21 Testfall-Editor Metainformationen © 2014 achelos Qumate macht Qualität … sichtbar! 22 Testfall-Editor GMF JET EMF GEF JET (Java Emitter Templates) Template basiert Einfach austauschbar Code Beautifying Eclipse © 2014 achelos Qumate macht Qualität … sichtbar! 23 Demo Kurze Demo © 2014 achelos Qumate macht Qualität … sichtbar! 24 Ausblick Sukzessive Verbesserung des grafischen Editors hinsichtlich Usability mehr domänenspezifische Konstrukte Integration von Parsern Evaluierung nach Green/Petre („Cognitive Dimensions Framework“) Teil einer halb-automatischen Toolchain Testfallpermutation © 2014 achelos Qumate macht Qualität … sichtbar! 25 Fazit Grafischer Testfallgenerator Anforderung © 2014 achelos COS Spec. SICCT Spec. … Testspezifikation Testimplementierung Review Qumate macht Qualität … sichtbar! Review 26 Fazit Grafischer Testfallgenerator Anforderung COS Spec. SICCT Spec. … Testspezifikation Review Spezifikation auf hohem Niveau Wegfall der Implementierungsphase Wegfall einer Reviewing-Phase Einheitlicher Spezifikations-/Implementierungscode Basis für weitere Entwicklungen in der achelos Toolchain Für Einsteiger geeignet Insgesamt weniger Aufwand © 2014 achelos Qumate macht Qualität … sichtbar! 27 Dr. Bastian Cramer [email protected] Dr. Dennis Klassen [email protected] achelos GmbH Vattmannstraße 1 33100 Paderborn Tel.: +49 5251 14212-0 www.achelos.de Die Testmanagement-Toolsuite von achelos www.qumate-world.de © 2014 achelos Qumate macht Qualität … sichtbar! 28