DESCRIPTION DU PRODUIT

Le client est une grande entreprise de services automobiles qui propose des services tels que la peinture, la réparation de carrosseries, le remplacement de vitres, l'entretien, le lavage de voitures et pleins d'autres.

Leur principal produit informatique est une place de marché B2B sur la plateforme SAP Hybris qui relie des milliers de magasins et propose des produits de fabricants de premier plan.

Le client avait déjà travaillé avec un autre fournisseur d'assurance qualité, mais il n'était pas satisfait de l'efficacité des tests, qui entraînait d'importants retards de publication. Après avoir cherché un partenaire de test plus approprié, le client s'est tourné vers a1qa.

DESCRIPTION DU PROJET

L'équipe d'a1qa, dirigée par un responsable de l'assurance qualité, a rejoint un projet organisé selon la méthode Scrum. La première tâche consistait à aider le client à lancer une place de marché phare dans les plus brefs délais.

L'équipe a analysé les processus d'assurance qualité actuels, suggéré des améliorations et mis en œuvre de nouvelles approches basées sur l'ISTQB, à savoir

Créer un système de test pour chaque environnement

  • Un environnement de test où les développeurs peuvent mettre en ligne de nouveaux codes et où l'équipe d'a1qa peut effectuer des tests et des démonstrations des nouvelles fonctionnalités.
  • Un environnement de test d'acceptation par l'utilisateur (UAT) dans lequel la version finale est livrée pour des démonstrations à de nouveaux fournisseurs ou pour vérifier que les nouvelles fonctionnalités sont pleinement opérationnelles.
  • Un environnement de production pour des utilisateurs réels.

Pour améliorer l'efficacité des tests, l'a1qa recommande d'optimiser l'utilisation de ces environnements comme suit :

  • L'environnement de test doit être utilisé pour tester les nouvelles fonctionnalités avec une couverture complète des tests d'acceptation.
  • L'environnement UAT est destiné aux tests de régression ; le code est gelé au neuvième jour du sprint afin de garantir une couverture minimale des tests d'acceptation.
  • L'environnement de production est utilisé pour les tests de fumée le 15ᵉ jour du sprint, si les tests de régression sont concluants.

Cette approche visait à simplifier le processus d'assurance qualité et à améliorer l'efficacité globale des tests.

Programmation indépendante des activités de test pour chaque version

Le responsable de l'AQ a mis en place un système de suivi complet décrivant toutes les fonctionnalités à fournir dans chaque environnement. Cela a facilité la communication et la transparence pour tous les professionnels de l'assurance qualité.

Exécution des tâches du client

Dans un premier temps, le client a approuvé les versions de toutes les nouvelles fonctionnalités. Une fois qu'a1qa s'est imposée comme un partenaire fiable, elle a confié cette tâche à l'équipe d'assurance qualité. Les fonctions critiques ont été testées par le client lui-même ou lui ont été présentées par l'équipe d'ingénieurs lors de démonstrations.

Établir le processus de classification des défauts

Au début, les réunions entre l'équipe d'assurance qualité et le client se tenaient deux fois par semaine, puis une fois par semaine. Lors de ces rencontres, les membres du projet analysaient et réévaluaient les priorités liées aux défauts. Ces sessions ont permis d’identifier les risques potentiels, de garantir l’élimination de tous les défauts critiques et majeurs, et d’harmoniser les priorités des bogues identifiés au sein de l’équipe.

Organisation du processus de création de la documentation de test

Le processus de documentation a permis d'assurer une couverture complète des tests de l'application, de développer des cas de test et des scripts bien structurés afin de minimiser les problèmes pendant la phase opérationnelle, de faciliter l'interaction entre les membres du projet, de favoriser le partage des connaissances et d'aider les nouveaux membres de l'équipe à se familiariser plus rapidement avec le produit logiciel.

Introduction d'une description universelle des défauts

Cette solution a permis à toutes les personnes impliquées dans le projet de comprendre clairement la nature de chaque défaut, ce qui a facilité une hiérarchisation plus précise et réduit le risque de reprise de travail et de perturbations du calendrier en raison d'incohérences.

