Aller au contenu

Intégration CI/CD des tests automatisés

Intégrez les résultats de tests automatisés depuis votre pipeline CI/CD dans SquashTM pour suivre l'évolution des exécutions de tests, analyser les échecs et maintenir un historique de test.

Pourquoi intégrer les résultats de votre pipeline CI/CD avec SquashTM ?

En publiant les résultats de tests automatisés dans SquashTM, vous obtenez :

  • Résultats de tests centralisés : Visualisez toutes les exécutions de tests (manuels et automatisés) à un seul endroit
  • Historique d'exécution : Suivez l'évolution des tests automatisés au fil du temps et identifiez les tests instables
  • Analyse des échecs : Identifiez rapidement quels tests ont échoué, avec des messages d'erreur détaillés et des pièces jointes
  • Suivi des anomalies : Liez les tests échoués aux bugs dans votre gestionnaire d'anomalies (Jira, GitLab, etc.)
  • Traçabilité : Liez les résultats de tests automatisés aux exigences et aux cas de test
  • Reporting : Générez des rapports combinant les résultats de tests manuels et automatisés

Une fois votre intégration CI/CD terminée, vous pourrez visualiser et analyser les résultats de tests automatisés dans SquashTM.
Consultez Analyser les résultats CI/CD pour plus de détails sur la façon d'explorer vos exécutions automatisées dans SquashTM.

Ce que vous allez apprendre

  • Configurer SquashTM pour recevoir les résultats de tests automatisés
  • Configurer votre pipeline CI/CD pour exécuter les tests et générer des rapports
  • Parser les résultats de tests au format JSON de SquashTM
  • Publier les résultats et les rapports de tests dans SquashTM via API

De plus, vous trouverez une référence à la page qui explique comment analyser les résultats CI/CD dans SquashTM.

À qui s'adresse ce guide ?

Ce guide couvre plusieurs scénarios :

  • Vous avez déjà des tests automatisés et un pipeline CI/CD - Intégrez les tests existants avec SquashTM
  • Vous avez des tests automatisés mais pas encore de pipeline CI/CD - Configurez un pipeline et intégrez-le avec SquashTM
  • Vous partez de zéro - Construisez un workflow de tests automatisés complet

Exemple GitLab CI et Robot Framework

Ce guide utilise GitLab CI comme plateforme CI/CD et Robot Framework avec des rapports xUnit XML comme exemples. Les étapes et concepts s'appliquent à n'importe quelle plateforme CI/CD (Jenkins, GitHub Actions, Azure DevOps, etc.) et framework de test, mais vous devrez adapter :

  • Syntaxe CI/CD : La syntaxe de configuration des pipelines varie selon la plateforme (ex. .gitlab-ci.yml vs Jenkinsfile vs workflows GitHub Actions)
  • Logique du parser : L'analyse du rapport doit correspondre au format de sortie de votre framework de test (ex. Cucumber JSON)

Ce dont vous avez besoin

  • Instance SquashTM avec accès administrateur
  • Plateforme CI/CD (ex. GitLab CI) avec un environnement d'exécution pour vos tests
  • Connaissances de base des concepts CI/CD, YAML/JSON et ligne de commande
  • Tests automatisés dans n'importe quel framework générant une sortie analysable (nous utilisons Robot Framework avec xUnit XML dans ce guide)

Limitation Cloud Premium

Sur SquashTM Cloud Premium, l'endpoint d'import de résultats utilisé par ce guide n'est pas disponible. Utilisez SquashTM Cloud Ultimate ou SquashTM Server pour la publication via API.

Vous n'avez pas encore de tests automatisés ?

Utilisez notre suite de tests Robot Framework comme point de départ : login_validation_tests.robot.

Temps nécessaire

En suivant ce guide étape par étape (incluant lecture, configuration, commits et vérification) :

  • Préparation des données dans SquashTM : 15-20 minutes
  • Configuration du pipeline : 15-20 minutes
  • Configuration du parser : 10-15 minutes
  • Configuration de la publication : 10-15 minutes

Temps total : Environ 1 heure

Structure du guide

Ce guide est organisé en étapes séquentielles :

  1. Préparer SquashTM - Configurer SquashTM pour recevoir les résultats de tests
  2. Exécuter les tests automatisés en CI/CD - Configurer votre pipeline pour exécuter les tests
  3. Parser le rapport - Convertir les résultats de test au format SquashTM
  4. Publier dans SquashTM - Envoyer les résultats à SquashTM via API
  5. Dépannage - Trouver des solutions aux problèmes de résultats

Chaque étape s'appuie sur la précédente, il est donc recommandé de les suivre dans l'ordre.

Exemple : GitLab CI + Robot Framework

Tout au long de ce guide, nous utilisons un exemple complet et fonctionnel avec :

  • Plateforme CI/CD : GitLab CI/CD
  • Framework de test : Robot Framework
  • Langage de programmation : Python (pour le parser)

Cependant, les concepts et approches s'appliquent à n'importe quelle plateforme CI/CD et framework de test. Vous pouvez adapter les exemples à vos outils spécifiques.

Vue d'ensemble de l'architecture

Dépôt GitLab & CI/CD
Tests Automatisés
(Robot Framework)
↓ Exécuter
Pipeline
Exécuter les Tests

Artefacts
• xunit.xml
• report.html
• log.html
↓ Analyser
Analyse
Convertir & Publier
POST JSON + Pièces Jointes
———>
SquashTM
REST API
/import/results/{iteration_id}
↓ Créer
Suite automatisée
↓ Contient
Exécutions Automatisées
• Statut (Succès/Échec)
• Date d'exécution
• Détails du test
↓ Avec
Pièces Jointes
Rapports HTML, logs, captures d'écran

Comment ça fonctionne :

  1. Exécuter les tests : Votre pipeline CI/CD exécute les tests automatisés et génère un rapport de test (xUnit/JUnit XML)
  2. Parser les résultats et préparer les données : Un script de parsing convertit le rapport XML au format JSON de SquashTM et collecte les pièces jointes (logs, captures d'écran, etc.)
  3. Publier dans SquashTM : Les résultats sont envoyés à SquashTM via l'API REST
  4. Visualiser dans SquashTM : Une suite automatisée est créée dans votre itération, avec tous les résultats de tests et pièces jointes

En savoir plus : Analyser les résultats CI/CD

Exemple complet fonctionnel

Vous pouvez consulter le dépôt de l'exemple complet fonctionnel ici : gitlab-automated-test-integration.
Le plan de test correspondant est consultable ici, après connexion en tant qu'invité avec l'identifiant Squash (le mot de passe est indiqué sur la page de connexion).

Prochaines étapes

Prêt à commencer ? Commencez par Préparer SquashTM pour configurer votre environnement SquashTM.