SlideShare ist ein Scribd-Unternehmen logo
1 von 4
Downloaden Sie, um offline zu lesen
Automatisiertes Testen von JavaFX GUI-Komponenten http://jaxenter.de/print/artikel/javafx-8-testen-177683 
Veröffentlicht auf JAXenter.de (http://jaxenter.de) 
Automatisiertes Testen von JavaFX GUI-Komponenten 
Autor: 
Wolfgang Weigend 
Seit März 2014 ist JavaFX ein fester Bestandteil des JDK 8. JavaFX 8 soll künftig auch zur 
Realisierung von kritischen Geschäftsanwendungen verwendet werden können. Dazu ist es 
notwendig, dass einerseits der Reifegrad der neuen JavaFX-UI-Technologie akzeptabel ist und 
andererseits die Benutzeroberflächen von Geschäftsanwendungen auf ihre korrekte 
Anwendungsfunktionalität ausgiebig getestet werden können. Der Schwerpunkt liegt auf einem 
hohen Datenvolumen, das der grafischen Benutzeroberfläche mit automatisierten Tests 
zugeführt wird. Wir betrachten im Folgenden, wie ein solches Testszenario mit dem Werkzeug 
QF-Test aufgebaut werden kann. 
© shutterstock.com/venimo 
[1] 
Testen von JavaFX-Anwendungen mit 
Werkzeugunterstützung 
Bei der Entwicklung von Anwendungen spielt das Testen eine große Rolle. Nach Aussage des 
aktuellen World Quality Reports entfällt darauf bereits ein Viertel des IT Budgets. Mit steigender 
Komplexität bei der Anwendungsentwicklung erhöhen sich auch die Test-Anforderungen. Eine 
möglichst umfassende Testabdeckung kann durch Automatisierung erreicht werden. 
1 von 4 26.11.2014 08:06
Automatisiertes Testen von JavaFX GUI-Komponenten http://jaxenter.de/print/artikel/javafx-8-testen-177683 
Mit geeigneten Werkzeugen kann das Erstellen der automatisierten Tests vereinfacht und eine 
hohe Integration in die Entwicklung gewährleistet werden. Automatisierte UI-Tests haben dabei 
den Vorteil, dass sie im Gegensatz zu Unit-Tests nicht nur eine isolierte Einheit, sondern einen 
ganzen Prozess mit einem Test abdecken können. Durch Einsatz der richtigen Testumgebung ist 
es möglich, Tests zum Großteil von Fachtestern erstellen zu lassen und somit mehr Ressourcen 
für die Entwicklung zur Verfügung zu haben. Dabei sollte es die Testumgebung dem Tester 
ermöglichen, mit vertrauten Begriffen und Objekten zu arbeiten. 
Gerade bei Oberflächentests ist es wichtig, dass der Tester mit den Objekten arbeitet, die er 
kennt, und sie auf der Oberfläche der Anwendung wiederfindet, auch wenn der tatsächliche 
Aufbau der GUI viel komplexer ist. Bereits bei einfachen Java-FX-Anwendungen besteht die 
Oberfläche aus vielen einzelnen Elementen in einer tief verschachtelten Baumstruktur. 
Abbildung 1 zeigt eine Beispielanwendung zur Konfiguration von Neufahrzeugen. 
Abbildung 1 
Die Struktur der Anwendungsoberfläche wird in einer 3D-Ansicht dargestellt (Abbildung 2), 
welche die Komplexität ihrer Verschachtelung plastisch hervorhebt. Für das Testen ist jedoch nur 
ein kleiner Teil der Elemente interessant, alle anderen Elemente sind auf technischer Ebene 
eingebunden. Das Testwerkzeug ermöglicht die Reduktion dieser komplexen Oberflächen auf 
das Wesentliche. 
2 von 4 26.11.2014 08:06
Automatisiertes Testen von JavaFX GUI-Komponenten http://jaxenter.de/print/artikel/javafx-8-testen-177683 
Abbildung 2 
Abbildung 3 zeigt die vereinfachte Struktur, so wie sie das Testwerkzeug dem 
Anwendungstester zur Verfügung tellt. 
Abbildung 3 
Für Sonderfälle kann mit der vollständigen Hierarchie gearbeitet werden, und entwicklernahe 
Tests können durch Skripte durchgeführt werden. Mittels Vereinfachung und Generalisierung der 
UI-Komponenten führt die Unterstützung eines modularen Testaufbaus dazu, dass 
Testbestandteile wiederverwendet werden können. Dadurch sinkt der Aufwand bei der Erstellung 
neuer Tests, und die Wartbarkeit erhöht sich. Auf dieser Basis können Module oder Bibliotheken 
für die Fachtester erstellt werden. Durch die zusätzliche Integration von Datentreibern wird 
datengetriebenes Testen auch auf der Oberfläche ermöglicht, und Massentests können realisiert 
werden. 
Fazit 
Anwendungsoberflächentests sind für die Anwendungsentwicklung unerlässlich. Durch die 
3 von 4 26.11.2014 08:06
Automatisiertes Testen von JavaFX GUI-Komponenten http://jaxenter.de/print/artikel/javafx-8-testen-177683 
direkte Integration im Entwicklungsprozess kann damit ein Continuous-Integration-Szenario 
aufgebaut werden. Testwerkzeuge erleichtern das Testen von JavaFX-8-Anwendungen durch 
Vereinfachung der Komponentenhierarchie und ihren modularen Aufbau und sind damit auch für 
Fachtester ohne Programmierkenntnisse nutzbar. 
Aufmacherbild: Vector customer feedback concept in flat style [2] von Shutterstock / 
Urheberrecht: venimo 
Links & Literatur: 
http://docs.oracle.com/javase/8/javase-clienttechnologies.htm [3] 
http://docs.oracle.com/javase/8/javafx/api/toc.htm [4] 
http://www.capgemini.com/thought-leadership/world-quality-report-2014-15 [5] 
http://www.qfs.de/de/qftest/index.html [6] 
Tagline: 
JavaFX 8 UI-Anwendungsfunktionalität testen 
© Software & Support Media GmbH 
Quelladresse (retrieved on 26.11.2014 - 08:06): http://jaxenter.de/artikel/javafx-8-testen-177683 
Links: 
[1] http://jaxenter.de/sites/default/files/preview_images/javafx_anwendungen_testen.png 
[2] http://www.shutterstock.com/pic-179555099/stock-vector-vector-customer-feedback-concept-in-flat-style-hand- 
checking-excellent-mark-in-a-survey.html?src=kV4wQz1KX7wUDyWmVt7ZEw-1-2 
[3] http://docs.oracle.com/javase/8/javase-clienttechnologies.htm 
[4] http://docs.oracle.com/javase/8/javafx/api/toc.htm 
[5] http://www.capgemini.com/thought-leadership/world-quality-report-2014-15 
[6] http://www.qfs.de/de/qftest/index.html 
4 von 4 26.11.2014 08:06

Weitere ähnliche Inhalte

Andere mochten auch

Versionierung mit Git und SourceTree
Versionierung mit Git und SourceTreeVersionierung mit Git und SourceTree
Versionierung mit Git und SourceTreelucas_jahn
 
Und es geht doch - TDD für GUIs
Und es geht doch - TDD für GUIsUnd es geht doch - TDD für GUIs
Und es geht doch - TDD für GUIsFabian Jakobs
 
Automated UI testing done right (DDDSydney)
Automated UI testing done right (DDDSydney)Automated UI testing done right (DDDSydney)
Automated UI testing done right (DDDSydney)Mehdi Khalili
 
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis NachhaltigkeitDWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis NachhaltigkeitNico Orschel
 
A GUI Best-Practices Example: Ableton Live
A GUI Best-Practices Example: Ableton LiveA GUI Best-Practices Example: Ableton Live
A GUI Best-Practices Example: Ableton LiveHenning Bergmeyer
 
Présentation dld 2011
Présentation dld 2011Présentation dld 2011
Présentation dld 2011virgi2906
 
Komfortable, systematische Modellierung und Automatisierung von GUI-Tests
Komfortable, systematische Modellierung und Automatisierung von GUI-TestsKomfortable, systematische Modellierung und Automatisierung von GUI-Tests
Komfortable, systematische Modellierung und Automatisierung von GUI-TestsOliver Stadie
 
Web-2.0-Forschung der KWARC-Gruppe
Web-2.0-Forschung der KWARC-GruppeWeb-2.0-Forschung der KWARC-Gruppe
Web-2.0-Forschung der KWARC-GruppeChristoph Lange
 
We are all living in america
We are all living in americaWe are all living in america
We are all living in americaIvashka-ubivashka
 
Promocion word 2013
Promocion  word 2013Promocion  word 2013
Promocion word 2013astridbr19
 
Roboterwettbewerb 2011: Teilnahmebedingungen
Roboterwettbewerb 2011: TeilnahmebedingungenRoboterwettbewerb 2011: Teilnahmebedingungen
Roboterwettbewerb 2011: Teilnahmebedingungenzukunft-durch-innovation
 
Efectos secundarios de la vitamina d
Efectos secundarios de la vitamina dEfectos secundarios de la vitamina d
Efectos secundarios de la vitamina dLuisfer81619
 
E- twinningprojekte 2011
E- twinningprojekte 2011E- twinningprojekte 2011
E- twinningprojekte 2011Aimi Jõesalu
 
Butterflies
ButterfliesButterflies
Butterflieswings
 

Andere mochten auch (20)

Versionierung mit Git und SourceTree
Versionierung mit Git und SourceTreeVersionierung mit Git und SourceTree
Versionierung mit Git und SourceTree
 
Und es geht doch - TDD für GUIs
Und es geht doch - TDD für GUIsUnd es geht doch - TDD für GUIs
Und es geht doch - TDD für GUIs
 
Automated UI testing done right (DDDSydney)
Automated UI testing done right (DDDSydney)Automated UI testing done right (DDDSydney)
Automated UI testing done right (DDDSydney)
 
Subversion to Git Migration
Subversion to Git MigrationSubversion to Git Migration
Subversion to Git Migration
 
Git vs svn
Git vs svnGit vs svn
Git vs svn
 
Git from SVN
Git from SVNGit from SVN
Git from SVN
 
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis NachhaltigkeitDWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
 
A GUI Best-Practices Example: Ableton Live
A GUI Best-Practices Example: Ableton LiveA GUI Best-Practices Example: Ableton Live
A GUI Best-Practices Example: Ableton Live
 
Présentation dld 2011
Présentation dld 2011Présentation dld 2011
Présentation dld 2011
 
Komfortable, systematische Modellierung und Automatisierung von GUI-Tests
Komfortable, systematische Modellierung und Automatisierung von GUI-TestsKomfortable, systematische Modellierung und Automatisierung von GUI-Tests
Komfortable, systematische Modellierung und Automatisierung von GUI-Tests
 
Web-2.0-Forschung der KWARC-Gruppe
Web-2.0-Forschung der KWARC-GruppeWeb-2.0-Forschung der KWARC-Gruppe
Web-2.0-Forschung der KWARC-Gruppe
 
We are all living in america
We are all living in americaWe are all living in america
We are all living in america
 
Memoria
Memoria Memoria
Memoria
 
Promocion word 2013
Promocion  word 2013Promocion  word 2013
Promocion word 2013
 
Yachtcharter Griechenland
Yachtcharter GriechenlandYachtcharter Griechenland
Yachtcharter Griechenland
 
Roboterwettbewerb 2011: Teilnahmebedingungen
Roboterwettbewerb 2011: TeilnahmebedingungenRoboterwettbewerb 2011: Teilnahmebedingungen
Roboterwettbewerb 2011: Teilnahmebedingungen
 
Efectos secundarios de la vitamina d
Efectos secundarios de la vitamina dEfectos secundarios de la vitamina d
Efectos secundarios de la vitamina d
 
E- twinningprojekte 2011
E- twinningprojekte 2011E- twinningprojekte 2011
E- twinningprojekte 2011
 
Butterflies
ButterfliesButterflies
Butterflies
 
Usability studie inkl.eyetracking_d 2012
Usability studie inkl.eyetracking_d 2012Usability studie inkl.eyetracking_d 2012
Usability studie inkl.eyetracking_d 2012
 

Ähnlich wie Automated testing of JavaFX UI components

Objektbasierte Versionierung und Lifecycle Management für den OWB
Objektbasierte Versionierung und Lifecycle Management für den OWBObjektbasierte Versionierung und Lifecycle Management für den OWB
Objektbasierte Versionierung und Lifecycle Management für den OWBMinerva SoftCare GmbH
 
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon DickmeißReal Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon DickmeißOPITZ CONSULTING Deutschland
 
2012-10-12 Testen mit Arquillian
2012-10-12 Testen mit Arquillian2012-10-12 Testen mit Arquillian
2012-10-12 Testen mit ArquillianMatthias Reining
 
Kürzere Testvorbereitungsphasen durch integrierte Testlabore
Kürzere Testvorbereitungsphasen durch integrierte TestlaboreKürzere Testvorbereitungsphasen durch integrierte Testlabore
Kürzere Testvorbereitungsphasen durch integrierte TestlaboreNico Orschel
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
 
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht SpaßWhitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht SpaßClaudia Baur
 
Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?Hendrik Lösch
 
Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Nico Orschel
 
JSF Testing - Tools und Technics
JSF Testing - Tools und TechnicsJSF Testing - Tools und Technics
JSF Testing - Tools und Technicsadesso AG
 
PAVONE Espresso Workflow für Java EE
PAVONE Espresso Workflow für Java EEPAVONE Espresso Workflow für Java EE
PAVONE Espresso Workflow für Java EEUdo Sill
 
Automatisierter Software-Test unter Java
Automatisierter Software-Test unter JavaAutomatisierter Software-Test unter Java
Automatisierter Software-Test unter JavaGFU Cyrus AG
 
Introduction to JEE
Introduction to JEEIntroduction to JEE
Introduction to JEEguestc44b7b
 
DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes QAware GmbH
 
Ausweg aus der Kommunikationskrise oder das Ende von „Bei mir funktioniert’s“?
Ausweg aus der Kommunikationskrise oder das Ende von „Bei mir funktioniert’s“?Ausweg aus der Kommunikationskrise oder das Ende von „Bei mir funktioniert’s“?
Ausweg aus der Kommunikationskrise oder das Ende von „Bei mir funktioniert’s“?Nico Orschel
 

Ähnlich wie Automated testing of JavaFX UI components (20)

Objektbasierte Versionierung und Lifecycle Management für den OWB
Objektbasierte Versionierung und Lifecycle Management für den OWBObjektbasierte Versionierung und Lifecycle Management für den OWB
Objektbasierte Versionierung und Lifecycle Management für den OWB
 
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon DickmeißReal Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
 
2012-10-12 Testen mit Arquillian
2012-10-12 Testen mit Arquillian2012-10-12 Testen mit Arquillian
2012-10-12 Testen mit Arquillian
 
Kürzere Testvorbereitungsphasen durch integrierte Testlabore
Kürzere Testvorbereitungsphasen durch integrierte TestlaboreKürzere Testvorbereitungsphasen durch integrierte Testlabore
Kürzere Testvorbereitungsphasen durch integrierte Testlabore
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
 
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht SpaßWhitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
 
Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?
 
Agiles Testen - Überblick
Agiles Testen - ÜberblickAgiles Testen - Überblick
Agiles Testen - Überblick
 
Iks Sonderdruck Eclipse Magazin Mai 2010: Automatisierte SWTBot-Tests
Iks Sonderdruck Eclipse Magazin Mai 2010: Automatisierte SWTBot-TestsIks Sonderdruck Eclipse Magazin Mai 2010: Automatisierte SWTBot-Tests
Iks Sonderdruck Eclipse Magazin Mai 2010: Automatisierte SWTBot-Tests
 
Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013
 
Elsholz stoll js_03_10
Elsholz stoll js_03_10Elsholz stoll js_03_10
Elsholz stoll js_03_10
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
 
JSF Testing - Tools und Technics
JSF Testing - Tools und TechnicsJSF Testing - Tools und Technics
JSF Testing - Tools und Technics
 
PAVONE Espresso Workflow für Java EE
PAVONE Espresso Workflow für Java EEPAVONE Espresso Workflow für Java EE
PAVONE Espresso Workflow für Java EE
 
Automatisierter Software-Test unter Java
Automatisierter Software-Test unter JavaAutomatisierter Software-Test unter Java
Automatisierter Software-Test unter Java
 
Introduction to JEE
Introduction to JEEIntroduction to JEE
Introduction to JEE
 
DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes
 
Net@night asp.net mvc
Net@night asp.net mvcNet@night asp.net mvc
Net@night asp.net mvc
 
Systementwurf mit UML
Systementwurf mit UMLSystementwurf mit UML
Systementwurf mit UML
 
Ausweg aus der Kommunikationskrise oder das Ende von „Bei mir funktioniert’s“?
Ausweg aus der Kommunikationskrise oder das Ende von „Bei mir funktioniert’s“?Ausweg aus der Kommunikationskrise oder das Ende von „Bei mir funktioniert’s“?
Ausweg aus der Kommunikationskrise oder das Ende von „Bei mir funktioniert’s“?
 

Mehr von Wolfgang Weigend

It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15Wolfgang Weigend
 
It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11Wolfgang Weigend
 
The JDK 8 end of public updates and the Java SE subscription
The JDK 8 end of public updates and the Java SE subscription The JDK 8 end of public updates and the Java SE subscription
The JDK 8 end of public updates and the Java SE subscription Wolfgang Weigend
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and ContainerWolfgang Weigend
 
JDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemJDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemWolfgang Weigend
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computingWolfgang Weigend
 
Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Wolfgang Weigend
 
Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017Wolfgang Weigend
 
Javamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsawJavamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsawWolfgang Weigend
 
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergeht
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergehtDas 1×1 des java supports wie die wartung älterer jdk-versionen weitergeht
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergehtWolfgang Weigend
 
Automated testing of JavaFX GUI components
Automated testing of JavaFX GUI componentsAutomated testing of JavaFX GUI components
Automated testing of JavaFX GUI componentsWolfgang Weigend
 
Java mission control and java flight recorder
Java mission control and java flight recorderJava mission control and java flight recorder
Java mission control and java flight recorderWolfgang Weigend
 
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_vollJava magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_vollWolfgang Weigend
 
Jm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashornJm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashornWolfgang Weigend
 
Article - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der EntwicklerArticle - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der EntwicklerWolfgang Weigend
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKWolfgang Weigend
 

Mehr von Wolfgang Weigend (19)

It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
It's a JDK- Jungle Out There – JDK 15 and OpenJDK 15
 
It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11
 
The JDK 8 end of public updates and the Java SE subscription
The JDK 8 end of public updates and the Java SE subscription The JDK 8 end of public updates and the Java SE subscription
The JDK 8 end of public updates and the Java SE subscription
 
JDK versions and OpenJDK
JDK versions and OpenJDKJDK versions and OpenJDK
JDK versions and OpenJDK
 
JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and Container
 
JDK 9 Java Platform Module System
JDK 9 Java Platform Module SystemJDK 9 Java Platform Module System
JDK 9 Java Platform Module System
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computing
 
Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1
 
Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017Java Flight Recorder Javamagazin May 2017
Java Flight Recorder Javamagazin May 2017
 
Javamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsawJavamagazin 1.2016 jdk9_ea_b83_jigsaw
Javamagazin 1.2016 jdk9_ea_b83_jigsaw
 
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergeht
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergehtDas 1×1 des java supports wie die wartung älterer jdk-versionen weitergeht
Das 1×1 des java supports wie die wartung älterer jdk-versionen weitergeht
 
Automated testing of JavaFX GUI components
Automated testing of JavaFX GUI componentsAutomated testing of JavaFX GUI components
Automated testing of JavaFX GUI components
 
Java mission control and java flight recorder
Java mission control and java flight recorderJava mission control and java flight recorder
Java mission control and java flight recorder
 
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_vollJava magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
 
JavaFX goes open source
JavaFX goes open sourceJavaFX goes open source
JavaFX goes open source
 
Jm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashornJm 10.13 weigend_lagergren_nashorn
Jm 10.13 weigend_lagergren_nashorn
 
Article - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der EntwicklerArticle - JDK 8 im Fokus der Entwickler
Article - JDK 8 im Fokus der Entwickler
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDK
 

Automated testing of JavaFX UI components

  • 1. Automatisiertes Testen von JavaFX GUI-Komponenten http://jaxenter.de/print/artikel/javafx-8-testen-177683 Veröffentlicht auf JAXenter.de (http://jaxenter.de) Automatisiertes Testen von JavaFX GUI-Komponenten Autor: Wolfgang Weigend Seit März 2014 ist JavaFX ein fester Bestandteil des JDK 8. JavaFX 8 soll künftig auch zur Realisierung von kritischen Geschäftsanwendungen verwendet werden können. Dazu ist es notwendig, dass einerseits der Reifegrad der neuen JavaFX-UI-Technologie akzeptabel ist und andererseits die Benutzeroberflächen von Geschäftsanwendungen auf ihre korrekte Anwendungsfunktionalität ausgiebig getestet werden können. Der Schwerpunkt liegt auf einem hohen Datenvolumen, das der grafischen Benutzeroberfläche mit automatisierten Tests zugeführt wird. Wir betrachten im Folgenden, wie ein solches Testszenario mit dem Werkzeug QF-Test aufgebaut werden kann. © shutterstock.com/venimo [1] Testen von JavaFX-Anwendungen mit Werkzeugunterstützung Bei der Entwicklung von Anwendungen spielt das Testen eine große Rolle. Nach Aussage des aktuellen World Quality Reports entfällt darauf bereits ein Viertel des IT Budgets. Mit steigender Komplexität bei der Anwendungsentwicklung erhöhen sich auch die Test-Anforderungen. Eine möglichst umfassende Testabdeckung kann durch Automatisierung erreicht werden. 1 von 4 26.11.2014 08:06
  • 2. Automatisiertes Testen von JavaFX GUI-Komponenten http://jaxenter.de/print/artikel/javafx-8-testen-177683 Mit geeigneten Werkzeugen kann das Erstellen der automatisierten Tests vereinfacht und eine hohe Integration in die Entwicklung gewährleistet werden. Automatisierte UI-Tests haben dabei den Vorteil, dass sie im Gegensatz zu Unit-Tests nicht nur eine isolierte Einheit, sondern einen ganzen Prozess mit einem Test abdecken können. Durch Einsatz der richtigen Testumgebung ist es möglich, Tests zum Großteil von Fachtestern erstellen zu lassen und somit mehr Ressourcen für die Entwicklung zur Verfügung zu haben. Dabei sollte es die Testumgebung dem Tester ermöglichen, mit vertrauten Begriffen und Objekten zu arbeiten. Gerade bei Oberflächentests ist es wichtig, dass der Tester mit den Objekten arbeitet, die er kennt, und sie auf der Oberfläche der Anwendung wiederfindet, auch wenn der tatsächliche Aufbau der GUI viel komplexer ist. Bereits bei einfachen Java-FX-Anwendungen besteht die Oberfläche aus vielen einzelnen Elementen in einer tief verschachtelten Baumstruktur. Abbildung 1 zeigt eine Beispielanwendung zur Konfiguration von Neufahrzeugen. Abbildung 1 Die Struktur der Anwendungsoberfläche wird in einer 3D-Ansicht dargestellt (Abbildung 2), welche die Komplexität ihrer Verschachtelung plastisch hervorhebt. Für das Testen ist jedoch nur ein kleiner Teil der Elemente interessant, alle anderen Elemente sind auf technischer Ebene eingebunden. Das Testwerkzeug ermöglicht die Reduktion dieser komplexen Oberflächen auf das Wesentliche. 2 von 4 26.11.2014 08:06
  • 3. Automatisiertes Testen von JavaFX GUI-Komponenten http://jaxenter.de/print/artikel/javafx-8-testen-177683 Abbildung 2 Abbildung 3 zeigt die vereinfachte Struktur, so wie sie das Testwerkzeug dem Anwendungstester zur Verfügung tellt. Abbildung 3 Für Sonderfälle kann mit der vollständigen Hierarchie gearbeitet werden, und entwicklernahe Tests können durch Skripte durchgeführt werden. Mittels Vereinfachung und Generalisierung der UI-Komponenten führt die Unterstützung eines modularen Testaufbaus dazu, dass Testbestandteile wiederverwendet werden können. Dadurch sinkt der Aufwand bei der Erstellung neuer Tests, und die Wartbarkeit erhöht sich. Auf dieser Basis können Module oder Bibliotheken für die Fachtester erstellt werden. Durch die zusätzliche Integration von Datentreibern wird datengetriebenes Testen auch auf der Oberfläche ermöglicht, und Massentests können realisiert werden. Fazit Anwendungsoberflächentests sind für die Anwendungsentwicklung unerlässlich. Durch die 3 von 4 26.11.2014 08:06
  • 4. Automatisiertes Testen von JavaFX GUI-Komponenten http://jaxenter.de/print/artikel/javafx-8-testen-177683 direkte Integration im Entwicklungsprozess kann damit ein Continuous-Integration-Szenario aufgebaut werden. Testwerkzeuge erleichtern das Testen von JavaFX-8-Anwendungen durch Vereinfachung der Komponentenhierarchie und ihren modularen Aufbau und sind damit auch für Fachtester ohne Programmierkenntnisse nutzbar. Aufmacherbild: Vector customer feedback concept in flat style [2] von Shutterstock / Urheberrecht: venimo Links & Literatur: http://docs.oracle.com/javase/8/javase-clienttechnologies.htm [3] http://docs.oracle.com/javase/8/javafx/api/toc.htm [4] http://www.capgemini.com/thought-leadership/world-quality-report-2014-15 [5] http://www.qfs.de/de/qftest/index.html [6] Tagline: JavaFX 8 UI-Anwendungsfunktionalität testen © Software & Support Media GmbH Quelladresse (retrieved on 26.11.2014 - 08:06): http://jaxenter.de/artikel/javafx-8-testen-177683 Links: [1] http://jaxenter.de/sites/default/files/preview_images/javafx_anwendungen_testen.png [2] http://www.shutterstock.com/pic-179555099/stock-vector-vector-customer-feedback-concept-in-flat-style-hand- checking-excellent-mark-in-a-survey.html?src=kV4wQz1KX7wUDyWmVt7ZEw-1-2 [3] http://docs.oracle.com/javase/8/javase-clienttechnologies.htm [4] http://docs.oracle.com/javase/8/javafx/api/toc.htm [5] http://www.capgemini.com/thought-leadership/world-quality-report-2014-15 [6] http://www.qfs.de/de/qftest/index.html 4 von 4 26.11.2014 08:06