Automatisation des tests unitaires et E2E avec Jenkins

Publié le 02/08/2025 dans CI/CD & Automatisation

Introduction

Tests Jenkins

La mise en place d’un pipeline de tests automatisés est cruciale pour garantir la qualité et la stabilité de vos applications. Avec Jenkins, vous pouvez orchestrer vos tests à chaque push, réduire les régressions et accélérer la livraison. Découvrez comment chez echo Dev :

1. Installation et configuration

Pour démarrer :

  • Installez les plugins essentiels : Git, Maven/Gradle, Selenium ou Cypress.
  • Configurez un agent dédié (Docker ou VM) pour isoler l’environnement de test.
  • Paramétrez les credentials (SSH keys, tokens) via Credentials Binding.

2. Tests unitaires

Les tests unitaires valident les modules individuellement :

  • Créez un job ou un stage('Unit Tests') qui exécute phpunit ou JUnit.
  • Générez et publiez les rapports de couverture (coverage.xml) via le plugin Coverage.
  • Bloquez le pipeline si le taux de couverture est inférieur à votre seuil (par ex. 80 %).

3. Tests E2E

Assurez le bon fonctionnement de l’application dans son ensemble :

  • Déployez Selenium Grid ou Cypress sur Docker pour l’isolation.
  • Planifiez des exécutions nocturnes (cron) pour détecter les régressions.
  • Utilisez des Parallel Test Executor pour réduire la durée des builds.

4. Intégration dans le pipeline

Adoptez la syntaxe déclarative dans un Jenkinsfile :

pipeline { agent any stages { stage('Checkout') { steps { git 'https://repo.git' } } stage('Unit Tests') { steps { sh 'mvn test' } } stage('E2E Tests') { steps { sh 'npm run cypress:run' } } stage('Build & Deploy') { steps { sh 'docker build .' } } } post { always { junit '**/target/surefire-reports/*.xml' } failure { slackSend channel: '#ci', message: 'Build failed' } } }

Cette structure claire facilite la maintenance et l’évolution de vos pipelines.

5. Reporting et alertes

Pour rester informé :

  • Notifications via Slack ou Teams en cas d’échec ou de succès.
  • Export automatique de graphiques de tendance (JUnit trends, coverage).
  • Archivage des logs et artefacts pour audit et retracing.

Conclusion

Un pipeline de tests automatisé avec Jenkins vous permet de :

  • Détecter rapidement les bugs
  • Améliorer la couverture de tests
  • Accélérer les cycles de déploiement

Pour une intégration optimale et un accompagnement sur-mesure, contactez echo Dev dès aujourd’hui !