QF-Test und Java Client Code­abdeckungs­analyse

Mit der Codeabdeckungsanalyse können Sie heraus finden in welchem Umfang der Quellcode eines Programms während der Testausführung ausgeführt wird. QF‑Test allein bietet keine Codeabdeckungsanalyse.

Möglich wird dies aber durch eine Kombination von QF‑Test mit Open Source Tools wie JaCoCo. Die Integration solcher Tools ermöglicht die Erstellung von Codeabdeckungsberichten für die von QF-Test durchgeführten Testschritte.

So integrieren Sie JaCoCo in einen QF-Test-Testlauf

Um JaCoCo in einen QF-Test-Testlauf zu integrieren müssen Sie zunächst die Datei ‘jacocoagent.jar’ aus dem lib-Ordner der Datei ‘jacoco – $ (version) .zip’ extrahieren. Diese ZIP-Datei kann hier heruntergeladen werden.

Am einfachsten können Sie JaCoCo integrieren, wenn die Java-Anwendung, die Sie testen, eine JAR- oder eine .class-Datei ist. Dann müssen Sie nur den Knoten „Java SUT-Client starten“ suchen, der Ihre Java-Anwendung startet. Dann geben Sie in der  „Parametertabelle“ dieses Knotens ein:

-javaagent:=destfile=

Falls Sie eine .exe- oder .bat-Java-Anwendung haben, funktioniert der obige Weg nicht. In diesem Fall werden zwei Jython Server-Skripts benötigt. Das erste Skript mit dem Inhalt

jacocojar = "<Pfad zur jacoco.jar Datei>" destfile = "<Pfad und Dateiname für die von jacoco generierten Statistiken>" rc.setProperty("env", "JAVA_TOOL_OPTIONS", "-javaagent:%s=destfile=%s" % (jacocojar, destfile))

muss vor dem Knoten ‘SUT-Client starten’ und ein weiteres optionales Skript kann nach dem Knoten ‘Wait for client to verbindung’ mit eingefügt werden.

rc.setProperty("env", "JAVA_TOOL_OPTIONS", None)

Hinweise

  • Bitte beachten Sie, dass JaCoCo seinen Bericht nicht direkt in die Ergebnisdatei schreibt.  Diese wird dann erstellt, wenn die Anwendung, die Sie testen, beendet wird!
  • Mit den meisten Texteditoren ist die JaCoCo-Ergebnisdatei schwer lesbar. Um die Statistiken zu analysieren empfehlen wir ein Plugin für Ihre IDE zu verwenden.
  • Um Kontrolle über die Anwendung die Sie testen zu erlangen, fügt QF-Test einige seiner eigenen Klassen in die Anwendung ein. Daher enthält die Ergebnisdatei nicht nur Codeabdeckungs-Statistiken für die Klassen Ihrer Anwendung, sondern auch für einige QF-Test-Klassen.
  • Da Sie QF-Test wahrscheinlich nicht für Ihre Anwendung testen möchten, sondern Ihre Anwendung, können Sie die für QF-Test-Klassen erstellten Statistiken einfach ignorieren.
  • Bitte stellen Sie sicher, dass der Prozess, der Ihre Anwendung ausführt, die Rechte zum Schreiben der JaCoCo-Ergebnisdatei besitzt.
  • Wenn Sie einen (Windows-) Pfad in einem Jython / Groovy-Skript angeben ersetzen Sie bitte alle „“ Zeichen im Pfad durch „/“.

Wir verwenden Cookies zur anonymisierten Auswertung Ihres Besuchs auf unserer Webseite durch "Matomo". Dafür benötigen wir Ihr Einverständnis, welches für zwölf Monate gilt.

Cookie-Konfiguration

Funktionale Cookies

Wir verwenden funktionale Cookies, um die Basisfunktionalität der Webseite zu gewährleisten.

Performance- und Statistik-Cookies

Wir verwenden Matomo zur Analyse und Optimierung unserer Webseite. Cookies erlauben eine anonyme Erfassung der Informationen und helfen uns, Ihnen einen benutzerfreundlichen Besuch unserer Webseite zu bieten.

Cookie-Details
Bezeichnung Anbieter Gültigkeitsdauer Typ Verwendung
_pk_id Matomo 13 Monate HTTP Enthält eine eindeutige jedoch pseudonymisierte Matomo-interne Besucher-ID zur Erkennung wiederkehrender Besucher.
_pk_ref Matomo 6 Monate HTTP Wird verwendet, um zu tracken, von welcher Website der anonymisierte Benutzer auf die Website gekommen ist.
_pk_ses Matomo 1 Tag HTTP Das Session Cookie von Matomo wird verwendet, um die Seitenanforderungen des Besuchers während der Sitzung zu verfolgen.
_pk_testcookie Matomo Session HTTP Zur Prüfung, ob der Browser des Besuchers Cookies unterstützt.
_pk_cvar Matomo 30 Minuten HTTP Kurzzeit-Cookie für temporäre Besuchsdatenspeicherung.
_pk_hsr Matomo 30 Minuten HTTP Kurzzeit-Cookie für temporäre Besuchsdatenspeicherung.