back
Avatar of Thomas Max
Author: Thomas Max
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

Comments are disabled for this post.

2 comments

Thomas

15. August 2019

Hello Chris,

 

we have no sample mentioning xvfb but how about taking this to the next level by using docker nodes in combination with QF-Test and jenkins. This allows you to run several nodes with headless chrome or firefox.

 

Please see gitlab.com/qfs/dockerizedQFT for a sample implementation.

 

Best regards,

Thomas


Chris

30. July 2019

This continuous execution of tests is very important these days, thanks. Would you be able to give examples of using Xvfb or chrome-headless to show how headless execution in batch mode is possible please Thomas.