---
sourceDocument: Gestion des services IT Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/it-service-management

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Gestion des services IT Xanadu

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# DevOps Intégration d'outils de test

# DevOps Intégration d'outils de test {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 6 minutes de lecture

L'intégration de l'outil de test vous permet d'afficher les résultats des tests pour DevOpsJenkins, Azure DevOps, GitHub, GitHub Enterprise et GitLab les tests unitaires, fonctionnels et de performances.

Pour GitLab Jenkins, seule l'intégration de type test JUnit est prise en charge.  
Remarque :  
Pour les autres types de tests, utilisez le point de terminaison [DevOps : POST /devops/tool/{capability}](https://www.servicenow.com/docs/access?context=devops-api&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) de [l'API DevOps](https://www.servicenow.com/docs/access?context=devops-api&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US).  
* Les tests Selenium exécutés et publiés à l'aide de TestNG sont signalés par le Jenkins plugin pour ServiceNow DevOps.
* La catégorisation du type de test est prise en charge.
* Les résultats des tests supplémentaires rapportés par des outils, tels qu'Apache JMeter, peuvent être traités à DevOps l'aide de flux secondaires personnalisés Studio de workflow (aucune modification du pipeline n'est requise).
{#dev-ops-test-tool-integration__ul_bkq_dq5_pnb}  
{#dev-ops-test-tool-integration__table_xxq_lcx_pnb__entry__2}

| Catégorie | Type de test |
|-|-|
| Unité | JUnit (par défaut) NUnit XUnit Test unitaire Remarque : * Pour GitLab Jenkins, seule l'intégration du type de test JUnit est prise en charge. * Pour ADO, GitHub et GitHub Enterprise, les intégrations de type test JUnit, NUnit, XUnit et Unitaire sont prises en charge. {#dev-ops-test-tool-integration__ul_cyb_gdj_b1c} Vous pouvez modifier le type de test par défaut en modifiant le paramètre \[sn_devops.default_test_type\] [DevOps property](https://servicenow-prod.fluidtopics.net/17ZATDAnDBuTPIyglKICng "Utilisez ces propriétés pour configurer les paramètres de l’application Changements de vélocité DevOps ."). |
| Fonctionnel | * Intégration * Régression * Fumée * Système * Acceptation de l'utilisateur {#dev-ops-test-tool-integration__ul_nnl_mcx_pnb} |
| Performances | Charge |
[ ]

{#dev-ops-test-tool-integration__table_xxq_lcx_pnb}

## Mappage de type de test {#dev-ops-test-tool-integration__section_opj_n5l_vlb}

Le mappage de type de test connecte le type de test et l'entité testée à l'outil DevOps (DevOpsIntégrationsMappages de type de test dans le module.)

Un mappage précis du type de test garantit que le type de test s'affiche toujours comme prévu dans les résultats récapitulatifs des tests.  
{#dev-ops-test-tool-integration__table_j2s_nkv_pnb__entry__2}

| Champ || Description |
|-|-|-|
| Type de test || * JUnit * Intégration * Régression * Fumée * Système * Acceptation de l'utilisateur * Charge {#dev-ops-test-tool-integration__ul_jyw_xkv_pnb} |
| ID de l'entité DevOps | Nom de la table | DevOps Nom de table qui contient l'entité liée aux résultats des tests (dans la charge utile du rapport de test). * Étape \[sn_devops_step\] * Pipeline \[sn_devops_pipeline\] {#dev-ops-test-tool-integration__ul_sy5_4mv_pnb} Remarque : Seules les DevOps tables d'étapes et de pipelines sont prises en charge. |
| ID de l'entité DevOps | Document | Nom de l'entité spécifiée dans la table sélectionnée. Par exemple, le nom de l'étape, du pipeline, de l'artefact ou du package. |
| Chemins d'accès aux fichiers de test Jenkins(tests uniquement) || Chemin d'accès au fichier des résultats des tests généré sur le Jenkins serveur. C'est utile pour que les rapports de test avec des attributs qui ne sont pas conformes à l'implémentation de JUnit ou de TestNG, comme JMeter par exemple, puissent toujours être exploités par DevOps. Séparez plusieurs fichiers par une virgule. Remarque : Vous devez utiliser un Studio de workflow flux secondaire pour transformer une charge utile de test brute. |
| Intégration d'outils || Outil qui exécute le test. |
| Table DevOps || DevOps table qui correspond au nom de la table dans le paramètre ID d'entité DevOps . |
[ ]

{#dev-ops-test-tool-integration__table_j2s_nkv_pnb}  
Figure 1. DevOps Mappage de type de test  
Figure 2. Exemple de fichier yaml de test unitaire ADO Figure 3. Exemple de fichier yaml de test unitaire GitHub

## Transformation d'une charge utile de test brute {#dev-ops-test-tool-integration__section_evb_tzv_pnb}

Vous pouvez transformer un rapport de test brut (un rapport contenant des attributs qui ne sont pas conformes à l'implémentation de JUnit ou de TestNG), tel que JMeter par exemple, en configurant la table de décision de la politique de flux secondaire de test DevOps pour appeler un flux secondaire personnalisé (Tables de décisionTables de décision module).  
Remarque :  
Vous devez créer le flux secondaire personnalisé Studio de workflow qui transforme la charge utile de test brute.

S'il existe plusieurs types de test dans une étape de performance, vous pouvez utiliser la table de décision de politique de type de test DevOps pour configurer le type de test de chaque test afin que les charges utiles des résultats des tests soient transformées correctement.  
Figure 4. DevOps Tables de décision  
{#dev-ops-test-tool-integration__table_c54_kcw_pnb__entry__3}

| Table de décision | Objectif | Configuration |
|-|-|-|
| Politique de flux secondaire de test DevOps | Pour appeler automatiquement un flux secondaire personnalisé qui transforme la charge utile brute reçue par l'outil. Entrées de décision : * Charge utile du résultat du test * Type de test {#dev-ops-test-tool-integration__ul_wxg_2dw_pnb} | Créez une décision qui spécifie le flux secondaire personnalisé à appeler lorsque la charge utile brute est reçue. Définissez les conditions de sorte qu'elles contiennent des champs qui seront inclus dans la charge utile brute. Par exemple, pour appeler Jenkins le flux secondaire personnalisé Test des performances BZ : Conditions : * <kbd class="ph userinput">Le type de test est Chargement</kbd> (La charge est le type de test configuré pour les tests de performances) * <kbd class="ph userinput">La charge utile du résultat de test contient le débit</kbd> * <kbd class="ph userinput">Résultat du test La charge utile contient la concurrence</kbd> {#dev-ops-test-tool-integration__ul_jrv_x2w_pnb} Réponse : Flux : Jenkins Test de performance BZ |
| DevOps : politique du type de test | Pour définir automatiquement les types de test lorsque plusieurs types de tests sont configurés dans une étape de test de performance. Ceci est nécessaire pour que les résultats du deuxième type de test soient transformés correctement. Par exemple, lorsqu'un test de performances de chargement et un test de performances JUnit sont mappés dans la même DevOps étape, les résultats des tests JUnit ne sont pas formatés correctement à moins qu'une décision ne soit créée. Entrées de décision : * Étape * Charge utile du résultat du test * Intégration d'outils * Pipeline {#dev-ops-test-tool-integration__ul_dkm_sjw_pnb} | Créez une décision pour chaque type de test à l'étape de test de performance afin de définir le type de test. Test de charge : * Conditions : * <kbd class="ph userinput">L’étape correspond à des tests de performance</kbd> * <kbd class="ph userinput">La charge utile du résultat de test contient le débit</kbd> * <kbd class="ph userinput">Résultat du test La charge utile contient la concurrence</kbd> {#dev-ops-test-tool-integration__ul_r5g_2kw_pnb} * Réponse : <kbd class="ph userinput">TestType : Charger</kbd> {#dev-ops-test-tool-integration__ul_fvh_tpw_pnb} Test JUnit : * Conditions : * <kbd class="ph userinput">L’étape correspond à des tests de performance</kbd> * <kbd class="ph userinput">La charge utile du résultat du test ne contient pas de débit</kbd> * <kbd class="ph userinput">La charge utile du résultat du test ne contient pas la concurrence</kbd> {#dev-ops-test-tool-integration__ul_lx1_5qw_pnb} * Réponse : <kbd class="ph userinput">TestType : JUnit</kbd> {#dev-ops-test-tool-integration__ul_kx1_5qw_pnb} |
[Tableau 1. DevOps Tables de décision]

{#dev-ops-test-tool-integration__table_c54_kcw_pnb}  
Figure 5. DevOps Plusieurs types de test de performance  
Figure 6. DevOps Mappages de plusieurs types de tests  
Figure 7. DevOps Décision de la table de décision

## Résultats du résumé du test {#dev-ops-test-tool-integration__section_iq3_11v_pnb}

Vous pouvez afficher les résultats récapitulatifs des tests de cette façon.

* DevOpsRésultats des tests (Résumés des tests et Résumés des tests de performance).
* [Demande de changement DevOps](https://servicenow-prod.fluidtopics.net/oMyd3qiYsod~AV~tqoQUIA "Activez la fonctionnalité d’accélération des changements pour la création automatique de demandes de changement dans votre pipeline et utilisez les flux et politiques d’approbation de Changements de vélocité DevOps changement pour automatiser l’approbation sous certaines conditions.") : liste connexe Résultats des tests.
* [DevOps Pipeline UI](https://servicenow-prod.fluidtopics.net/oZswGCEsicAcKu3vdhTOPw "Utilisez l’interface utilisateur de pipeline pour visualiser les interactions et les résultats tout au long d’une exécution de pipeline. Cette vue graphique montre la progression de l’étape du pipeline et d’autres détails pour chaque pipeline.") - Tuile de qualité.
{#dev-ops-test-tool-integration__ul_ayj_jd4_vlb}  
Figure 8. DevOps Exemple de résumé du test de performances

## JSON standard attendu Charge utile de l'aptitude de notification : outil de test {#dev-ops-test-tool-integration__section_ey3_fyn_qnb}

Fonctionnel:

    { 
    "name": "CorpSite-selenium#55", 
    "duration": 78.802, 
    "passedTests": 4, 
    "failedTests": 0, 
    "skippedTests": 0, 
    "blockedTests": 0, 
    "totalTests": 4, 
    "startTime": "2020-06-30T18:12:31Z", 
    "finishTime": "2020-06-30T18:12:31Z", 
    "passingPercent": 100, 
     
     
    // Use Artifact OR Package OR Build + Stage + PipelineName Attributes 

    Send only one Attribute combination. For example, send Attributes of either  Artifact or Package, or the combination of Build + Stage + PipelineName.

    If you send more than one Attribute, priority is given in the following order and the low priory one is ignored. For example, if you send attribute for both packages and artifacts, then attribute of package is considered and the attribute of artifacts is ignored.

    1.packages
    2.artifcats
    3.buildNumber + stageName + pipelineName

    "packages": [{"name": "CorpSite-pkg1"}], 
    "artifacts": [{"name": "CorpSite-artifact", "version": "1.0.0"}], 
    "buildNumber": "55", 
    "stageName": "test", 
    "pipelineName": "CorpSite-selenium", 
    } 

    Notes:
    - The pipelineName attribute value must be same as the value in the Orchestration pipeline field of the Pipeline [sn_devops_pipeline] table.
    - The stageName attribute value must be same as the value in the Orchestration stage field of the Step [sn_devops_step] table.

Performance:

    { 
    "name": "Performance Tests", 
    "url": "http://abc.com", 
    "startTime": "2020-06-30T18:12:31Z", 
    "finishTime": "2020-06-30T18:12:31Z", 
    "duration": 78.802, 
    "maximumVirtualUsers": "", 
    "throughput": "", 
    "maximumTime": "", 
    "minimumTime": "", 
    "averageTime": "", 
    "ninetyPercent": "", 
    "standardDeviation": "", 
     
    // Use Artifact OR Package OR Build + Stage + PipelineName Attributes 

    Send only one Attribute combination. For example, send Attributes of either  Artifact or Package, or the combination of Build + Stage + PipelineName.

    If you send more than one Attribute, priority is given in the following order and the low priory one is ignored. For example, if you send attribute for both packages and artifacts, then attribute of package is considered and the attribute of artifacts is ignored.

    1.packages
    2.artifcats
    3.buildNumber + stageName + pipelineName

    "packages": [{"name": "CorpSite-pkg1"}], 
    "artifacts": [{"name": "CorpSite-artifact", "version": "1.0.0"}], 
    "buildNumber": "55", 
    "stageName": "test", 
    "pipelineName": "CorpSite-Performance", 
    } 

    Notes:
    - The pipelineName attribute value must be same as the value in the Orchestration pipeline field of the Pipeline [sn_devops_pipeline] table.
    - The stageName attribute value must be same as the value in the Orchestration stage field of the Step [sn_devops_step] table.

* **[Configurer un outil de test dans DevOps](https://servicenow-prod.fluidtopics.net/Oo_h8PpyfZOiBRuF_rVyyA)**   
  Configurez un outil de test dans DevOps pour afficher les résultats des tests unitaires, fonctionnels et de performances.
* **[Ajouter des résultats des tests aux demandes de changement à l'aide de l'API de test](https://servicenow-prod.fluidtopics.net/V~frNIJ1_yF4K180m0xhNw)**   
  Ajoutez des résultats des tests aux demandes de DevOps changement à l'aide de l'aptitude de test de l'API DevOps - POST /devops/tool/{capability}. L'API est disponible pour tous les types de tests des différents outils connectés à Changements de vélocité DevOps.
* **[Ajouter des pièces jointes aux demandes de changement à l'aide de l'API des pièces jointes](https://servicenow-prod.fluidtopics.net/mDsGw2Iz7yLM0KjUQWa63A)**   
  Ajoutez des XML de rapport de test en tant que pièces jointes aux demandes de changement DevOps à l'aide de l'API de pièce jointe.

