zurück
Avatar of Thomas Max
Autor: Thomas Max
11. Juli 2019

Verwendung von QF-Test in Continuous Integration Systemen

Zuletzt aktualisiert: 30.03.2022

Continuous Integration Systeme (CI-Systeme) sind in modernen Software-Entwicklungsprojekten kaum wegzudenken. Sie unterstützen durch die kontinuierliche Abarbeitung diverser Teilschritte der Software-Entwicklung die Teams bei der täglichen Arbeit und sind vor allem zur Verbesserung der Qualität gedacht. Durch die Verwendung von so genannten CI-Systemen werden zum Beispiel Schritte wie das automatische Kompilieren und Linken von entwickelten Software-Modulen bei Änderungen an der zu Grunde liegenden Quellcodebasis automatisiert und regelmäßig durchgeführt. Es lassen sich aber auch jegliche andere Operationen in ein CI-System integrieren wie zum Beispiel die Erstellung von Metriken, die Erzeugung von Dokumentation oder aber auch die Ausführung von automatisierten Tests, die bestimmte Funktionalitäten der Softwaremodule abprüfen. Genau an dieser Stelle kann neben der Ausführung von Unit-Tests aus Sourcecode-Ebene auch QF-Test eingesetzt werden um verschiedene funktionale GUI-Tests auszuführen.


Die automatische Ausführung der Operationen innerhalb des CI Systems kann hierbei entweder nach einem bestimmen geplanten Zeitschema erfolgen oder sobald bestimmte Änderungen an den Softwaremodulen vorgenommen werden. Ein großer Vorteil dieses Systeme ist die dadurch realisierte Verkürzung des so genannten Feedback-Cycles. 

Das System gibt zeitnah Auskunft über eventuell auftauchende Fehler innerhalb der einzelnen CI-Operationen. Es kann zum Beispiel sein, das ein Entwickler nicht kompilierbaren Quellcode in die Versionsverwaltung eincheckt oder ein Oberflächentest einen bisher nicht bekannten Fehler in den automatisch gestarteten Regressionstests aufdeckt. 

Wenn so etwas direkt nach dem Einpflegen einer Änderung und nicht erst beim nächtlichen vollständigen Build und Test auffällt spart das sehr viel Zeit und Aufwand.

Auf dem Markt gibt es verschiedenste Ausprägungen von Continuos Integration Systemen mit unterschiedlichen Funktionalitäten und Einsatzbereichen. Bekannte Vertreter sind hier zum Beispiel:

  • Jenkins
  • TeamCity
  • Travis CI
  • Bamboo
  • Gitlab CI/CD
  • CircleCI
  • und viele mehr.

Die Nutzung von QF-Test in diesen Systemen gestaltet sich auf Grund des in QF-Test vorhanden Batch-Modus sehr einfach und ist die Einbindung auch relativ ähnlich.

Um einen Test mit QF-Test im Batch-Modus zu starten genügt es ein Kommandozeilen-Fenster zu öffnen und folgenden Befehl auszuführen:

qftestc.exe -batch -run c:\mysuites\suiteA.qft 

Diese Aufruf startet anschließend QF-Test im Batch-Modus und führt alle Tests der Testsuite suiteA.qft aus. Anschließend erzeugt QF-Test da zugehörige QF-Test Protokoll und legt es im Dateisystem ab.

Der Batch-Modus unterstützt eine Vielzahl von Parametern desser Erläuterung den Rahmen des Beitrages sprengen würde.

Nähere Informationen dazu finden Sie unter:

Nahezu alle CI-Systeme bieten die Möglichkeit einen Kommandozeilenaufruf als Schritt des Continous-Integration-Prozesses einzubinden. In diesen müssen sie dann nur den oben bereits erwähnten Kommandozeilenaufruf zur Ausführung des Tests einfügen.

Jenkins Testautomatisierung

Bei der Verwendung von Jenkins ist dies sogar noch ein wenig einfacher. QFS stellt für dieses CI-System ein eigenes Plugin bereit, was sie direkt in der Jenkins Umgebung installieren können.

Das Plugin selbst ist mit 2 Klicks installiert und vereinfacht die Verwendung von QF-Test mit Jenkins. Jenkins unterstützt neben dem klassischen CI-Modell auch so genannte Pipelines.

Genauere Informationen zum Plugin finden Sie unter: https://plugins.jenkins.io/qftest/

Fallstudie

Schönes praktisches Beispiel für eine CI-Kette - neben schnelleren Rückmeldungen, bessere SW-Qualität auch noch Zeitersparnis.
Danke Herr  Schöning für die beispielhafte Umsetzung! zur Fallstudie

Die Kommentarfunktion ist für diesen Artikel deaktiviert.

0 Kommentare