With QF-Test, you can take the quality assurance of your Java applications to a whole new level. Thanks to its support for all common Java technologies and its integration into modern development workflows, QF-Test is the ideal companion for your Java test automation.
The test automation tool helps developers and testers create stable and maintainable tests for complex Java-based graphical user interfaces.
Advantages of QF-Test at a glance:
Get started with QF-Test today and benefit from shorter release cycles and higher software quality.
This video shows the creation of a setup sequence with QF-Test. This sequence allows to start your Java application as System under Test (SUT) from QF-Test.
QF-Test was designed from the ground up for automated quality assurance in Java applications, with a particular focus on stability, maintainability, and efficiency. Thanks to its deep integration into the Java platform, the tool enables robust, repeatable tests that work reliably even with dynamic or demanding user interfaces. In large Java projects, QF-Test helps to detect errors early on, avoid regressions, and optimize testing processes in the long term.
The combination of a quick learning curve and a rich feature set enable writing well structured and maintainable regression tests and make it an efficient and valuable tool in the quality assurance process with a quick ROI in Java Testing.
The structured definition of test classes and test functions allows the entire test process to be clearly structured – from the test object to the targeted validation of specific components. Different parameter types can be used flexibly to design test cases that are variable and data-driven.
QF-Test covers all common Java GUI technologies – from proven toolkits such as Swing and AWT to modern alternatives such as JavaFX and SWT, the foundation of the Eclipse platform. This makes the tool suitable for both modern and existing legacy-based applications. Thanks to the uniform test logic across different UI technologies, development teams benefit from a consistent approach. Automatic detection of UI components minimizes manual configuration, which further accelerates test development. Even hybrid applications that combine multiple UI technologies can be tested easily with QF-Test.
QF-Test provides powerful scripting languages for individual test logic, dynamic processes, or deep API interactions. Whether Groovy, Jython (Python for the Java world), or JavaScript—users can flexibly choose their preferred language. This allows tests to be not only recorded but also intelligently controlled, enriched with test data, or linked to external systems. Direct access to the Java API of the tested application enables maximum control and adaptability – ideal for complex test scenarios, dynamic UI behavior, or specific business logic.
QF-Test can be seamlessly integrated into existing development and test environments. Whether TeamCity, Jenkins, GitLab CI, Bamboo, or other CI/CD systems – test runs can be triggered automatically and linked to build processes. The comprehensive reporting functions provide detailed evaluations that can also be processed automatically. Open interfaces, plugins, and individual script extensions allow QF-Test to be tailored to project-specific requirements – regardless of whether it's for small teams or large enterprise projects.
QF-Test has continuously supported Java Swing (the traditional GUI toolkit, with is part of every Java version of Oracle since 1997) since its very beginning in 1999 as a tool for automated GUI testing.
QF-Test can test Swing applications with an embedded browser like e.g. JxBrowser. You can access both, the Java and the Web part of the application.
JavaFX is the successor of Swing and an integral part of Java 8. With Java 11 JavaFX was moved out of the JDK into the open source project OpenJFX. Since 2014 QF‑Test supports this GUI technology and provides advanced testing support including complex components like trees and tables. QF‑Test can test JavaFX applications with an embedded browser like e.g. JxBrowser or WebView. You can access both, the Java and Web part of the application.
When you migrate your application from Java Swing to JavaFX, you can reuse Swing GUI tests in QF-Test for JavaFX automated testing with little effort.
More about testing JavaFX applications with QF-Test
Article by Wolfgang Weigend, Oracle:
Automated Testing of JavaFX GUI-Components.
Java GUI tests for applications based on the Standard Widget Toolkit (SWT), including Eclipse plug-ins and the Rich Client Platform (RCP). QF-Test has continuously provided support for this toolkit since 2008.
More about Testing Eclipse/RCP (SWT) Applications with QF-Test
Classic frameworks such as JUnit are ideal for unit and integration testing, but reach their limits when it comes to automated testing of graphical user interfaces. User interactions such as mouse clicks, text entries, or dynamic UI validations are difficult to map with these frameworks—especially when stability, repeatability, and synchronization are required.
This is where QF-Test comes in: It was developed specifically for automated testing of Java GUIs and offers exactly the features that classic frameworks lack – including powerful UI recognition, intelligent synchronization mechanisms, and an intuitive user interface, complemented by flexible script integration. This makes test automation efficient and reliable even for complex Java interfaces.
The ability to define test classes and apply specific test functions to different test objects opens up new avenues for structured test automation. Support for different parameter types allows test cases to be parameterized individually and managed efficiently. This makes test automation efficient and reliable, even for complex Java interfaces.
A Java test is the systematic process of checking Java applications for errors, functionality, performance, and security. The goal is to ensure the quality of the code and identify potential problems early in the development cycle.
Java tests can be performed both manually and automated. While manual tests are often used for one-time checks, automated tests offer scalability, consistency, and efficiency. Depending on the test objective, a distinction is made between different test methods:
- Unit tests: Test individual functions or methods of a class.
- Integration tests: Check the interaction between different modules.
- Performance tests: Measure the performance of the application under specific conditions.
Java testing is an essential part of modern development processes and forms the basis for continuous integration and continuous delivery.
Automated Java tests offer numerous advantages that increase both the efficiency and quality of your software tests:
The long-term benefits are clear: time savings, increased efficiency, and improved software quality.