11. July 2019
Using QF-Test in Continuous Integration Systems
Last update: 2022-03-30
Continuous Integration Systems (CI-Systems) are essential for modern software development. They support the teams at their steady work on the various sub-steps of the software development process. The main objective being the improvement of software quality. As an example, with CI systems, you can automate and regularly run the process of compiling and linking the software modules whenever the source code they are based on changes. However, you can trigger any other process by the CI system like setting up metrics, generating documentation or even executing automated tests checking certain functionalities of the software modules. For these automated tests you can use Unit tests on the source code level or QF-Test for functional GUI tests.
The automatic execution of operations within a CI System can either be scheduled for certain times or triggered by certain changes in the software modules. Thus reducing the so-called feedback cycles - a huge gain with CI systems.
The system informs you without delay about errors which may have occured within the single CI operations. For example, when a developer checked in non-compilable source code into the version management system or a GUI test reveals an hitherto unknown error in the regression tests started automatically.
It saves a lot of time and energy if things like that pop up right after applying the change rather than much later during the full nightly build and test.
There are various types of Continuous Integration Systems with different functionality and ranges of use. Some of the more known systems are
- Jenkins
- TeamCity
- Travis CI
- Bamboo
- Gitlab CI/CD
- CircleCI
- among many others.
QF-Test can be run in batch mode and therefore be easily be integrated into those systems.
In order to run a test in batch mode with QF-Test you just open a command line shell and execute the following command:
qftestc.exe -batch -run c:\mysuites\suiteA.qft
This call will start QF-Test in batch mode and run all the test of test-suite suiteA.qft. Subsequently QF-Test will generate the respective QF-Test log and save it to the file system.
With QF-Test batch mode you can use a great number of parameters. It would be beyond the scope of this blog to explain them all.
For further information please have a look at:
Almost all CI systems offer the option to execute command lines as part of the continuous integration process. Just insert the command line mentioned above to start the tests.
Jenkins Test automation
If you are using Jenkins, life is even easier. QFS provides a plugin you can directly install into the Jenkins environment. It only take two clicks to install the plugin, then you have a GUI to configure the QF-Test command line. Additionally to the classic CI model Jenkins supports pipelines.
Find further information on the plugin here: https://plugins.jenkins.io/qftest/
Case study
Nice practical example of a CI chain - besides faster feedback, better SW quality also time saving. Thank you Mr. Schöning for the exemplary implementation!
go to the detailed case study