Logo
  • A propos
  • Blog
  • Services
  • Media
  • Contact
Contactez-nous !

Accélérer l’automatisation des tests par le DevOps (Partie 2)

Date publication
Oct 4, 2024

Accélérer l’automatisation des tests par le DevOps (Partie 2)

Cette série d’articles est issue de l’article que j’ai écris pour le magazine Programmez ! paru en Janvier 2024.

Cette série d’articles explore en 3 partie les thèmes suivant :

  1. Les avantages de l'utilisation de Docker,
  2. Les avantages des pipelines d'intégration continue de tests avec GitLab CI ,
  3. L’exploitation du cloud pour renforcer l'efficacité des tests automatisés et d’améliorer la productivité dans le processus de développement de logiciels.
image

Les tests en continu (partie 2)

Pourquoi tester en continu ?

Aujourd’hui, il est indispensable d’un contexte de time-to-market de plus en plus contraignant d’avoir des feedbacks sur la qualité des développements le plus rapidement possible. La mise en place de test en continu via des pipelines est donc indispensable et permet de :

  • Détecter plus rapidement : les problèmes et de les résoudre plus rapidement grâce aux feedbacks rapides.
  • Utiliser efficacement : l'ensemble des ressources disponibles, c'est-à-dire des testeurs, de l'infrastructure de test, etc.
  • Accélérer les tests : avec la capacité à exécuter des tests en parallèle.
  • Partager les résultats : à 360 avec toutes les parties prenantes dans un gestionnaire de tests avec des dashboards dédiés.
  • Améliorer la productivité : Les pipelines de test et de déploiement continu permettent aux équipes de développement de se concentrer sur la création de fonctionnalités plutôt que sur les tâches manuelles et répétitives liées aux tests et aux déploiements

Certaines contraintes sont aussi à prendre en compte au préalable :

  • Complexité de la configuration initiale : La mise en place d'un pipeline de test et de déploiement continu nécessite une configuration initiale complexe. Les développeurs et les automaticiens doivent monter en compétences sur cette partie.
  • Maintenance et évolutivité : Les pipelines de test et de déploiement continu nécessitent une maintenance continue pour s'adapter aux évolutions des projets et des exigences. Ils doivent être évolutifs pour prendre en charge l'ajout de nouveaux tests, la modification des configurations, etc.

GitLab CI : un outil adapté

GitLab CI, l'outil d'intégration continue de GitLab, s'inscrit comme une solution complémentaire à Docker.

Les fichiers de configuration YAML dans GitLab CI permettent de définir de manière flexible et transparente les différentes étapes du pipeline. Intégrer Docker dans ces pipelines offre une synergie puissante, où chaque étape du processus de test peut être orchestrée dans des conteneurs dédiés.

Exemple de fichier YAML
Exemple de fichier YAML

Cette approche modulaire favorise une gestion efficace des dépendances, simplifiant la configuration et la maintenance des pipelines.

L'utilisation de GitLab CI permet également d'assurer une traçabilité complète des modifications de code jusqu'aux résultats des tests et la synchronisation vers le gestionnaire de tests. Cela offre une visibilité inégalée sur l'état du code à chaque étape du pipeline, permettant une détection précoce des problèmes et accélérant la résolution des anomalies tout en partageant facilement les résultats des tests.

Un exemple de pipeline de test

Concrètement, l’utilisation  de docker et de GitLab CI peut-être configurer dans ce contexte suivant afin de tester en continu :

  • Gitlab pour le gestionnaire de code
  • Gitlab CI pour les pipelines
  • Docker pour déployer les environnements
  • Xray comme gestionnaire de tests
  • Lightouse pour les tests non fonctionnels.
  • OpenCart comme SUT E-commerce via une image docker
  • Selenium ou RobotFrameowk comme framework de test via un conteneur docker
Workflow avec Gitlab CI pour la démo
Workflow avec Gitlab CI pour la démo

Une intégration dans les pipelines de développement

Pour aller plus loin dans une démarche shift left, docker et les tests en continu peuvent être intégrés au pipeline de développement afin de permettre aux développeurs d’avoir des feedbacks très rapide et de corriger les anomalies remontées par le pipeline.

Les tests seront visibles et les résultats seront facilement accessibles et, par extension, l’automatisation des tests sera valorisée.

 Exemple d’intégration dans le pipeline de développement
Exemple d’intégration dans le pipeline de développement

Dans le dernière article de cette série, les thèmes développés seront !

  • L’exploitation du cloud pour renforcer l'efficacité des tests automatisés et d’améliorer la productivité dans le processus de développement de logiciels.

Plus d’articles comme celui-ci

Accélérer l’automatisation des tests par le DevOps (Partie 3)
Accélérer l’automatisation des tests par le DevOps (Partie 3)
Oct 11, 2024
Accélérer l’automatisation des tests par le DevOps (Partie 2)
Accélérer l’automatisation des tests par le DevOps (Partie 2)
Oct 4, 2024
Accélérer l’automatisation des tests par le DevOps (Partie 1)
Accélérer l’automatisation des tests par le DevOps (Partie 1)
Sep 27, 2024
Logo

Accueil

Blog

Newsletters

Podcasts

Vidéos

Qui suis-je ?

Shift Op Solutions

Mentorat

Formations

Etat des Lieux

Contact

Copyright © Jean-François Fresi 2024 - Site créé en nocode.

LinkedInYouTubeSpotifyRSS