ZUKEN E³ GmbH Ulm-Einsingen GUI “Graphical user interface testing” in der Praxis Jürgen Blatz Software Engineer Quality Assurance Product Development
© Zuken
ZUKEN E³ GmbH Ulm-Einsingen
GUI “Graphical user interface testing” in der Praxis
Jürgen BlatzSoftware Engineer Quality AssuranceProduct Development
© Zuken
Referent Dipl.Ing. (FH) Jürgen Blatz
1988 Studium zur Techn. Informatik in Ulm Mitwirkung an der Entwicklung von Software für Lingl Hochregallager und dem Mautsystem für die norwegische Stadt Oslo per optischer Nummernerfassung
1989 Anstellung bei CIM-Team Ulm Software-Portierung eines Leiterplattenentflechtungsmodel von Fortran nach ‚C‘
Weiterentwicklung des Modules für HP
Seit 2002 Entwicklung objektorientierter Verkablungssoftware „E³.series“
2008 Übernahme CIM-Team durch die Zuken E3 GmbH Spezialisierung im Bereich QA/Software-Test
2011 Einführung SRUM-Prozess in der Entwicklung QA/Test im agilen Entwicklungsfeld
Privat Ausgleichsport Leitung Ulmer Einstein Marathon Vorbereitungsgruppe
2
© Zuken
Überblick
Age
nda • Firmenportrait Zuken
• Test-Methoden• Mensch Maschine Interface• GUI-Test Ranorex• Studio• UI-Test Plug & Play?• Versionshandling• Infrastruktur• Dashboard
3
© Zuken
Zuken Company for Innvoations
4
© Zuken
Zuken Überblick
Zuken Zentrale, Japan - Yokohama
Zuken EAS Hauptsitz, Deutschland - Hallbergmoos
Zuken Entwicklung, Großbritannien - Bristol
Zuken Entwicklung, Deutschland - Paderborn
Japan Entwicklung
GB Entwicklung
Zuken E3 EntwicklungDeutschland - Ulm
Deutschland Entwicklung
© Zuken
Zuken Corporate ProfileSummary
6
1976
$231,500,427*
Yokohama, Japan
Munich, Germany
Westford, Massachusetts
Tokyo Stock Exchange Level-1
1,191
Profitable, no debt
Founded
Revenue Year Ended March 2013
Corporate Headquarters
European Headquarters
North American Headquarters
Stock Listing
Employees
Operational Excellence
* using the original currency and the average exchange rate for the period.
© Zuken
Zuken E³ GmbH Ulm - Einsingen
Zuken E3 EntwicklungDeutschland - Ulm
• Gegründet 1987 in Ulm als CIM-Team
• Standort früher in Ulm – Söflingenmit ca. 10 Mitarbeitern
• Neubau 1996 in Ulm-Einsingen
•1998 Übernahme von E-CAD Systemen von HP/Cade Laichingen und beteiligte Mitarbeiter
•2001 Übernahme des E-CAD Systems promis von TCS in Süssen und beteiligte Mitarbeiter
•2001 Übernahme des E-CAD Systems VarCAD
•2006 Beteiligung der Zuken AG Japan
•2014 neues Vertriebs-und Schulungszentrum Sedanstr. Ulm
•Aktuell ca. 90 Mitarbeiter in Ulm - Einsingen
© Zuken
spezifischeTechnologie
spezifischeTechnologie
Gemeinsame Kerntechnologien– Software / Dienstleistungen / Management-Expertise
ZUKEN – StrategieProdukt- und Industrie- spezifisch
PLM
ElectricalElectronic
Mechanical Semi-conductors
IntegrationIntegration
IntegrationIntegration
PLM
ElectricalElectronic
MechanicalSemi-
conductors
PLM
ElectricalElectronic
MechanicalSemi-
conductors
PLM
ElectricalElectronic
MechanicalSemi-
conductors
PLM
ElectricalElectronic
MechanicalSemi-
conductors
spezifischeTechnologie
spezifischeTechnologie
© Zuken
E³.series - Industriesegmente
• Fahrzeuge− Automobile− Agrarmaschinen− Baumaschinen, Kräne− Züge
• Luft- und Raumfahrt− Businessjets− Flugzeuge/Jets− Satelliten
• Konsumprodukte− Drucker, Kopierer, Scanner− Kommunikationssysteme− Medizintechnik− Weiße Ware
Spezielle Lösungen für spezifische Anwendungsgebiete
© Zuken
Fahrzeughersteller / Automotive
• Entwicklung von Fahrzeugen aller Art – Spezielle Module für Automotive und Transportation
10
© Zuken
Industry Solutions - E³.machinery (Maschinen- und Anlagenbau)
• Unterstützung internationaler Standards im Maschinenbau
11
© Zuken
Interaktion…
…im
mer an der Schnittstelle zw
ischen Mensch und M
aschine…
12
© Zuken
Qualität
Qualitativsichere Software…
13
gewährleistet durch hohe Test-Automation
durch Selbstdisziplin der Teams mit Fokus auf Qualität
durch stetig verfügbare Software-Inkremente
Hohe Testabdeckung
© Zuken
Test Methoden
Eingesetzte Test-Methoden
14
ISO zertifiziert
Konsistenz-Tests
Unit-Tests
Modul-Tests
Code-Reviews
Automatisierte Tests durch Software-Schnittstelle
Komplette Entwicklungs-Dokumentation
Pair-Programming bei komplexen Aufgaben
und…
© Zuken
…was tun für das Mensch-Maschine Interface?
15
© Zuken
Sondierung der Tools
16
Zunächst mal ist das Netz dein Freund…
Fast erschlagen von der Massewurde dieSuche eingeschränkt auf•Microsoft Visual Studio Test Professional
•Test Complete (Smart Bear)•Ranorex
Zwei Tools wurden wieder verworfen:•Microsoft Visual Studio Test Professional•Arbeitet zu eng mit TFS zusammen und konnte mit der gewählten Lösung in Bezug auf die Testbedingungen nicht mithalten
•Test Complete (Smart Bear)•Arbeitet injektiv (verändert also das Testobjekt)
© Zuken
Ranorex
… musste vor allem auch bestätigen,
…was ein Videoverspricht
Vielmehr haben wir:• viele Fenster, die konfigurierbar sind• viele Programmversionen, die zu testen
sind• hoch-interaktive Maus-Befehle ohne
Dialoge• mehrere Oberflächensprachen• eingebettete und nebenläufige Tools
(PlugIns u.ä.)• sicher noch mehr Anforderungen…• noch nicht die Erfahrung haben, solche
Tools so schnell so produktiv einsetzen zu können…
Ganz so einfach ist es zwar nicht weil wir…
… nicht nur Dialoge testen wollen.
17
© Zuken
Lösung – GUI Testautomatisierung
18
Ranorex
Desktop basierende Tests
Web basierende Tests
Mobile Applikationen
© Zuken
Ranorex Studio / Recorder
Ranorex Studio ist die Steuerzentrale
Hier werden Test-Solutions, -Projekte
und –Cases angelegt und verwaltet
Die Ähnlichkeit zum Visual-Studio ist systembedingt:
Es handelt sich um eine Applikation, die letztendlich
auf dem VS aufsetzt.
Ranorex RecorderEin Test wird definiert, indem maneinfach E3 startet und alle Aktionen
darin aufzeichnet (bzw. von Ranorex
aufzeichnen lässt)
Diese triviale Aufzeichnung kann sofort wieder abgespielt werden solange die Fensterkonfiguration nicht verändert wird. Sie basiert
schlicht darauf, die gleichen Windows-Events auszulösen, die
bei der Aufzeichnung mitgeschrieben wurden.
19
© Zuken
Ranorex Code Modules
RanorexStudio ist die
Steuerzentrale
20
© Zuken
UI-Test Plug and Play?
Alles easy?So einfach ist es leider auch wieder
nicht…
Objekte werden in
einer ‚Repository‘ gespeichert
Erkennung muss
stabilisiert werden
21
© Zuken
Neuer Test erstellen
Vorlage ‚Template‘ kopieren
Vorlage enthält Programm-Repository
Vorlage in neuen Test umbenennen
Projekt im Studio öffnen
Starten…
22
© Zuken
Objekterkennung / Repository
Alles easy? Also einfach mal aufzeichnen
Abspielen…und wieder erkennen?
=> OK
Jetzt das Programmfenster
verändern
…und Objekt wieder
erkennen?=> Geht leider
nicht
24
Video:Texterkennung aufzeichnen und Wiedererkennung
Video:Applikationsfenster verkleinern und Wiedererkennung scheitert
© Zuken
Lösung strukturierte Repository
26
Hierarchisch strukturiertes Repository
Objekte für jede Ebene
Video:Repository anpassen und Element wird erkannt
© Zuken
Versionshandling
GUI-Tests versionsabhängig
Branches
GUI Test Software Revision System
Integrates möglich durch VS Struktur
28
© Zuken
Manueller Start: Umgebungs-Integration
29
© Zuken
Infrastruktur Autotest
30
© Zuken
Ranorex – Runtime
Ranorex Runtime
• Ist eine (zu lizensierende) Umgebung, um die mit dem Studio erstellten Tests durchzuführen
Ranorex Report
• Die Testergebnisse können in Berichten aufbereitet und verteilt werden
31
© Zuken
Test Infrastruktur
32
Build Server
TestRunnerVirtuelle Maschine
Autostart001
Virtuelle Test-Maschineulm-ranorex01
Virtuelle Test-Maschineulm-ranorex02
Virtuelle Test-Maschineulm-ranorex03 64-bit
Virtuelle MaschineAutostart002
Virtuelle MaschineAutostart003
© Zuken
Ergebnisse protokollieren/archivieren
Test-Ergebnisse in Datenbank
Automatische eMails an die Teams
Überprüfung durch Dashboard
33
© Zuken
Dashboard Zuken E3
34
© Zuken
Ranorex Experience Survey 2016
35
© Zuken
Ideen / Fragen
36