QF-Test ist eine kommerzielle Software des Unternehmens Quality First Software zum automatischen Testen von Programmen über deren grafische Benutzeroberfläche. Das Programm unterstützt Java-Oberflächen (Java/Swing, SWT, Eclipse-Plugins und RCP-Anwendungen, ULC und JavaFX) sowie die browserübergreifende Testautomatisierung statischer und dynamischer Webseiten (HTML und Webframeworks wie Angular, Ext JS, Fluent UI React, GWT, ICEfaces, JQuery UI, Qooxdoo, RAP, RichFaces, React, Smart GWT, Vaadin, Vue.js und ZK). Ab Version 4.1 kamen noch Support für macOS sowie die Browser Apple Safari und Microsoft Edge via Selenium WebDriver hinzu. Ab Version 5.0 können auch Windows Anwendungen getestet werden (Klassische Win32 Anwendungen, .Net-Framework-Anwendungen (oft mit C# entwickelt), basierend auf Windows Presentation Foundation (WPF) oder Windows Forms, Windows Apps / Universal Windows Platform (UWP) Anwendungen, die XAML Steuerelemente verwenden) und moderne C++ Anwendungen (etwa Qt Anwendungen). Mit Version 5.3 kam die Unterstützung für das Chrome DevTools Protocol hinzu, womit Browser mittels CDP-Driver angesteuert werden können.

QF-Test
Basisdaten

Entwickler Quality First Software
Aktuelle Version 7.1.2[1]
(14. März 2024)
Betriebssystem plattformübergreifend
Programmiersprache Java
Kategorie Testautomatisierung
Lizenz proprietäre Lizenz[2]
deutschsprachig ja
www.qfs.de

Beschreibung Bearbeiten

QF-Test (2001 zunächst als qftestJUI veröffentlicht) ermöglicht sowohl automatisierte Regressions- als auch Lasttests und läuft auf Windows, Unix und macOS. Der kommerzielle Einsatz erfolgt primär von Testern, Entwicklern oder Businessanalysten (Modellierungen, low code Ansätze) mit oder ohne Programmierkenntnissen im Rahmen der Software-Qualitätssicherung. Seit Dezember 2008 steht eine Webtesterweiterung für die Testautomatisierung browserbasierter GUIs (wie Internet Explorer, Mozilla Firefox Browser Chrome, Safari und Microsoft Edge) zur Verfügung, zusätzlich zur existierenden Java-GUI-Testfunktionalität, welche Juli 2014 noch um JavaFX erweitert wurde. Ab 2018 mit der QF-Test Version 4.2 können PDF-Dokumente getestet werden, seit 2020 auch native Desktop Anwendungen Anwendungen (QF-Test Version 5) und 2022 kam das Testen von mobilen Anwendungen hinzu. Basis für einen effizienten Einsatz bei der Testautomatisierung ist eine stabile Komponentenerkennung (IDs, logische Bildschirmelemente, Labels, CustomWebResolver, SmartID…) mit geringem Pflegaufwand.

Features Bearbeiten

Allgemein: Die Capture/Replay-Funktion von QF-Test ermöglicht Anfängern die Aufzeichnung von Tests, während die Modularisierung die Erstellung großer Testsuiten in einer übersichtlichen Anordnung ermöglicht. Für den fortgeschrittenen Benutzer, der noch mehr Kontrolle über seine Anwendung benötigt, bietet das Tool Zugriff auf interne Programmstrukturen über die Standard-Skriptsprachen Jython, die Java-Implementierung der beliebten Sprache Python, JavaScript und Groovy.

Das Tool bietet auch einen Batch-Modus, der es ermöglicht, Tests unbeaufsichtigt auszuführen und anschließend XML-, HTML- und JUnit-Berichte zu generieren. So kann das Tool in bestehende Build/Test-Frameworks wie Jenkins, Ant oder Maven integriert werden. Ein weiterer Modus ist der sogenannte Daemon-Modus für die verteilte Testausführung.

Eine spezifische Integration mit vielen Testmanagement-Tools ist vorhanden. Es gibt einen Test-Debugger (der beliebige Steps und die Bearbeitung von Variablen zur Laufzeit ermöglicht) und ein vollautomatisches Abhängigkeitsmanagement, das sich um Vor- und Nachbedingungen kümmert und bei der Isolierung von Testfällen hilft. Datengesteuertes Testen DDT ohne Skripting ist möglich.

1. Webtesten: browserübergreifend auf Internet Explorer, Chrome, Firefox, Edge (auch Chromium basiert), Opera und Safari für statische und dynamische Webseiten (HTML5, AJAX, DOM). In den Tests kann auch ein headless Browser verwendet werden. QF-Test unterstützt umfassend Frameworks wie Angular, React und Vue.js, aber auch viele konkrete UI-Toolkits wie Smart (GWT), GXT/ExtGWT, ExtJS, ICEfaces, jQuery UI, Kendo UI, PrimeFaces, Qooxdoo, RAP, RichFaces, Vaadin und ZK. Eine einfache Integration mit Selenium hilft den Spagat zwischen Entwicklungstests und fachlichen Tests einfach umzusetzen. Electron Anwendungen können auch getestet werden.

Weitere (z. B. SAP UI5, Siebel Open UI, Salesforce) und zukünftig erscheinende Web Toolkits können mit wenig Aufwand integriert werden. Kurzfristige und individuelle Anpassungen (CustomWebResolver) sind über eine optimierte Schnittstelle möglich.

2. JavaFX, Java Swing, SWT, Eclipse Plugins und RCP-Anwendungen und ULC. Unterstützung von Tests bei der Migration von JavaSwing oder JavaFX in Webanwendungen (z. B. über Webswing).

Es werden auch hybdride Anwendungen unterstützt, die auf mehrere Technologien gleichzeitig basieren, so auch z. B. Anwendungen, die mittels JxBrowser HTML-Inhalte in Java-Anwendungen integrieren.

3. Windows-basierte Anwendungen (Win32, .NET, Windows Forms, WPF, Windows Apps, Qt).

4. Android Anwendungen können auf echten Geräten und mit dem Emulator von Android Studio getestet werden.

5. Eine der vielen Spezialitäten von QF-Test ist auch das Testen von PDF-Dokumenten (Dokumentenvergleiche, Prüfen von Inhalten, Texten, Bildern/grafischen Objekten, Layouts, „unsichtbare“ oder teilverdeckte Objekte).

Literatur Bearbeiten

  • Christian Glatschke: Automatisierung des Tests von Java-Swing-GUIs. In: JavaSPEKTRUM 6 (2004). 2006 (qfs.de [PDF]).
  • Elke und Michael Niedermair: Produktreview: Tool-Radar. In: Java Magazin 6 (2006). 2006 (qfs.de [PDF]).
  • Marc Michaelis: Fluch und Segen von GUI Testautomatisierung. In: Testing Experience Magazin. Dezember 2008 (qfs.de [PDF]).
  • Markus Stäuble: Automatisierte Kontroll-Untersuchung für RCP. QF-Test/swt: Kommerzielles Werkzeug für automatisierte SWT-Tests. In: Eclipse Magazin. Nr. 1.09, Januar 2009 (qfs.de [PDF]).
  • David Harrison: Automated Functional Testing for Java-Swing. Eigenverlag, 2010, ISBN 978-1-4092-9068-1.
  • Klaus P. Berg: Last- und Performance-Tests komplexer Java-Swing-Applikationen. In: Java-Spektrum. Nr. 5, September 2011 (qfs.de [PDF]).
  • Dirk O. Schweier: Praxisbeispiel: datengetriebene und schlüsselwortgetriebene Testfalldarstellung. Januar 2013 (muthpartners.de [PDF]).
  • Andreas Kellerstrass: Testautomation für eine hochparametrierbare, geschäftskritische Standardsoftware. Magazin itc, 3. April 2013 (qfs.de [PDF]).
  • Walter Weigend: Automatisiertes Testen von JavaFX GUI-Komponenten. Hrsg.: jaxenter. 20. Januar 2015 (qfs.de [PDF]).
  • Michael Reiser: Testautomatisierung für eine Standardsoftware: Praxisbericht eines Schweizer Versicherungsunternehmens. Hrsg.: OBJEKTspektrum 5. 2015 (qfs.de [PDF]).
  • Robert Huber: Hybrid Keyword-Driven Testing beim Münchener Verein. In: Online Themenspecial Agility, 2016; sigs-datacom.de (PDF; 478 kB)
  • Kay Grebenstein: Das richtige Testwerkzeug für JavaFX - Die Qual der Wahl. Hrsg.: Javamagazin 11. 2016 (qfs.de [PDF]).
  • Daniel Rieth und Pascal Bihler: Web- und Desktop-Anwendung aus einer Code-Base - Testen von Electron Anwendungen mit QF-Test. Hrsg.: Javapro. Februar 2019 (qfs.de [PDF]).
  • Ralf Somplatzki: Wenn das Daten Chamäleon der User Story auf den Zahn fühlt. Hrsg.: ASQF net week. Mai 2023 (youtube.com).
  • Kirstin Müller: Wie mgm mit QF-Test die Testautomatisierung vorantreibt. Oktober 2023 (mgm-tp.com).

Weblinks Bearbeiten

Einzelnachweise Bearbeiten

  1. www.qfs.de.
  2. www.qfs.de.