Création d'une base de connaissances détaillée

La base de connaissances a permis d'introduire plus efficacement le nouveau personnel dans le projet, de créer une approche normalisée de l'assurance qualité et de simplifier la résolution des problèmes de flux de travail. En outre, elle a permis de garantir que toute l'expertise accumulée resterait au sein du projet, même si des personnes clés quittaient l'équipe.

Au cours de la deuxième phase, l'équipe d'a1qa a procédé à des tests d'acceptation par les utilisateurs. Les ingénieurs AQ ont testé en profondeur l'ensemble de la solution logicielle à l'aide de scénarios simulant les expériences réelles des utilisateurs, afin d'évaluer les performances du précédent prestataire AQ et de s'assurer que toutes les fonctionnalités répondaient aux exigences. Après cinq mois de tests du projet et de validation des défauts, le client a approuvé le déploiement du logiciel et la place de marché a été mise en service.

Après ce lancement réussi, l'a1qa a poursuivi les travaux suivants :

Tests fonctionnels

Les ingénieurs chargés de l'assurance qualité ont effectué un cycle complet de tests des nouvelles fonctionnalités afin d'en garantir la qualité. Des tests de régression ont également été effectués pour s'assurer que les modifications apportées au code n'affectaient pas les fonctionnalités du logiciel qui fonctionnait bien auparavant. Des tests de fumée ont également été effectués pour vérifier rapidement les fonctionnalités de base et la validation des défauts afin de confirmer que tous les bogues détectés avaient été éliminés avec succès par les développeurs.

En outre, a1qa a effectué des tests de compatibilité. Avec BrowserStack, les ingénieurs ont testé le logiciel sur différentes plateformes et navigateurs. Ils ont analysé les appareils les plus populaires et créé une matrice de compatibilité comprenant Safari, Google Chrome, Microsoft Edge et les derniers iPhone, iPad et Samsung.

Dans le cadre de la première phase de validation des big data, les testeurs ont vérifié la logique commerciale. Ils se sont assurés que toutes les marchandises étaient correctement classées et qu'elles respectaient les règles prédéfinies.

Les ingénieurs de l'a1qa ont présenté la nouvelle fonctionnalité au client pour lui expliquer le fonctionnement du système de retour, qui permet aux utilisateurs finaux d'effectuer des remboursements et de recevoir automatiquement l'argent en retour.

Automatisation des tests

L'exécution manuelle des tests de régression prenait beaucoup de temps : quatre ingénieurs d'assurance qualité devaient consacrer quatre jours à chaque cycle. Pour simplifier ce processus, a1qa a mis en place une automatisation des tests Java couvrant les tests de régression, les tests de construction et les tests de fumée.

L'équipe d'a1qa a utilisé un cadre d' automatisation des tests basé sur l'IA. Il a été conçu pour simplifier, sécuriser et rendre plus stable l'interaction avec les navigateurs web. Le cadre comporte une fonctionnalité d'attente conditionnelle, ainsi que la possibilité d'exécuter des tests en parallèle et un système de configuration simple.

Pour améliorer l'exécution des tests et le processus de reporting, a1qa a mis en œuvre Jenkins CI pour exécuter des tests à distance et l'a intégré à Jira et Allure Report. Cette personnalisation a permis de générer automatiquement des suites de tests spécifiques après avoir testé chaque version, ainsi que de fournir des rapports détaillés. L'efficacité et la précision des tests s'en sont trouvées grandement améliorées.

L'automatisation des tests a permis de réduire de moitié la durée des tests de régression.

Les ingénieurs chargés de l'automatisation des tests ont également vérifié l'optimisation de la barre de recherche, qui comporte désormais des fonctions permettant de rechercher des produits par leur numéro d'identification, leur nom et leur catégorie. Au départ, le client n'avait pas une vision claire de la manière dont cette fonction devait fonctionner. Par conséquent, a1qa a automatisé la recherche de plusieurs produits et a fourni des rapports pour aider les développeurs du client à analyser les résultats et à améliorer la recherche.

