Client
Notre client est une entreprise basée aux États-Unis qui se spécialise dans la création de plateformes numériques interopérables hautement personnalisées pour leurs clients dans le domaine de l'assurance. Ils considèrent leur mission comme étant de fournir des logiciels efficaces et rentables pour la collecte et la distribution d'informations pour les applications d'assurance-vie. Ils construisent des produits pour simplifier le processus d'obtention d'assurance pour les utilisateurs finaux. Ils avaient besoin d'une équipe pour maintenir l'excellence de la qualité logicielle, et c'est ainsi qu'ils ont trouvé Elinext.
Description du Projet
Notre client avait besoin d'une équipe de développement dont la taille et les capacités seraient suffisantes pour comprendre toute la charge de travail liée à leurs plateformes numériques.
Ils devaient augmenter une partie du travail à une équipe expérimentée de concepteurs de logiciels, et ils ont choisi de s'adresser à Elinext avec la demande de superviser l'assurance qualité de leur plateforme. Leur objectif principal était de déléguer cette partie du processus de développement à des professionnels expérimentés. Les tâches d'Elinext sont : s'assurer que la plateforme est exempte de bugs, conforme aux normes de l'industrie, et un produit de haute qualité dans l'ensemble.
Défis
Le principal défi était de s'assurer que la plateforme numérique de notre client pour l'industrie de l'assurance était exempte de défauts, répondait aux exigences réglementaires du secteur et offrait une expérience utilisateur fluide. Le projet est immense car l'entreprise cliente a plus de 20 ans d'expérience dans l'industrie, dont la majorité implique notre coopération, et ils ont besoin de services QA continus. Leur projet exige des tests rigoureux sur plusieurs appareils, navigateurs et scénarios pour empêcher tout problème potentiel d'atteindre les utilisateurs finaux.
Les objectifs commerciaux donnés à Elinext :
- S'assurer que la fonctionnalité de la plateforme est fiable et sans erreur.
- Atteindre la conformité aux normes de l'industrie.
- Augmenter la satisfaction des utilisateurs en livrant un produit stable et de haute qualité.
Le besoin de pratiques QA rigoureuses était motivé par la complexité croissante des plateformes numériques dans le secteur de l'assurance et la nécessité de se conformer aux réglementations évolutives de l'industrie. Le défi était continu dans le cadre du cycle de développement, et notre équipe QA a été sollicitée pour fournir une expertise dédiée en tests et assurance qualité. Notre entreprise a été sélectionnée pour notre expertise approfondie en QA pour les logiciels financiers et d'assurance. Notre bilan éprouvé dans la livraison de produits de haute qualité, sans défaut, a été un différenciateur clé.
Processus
Notre collaboration avec le client, le propriétaire du produit, était étroite. Nous avons régulièrement des réunions de synchronisation et leur fournissons des rapports de bugs détaillés. La communication est évaluée comme fluide des deux côtés, et les problèmes qui sont survenus ont été rapidement résolus.
L'approche de notre équipe incluait les éléments suivants :
- Planification complète des tests et développement de stratégie, y compris les tests basés sur les risques.
- Tests manuels et automatisés pour couvrir toutes les exigences fonctionnelles et non fonctionnelles.
- Tests cross-browser et cross-device pour assurer une expérience utilisateur cohérente sur toutes les plateformes.
- Tests de performance pour s'assurer que la plateforme gère les charges élevées sans dégradation.
Les tests livrés par notre équipe suivent le même scénario :
Étape 1 : Planification des Tests et Développement de Stratégie - Développement d'un plan de test complet basé sur les exigences du projet.
Étape 2 : Exécution des Tests - Réalisation de tests manuels et automatisés à travers différentes étapes du projet.
Étape 3 : Rapport de Bugs et Résolution - Collaboration avec l'équipe de développement pour assurer une résolution rapide des problèmes.
Étape 4 : Validation Finale et Sign-off - Conduite de tests finaux pour s'assurer que tous les problèmes ont été résolus avant le lancement du produit.
Notre client est ravi de notre équipe et des processus que nous avons adoptés et prévoit d'utiliser notre équipe QA pour tous leurs futurs projets web.
Solution
Comme nous fournissons des services QA complets pour notre client, il est difficile d'identifier une solution unique aux défis présentés. Cependant, nous pouvons décrire les types de tests que nous effectuons et les frameworks que nous utilisons dans le processus.
L'équipe QA a implémenté un framework d'automatisation robuste et flexible utilisant le framework de test Playwright, conçu pour répondre aux besoins complexes de test d'une application monolithique.
La solution a été construite autour des composants clés suivants :
-
Adoption du Framework Playwright
Tests Cross-Browser
- La capacité de Playwright à exécuter des tests sur plusieurs navigateurs et environnements a été exploitée pour assurer la compatibilité entre Chrome, Edge, macOS et Windows.
Tests API
- Le framework a été conçu pour valider les services API, en se concentrant sur la validation des entrées/sorties de données, l'amélioration des performances et la cohérence des messages.
-
Architecture de Test
Modèle de Pyramide de Test
- L'architecture a suivi le modèle de pyramide de test, priorisant les tests unitaires pour les composants individuels, les tests d'intégration pour les interactions entre composants, et les tests end-to-end pour les flux de travail complets de l'application.
Tests Unitaires
- Concentrés sur l'assurance que les fonctions et composants individuels fonctionnent correctement en isolation.
Tests d'Intégration
- Validation que différents composants et services fonctionnent ensemble comme prévu, avec un focus particulier sur les interactions API et la validation des données.
Tests End-to-End
- Simulation des interactions utilisateur réelles pour valider des flux de travail entiers, fournissant le plus haut niveau de confiance dans la fiabilité de l'application.
-
Modèle d'Objet de Données
Un modèle d'objet de données robuste a été construit pour supporter une gestion flexible et fiable des données de test. Ce modèle a permis à l'équipe de gérer des scénarios de données complexes, tels que les entrées et sorties de données spécifiques aux fournisseurs.
-
Fonctionnalités du Framework d'Automatisation
Reporting et Analyse
- Le framework incluait des fonctionnalités de reporting avancées, permettant de grouper les résultats de test par fournisseurs, fonctions et priorités (par exemple, tests de régression, tests de fumée).
Fonction de Comparaison PDF
- Une fonction spécialisée a été développée pour comparer les sorties PDF, assurant que les données étaient précisément reflétées dans les documents générés.
Intégration CI/CD
- Le framework a été intégré aux pipelines GitLab CI/CD, permettant l'exécution automatisée des tests à chaque changement de code, assurant ainsi une assurance qualité continue.
Modèle d'Objet de Page
- Pour les tests UI, un Modèle d'Objet de Page de base a été créé pour rationaliser la création et la maintenance des cas de test à travers différentes pages et composants.
-
Implémentation Initiale des Cas de Test
Tests Business/Workflow
- Les cas de test ont été conçus pour couvrir le flux de travail business complet, de la création de nouveaux cas à la vérification des mises à jour de statut et des sorties de données finales.
Tests d'Intégration
- Concentrés sur la validation des services API, assurant la précision des données et maintenant la cohérence de la base de données.
-
Validation PDF
Des cas de test ont été développés pour valider que les données étaient correctement représentées dans les PDF générés par l'application.
-
Amélioration Continue et Adaptation
L'équipe QA a continuellement construit et mis à jour le modèle d'objet de données pour s'adapter aux nouveaux fournisseurs et versions d'application. Ils ont également amélioré les capacités de test de performance et révisé les tests API pour assurer une fiabilité continue.
Résultats
L'équipe QA d'Elinext travaille avec notre client d'assurance basé aux États-Unis depuis environ une décennie, supervisant tous les services QA pour eux. Au cours de notre collaboration, notre client a constaté une réduction significative des défauts post-lancement et une augmentation de la satisfaction client car ils disposent maintenant d'une plateforme plus stable et fiable. S'assurer que leur logiciel reste conforme à toutes les réglementations requises de l'industrie, tout en étant fiable et stable, est une responsabilité que notre équipe QA continue de gérer avec excellence. Nous poursuivons notre coopération fructueuse depuis des années, et c'est mutuellement bénéfique.