QF-Test et l’analyse de couverture de code client Java

L’analyse de la couverture du code peut être utilisée afin d’analyser dans quelle mesure le code source d’un programme est exécuté pendant l’exécution du test. Un pourcentage élevé de code exécuté suggère un risque plus faible de bogues logiciels non détectés.

QF-Test seul n’offre pas la possibilité de générer des rapports de couverture de code. Cependant, il est possible de combiner QF-Test avec des outils Open Source comme JaCoCo. L’intégration de tels outils permet de générer de tels rapports de couverture de code pour les étapes de test effectuées par QF-Test.

Comment intégrer JaCoCo dans un test QF-Test ?

Afin d’intégrer JaCoCo dans un test QF-Test, vous devez d’abord extraire le fichier ‘jacocoagent.jar’ du dossier lib du fichier ‘jacoco-$(version).zip’. Ce fichier zip peut être téléchargé ici.

Il est plus facile d’intégrer JaCoCo si l’application Java que vous testez est un fichier .jar ou .class. Dans ce cas, il vous suffit de localiser le nœud « Start Java SUT client » qui démarre votre application Java. Ensuite, spécifiez

-javaagent:=destfile=

in the « parameter table » of this node.

Si vous avez une application Java .exe ou .bat, la méthode ci-dessus ne fonctionnera pas. Dans ce cas, deux scripts de serveur Jython sont nécessaires. Le premier script avec le contenu

`jython jacocojar = "<path to jacocoagent.jar>" destfile = "<path+filename to where jacoco should write its statistics>" rc.setProperty("env", "JAVA_TOOL_OPTIONS", "-javaagent:%s=destfile=%s" % (jacocojar, destfile)) « `

doit être inséré avant le nœud  » Start SUT Client  » et un autre script plus facultatif avec

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

peut être inséré après le nœud « Wait for client to connect ».

Remarques

  • Veuillez noter que JaCoCo n’écrit pas directement son rapport dans le fichier de résultat. Le fichier de résultat est écrit lorsque l’application que vous testez se termine !
  • Le fichier de résultats JaCoCo est assez illisible lorsqu’il est ouvert avec la plupart des éditeurs de texte. Pour analyser les statistiques, vous devrez donc probablement utiliser un plugin pour votre IDE.
  • Afin de prendre le contrôle de l’application que vous testez, QF-Test injecte certaines de ses propres classes dans l’application. En conséquence, le fichier de résultat ne contient pas seulement des statistiques de couverture de code pour les classes de votre application, mais aussi pour certaines classes de QF-Test. Comme vous ne voulez probablement pas tester QF-Test mais votre application, vous pouvez simplement ignorer les statistiques créées pour les classes QF-Test.
  • Veuillez vous assurer que le processus qui exécute votre application a le droit d’écrire le fichier de résultat JaCoCo.
  • Lorsque vous spécifiez un chemin (Windows) dans un script Jython/Groovy, veuillez remplacer tous les caractères « " du chemin par « / ».

Nous utilisons des cookies "Matomo" pour l'évaluation anonyme de votre visite à note page web. Pour cela nous avons besoin de votre consentement qui est valable pour douze mois.

Configuration de cookies

Cookies fonctionnels

Nous utilisons des cookies fonctionnels pour garantir la fonctionnalité de base du site web.

Cookies de performance et de statistique

Nous utilisons Matomo pour analyser et améliorer notre site web. Des cookies permettent une collection anonyme des informations qui nous aident à vous offrir un visite clair et facile à utiliser de nos pages web.

Détails des cookies
Description Fournisseur Durée de vie Type But
_pk_id Matomo 13 Mois HTTP Contient un identifiant de visiteur unique et pseudonymisé interne à Matomo pour reconnaître les visiteurs qui reviennent.
_pk_ref Matomo 6 Mois HTTP Utilisé pour suivre à partir de quel site Web l'utilisateur anonymisé est arrivé sur notre site Web.
_pk_ses Matomo 1 Jour HTTP Le cookie de session Matomo est utilisé pour suivre les demandes de page du visiteur pendant la session.
_pk_testcookie Matomo Session HTTP Utilisé pour vérifier si le navigateur du visiteur prend en charge les cookies.
_pk_cvar Matomo 30 Minutes HTTP Stocker temporairement les données relatives à la visite.
_pk_hsr Matomo 30 Minutes HTTP Stocker temporairement les données relatives à la visite.