Lors de la deuxième phase de validation des big data, l'équipe a développé des scripts Python pour identifier et corriger les failles dans les données qui empêchaient la catégorisation des produits.

Tests de performance

Le client souhaitait connaître la stabilité de la place de marché dans le cadre des critères d'acceptation spécifiés : 250 utilisateurs actifs en même temps. Les ingénieurs d'a1qa ont développé des cas de test et effectué des tests de stress et de charge sur le serveur, ainsi que des tests complets du produit sur le client. Ces tests ont permis d'identifier des requêtes de base de données lourdes qui ralentissaient le logiciel. Une fois que les développeurs ont corrigé le problème, les ingénieurs qualité ont testé à nouveau le système pour s'assurer que les corrections étaient efficaces.

Au cours de l'assistance post-livraison, l'équipe a1qa a testé les cas où les histoires d'utilisateurs pouvaient affecter les performances globales de Sprint. Les ingénieurs d'assurance qualité ont transmis les défauts identifiés aux développeurs pour qu'ils les résolvent, puis ont testé à nouveau le produit logiciel.

SERVICES FOURNIS
  • Tests d'acceptation
  • Tests fonctionnels
  • Automatisation des tests
  • Tests de performance
TECHNOLOGIES ET OUTILS
  • Postman
  • BrowserStack
  • Intellij IDEA
  • AWS
  • Jenkins
  • Allure Reports
  • Figma
  • Git
  • Jira
  • Azure Storage Explorer
  • Excel
  • SQL
  • Scripts Groovy/ ImpEx
  • REST Assured
  • Cucumber JVM
  • Allure Framework
  • TestNG
  • Docker
SUPPORT DE MIGRATION ORACLE ERP

Le client utilisait un logiciel qui interagissait avec la place de marché via des fichiers .txt contenant des informations sur les produits, les fournisseurs, les prix et les remises. La place de marché envoyait des fichiers .txt contenant des données sur les clients, les numéros de compte et les montants. Cependant, le client a décidé de passer à Oracle ERP. a1qa a effectué des tests d'intégration du système pour garantir une interaction et un flux de données sans faille entre la place de marché et Oracle ERP.

ASSISTANCE À LA MISE À NIVEAU DE SAP HYBRIS

Le produit logiciel testé fonctionne sur la plateforme SAP Hybris. Environ une fois par an, SAP publie une mise à jour majeure tout en interrompant le support des versions précédentes. La dernière fois que cela s'est produit, les ingénieurs chargés de l'assurance qualité ont réexécuté tous les cas de test disponibles pour s'assurer que le logiciel était stable après la mise à niveau vers la dernière version de SAP Hybris. En outre, tous les trois mois, les ingénieurs AQ ont effectué la maintenance des principales mises à jour de SAP Hybris, c'est-à-dire qu'ils ont analysé les parties du logiciel susceptibles d'avoir été affectées et les ont testées.

Les experts d'a1qa ont également fourni un soutien agile pour résoudre les problèmes au fur et à mesure qu'ils se présentaient, qu'il s'agisse de trouver des défauts ou d'élargir rapidement l'équipe pour gérer davantage de tâches de test.

RÉSULTATS
  • Le lancement d'une place de marché phare desservant des milliers de boutiques, cinq mois seulement après le début du partenariat avec a1qa.
  • Améliorer la qualité du marché par des tests à toutes les phases du cycle de développement des logiciels (SDLC).
  • Accélérer de 50 % le temps d'exécution des tests de régression et optimiser les tests des fonctions critiques (smoke testing) et la vérification de la construction en mettant en œuvre l'automatisation des tests en Java.
  • Assurer l'interchangeabilité des membres de l'équipe en établissant une solide bibliothèque de données et un système de transfert de connaissances.
EN CHIFFRES
  • 2
    années de durée du projet
  • 13
    ingénieurs d'assurances qualité
  • 50%
    de la réduction dans le temps des tests de régression
  • 100%
    respect des délais