Veuillez laisser vos coordonnées, nous vous enverrons notre aperçu par e-mail.
Je consens à ce que mes données personnelles soient traitées afin d'envoyer du matériel de marketing personnalisé conformément à la directive sur la protection des données. Politique de confidentialité. En confirmant la soumission, vous acceptez de recevoir du matériel de marketing
Merci !

Le formulaire a été soumis avec succès.
Vous trouverez de plus amples informations dans votre boîte aux lettres.

Innowise est une société internationale de développement de logiciels à cycle complet fondée en 2007. Nous sommes une équipe de plus de 1600+ professionnels de l'informatique développant des logiciels pour d'autres professionnels dans le monde entier.
À propos de nous
Innowise est une société internationale de développement de logiciels à cycle complet fondée en 2007. Nous sommes une équipe de plus de 1600+ professionnels de l'informatique développant des logiciels pour d'autres professionnels dans le monde entier.

Automatisation des tests d'applications web : 50% moins de bogues en production

Innowise a intégré tests automatisés d'applications web afin d'assurer des cycles de développement de logiciels rapides et exempts de bogues.

Client

Industrie
Télécom
Région
Belgique
Client depuis
2023

Notre client est un important fournisseur de services de communication spécialisé dans les solutions de connectivité Internet, la vente de modems, l'approvisionnement en cartes SIM et la mise en place de bouquets de télévision.

Les informations détaillées concernant le client ne peuvent pas être divulguées dans le cadre de l'accord de confidentialité.

Défi

Améliorer les processus de test afin d'accélérer la mise à disposition de logiciels de haute qualité

L'équipe de développement interne du client avait initialement mis en place un cadre personnalisé pour effectuer des tests automatisés sur leur application web. Cependant, ce cadre ne répondait pas aux normes attendues, ce qui se traduisait par des tests instables. L'instabilité a été aggravée par un manque d'intégration correcte avec le système d'intégration continue (CI). Cela a entraîné des retards dans les boucles de rétroaction et une augmentation des interventions manuelles de la part des équipes d'assurance qualité.

Face à ces défis, le client nous a demandé de lui fournir une solution robuste qui rationaliserait ses processus de test, réduirait les bogues de régression et accélérerait ses cycles de publication.

Solution

Améliorer les capacités d'assurance qualité grâce à l'automatisation stratégique des tests

En relevant les défis du client, nous nous sommes attachés à élaborer une solution sur mesure qui améliorerait sa situation processus d'assurance qualité. Reconnaissant les inefficacités et les limites de leur cadre de test personnalisé existant, nous avons entrepris de développer une stratégie de test plus robuste, plus évolutive et plus efficace, adaptée spécifiquement à leurs besoins.

Personnalisation et intégration du cadre

Sur la base de notre expérience en matière de tests automatisés d'applications webPour cette raison, nous avons élaboré une stratégie à deux cadres, employant à la fois Cypress et Playwright pour les tests de bout en bout. Nous avons choisi ces cadres en raison de leurs attributs uniques, qui sont reconnus pour leur stabilité, leur robustesse et leur compatibilité avec divers navigateurs et environnements.

Intégration de Cypress

Nos ingénieurs du CQA ont choisi Cypress pour ses capacités exceptionnelles de test de bout en bout. L'une des caractéristiques les plus remarquables de Cypress est son accès natif aux API des navigateurs, sans passer par des serveurs intermédiaires. Cela accélère considérablement l'exécution des tests et réduit la complexité des tests de bout en bout. Nous avons personnalisé Cypress pour qu'il s'intègre de manière transparente aux applications web du client, permettant l'exécution de tests en temps réel et des capacités de tests visuels. Cette configuration nous a permis de simuler avec plus de précision les interactions réelles des utilisateurs. Cela garantit que toutes les voies d'accès des utilisateurs ont été testées de manière approfondie avant que le code ne soit transféré à la production. Innowise a mis en œuvre le lancement des tests Cypress au sein de GitLab, démontrant la réussite des tests sur un serveur distant après le déploiement. Cela confirme la robustesse et la fiabilité de notre cadre de test dans un environnement d'intégration continue.

Intégration du dramaturge

En revanche, Playwright s'est avéré idéal pour les tests frontaux et les tests API en raison de sa capacité à exécuter des tests sur tous les principaux navigateurs avec une configuration minimale. Il prend en charge les tests en mode headless, ce qui est crucial pour les environnements CI, et offre des outils robustes pour gérer les événements asynchrones et les interactions de pages complexes. Nous avons exploité la fonction d'exécution parallèle des tests de Playwright pour exécuter plusieurs tests simultanément dans différents environnements, ce qui a permis de réduire considérablement la durée totale des tests. En outre, le riche ensemble API de Playwright nous a permis de créer des scripts de test personnalisés qui imitent les comportements et les interactions complexes des utilisateurs. Cela a amélioré la couverture et la fiabilité de nos tests. En outre, nous avons réalisé des rapports complets à l'aide Allure pour suivre les résultats des tests, ce qui nous a permis d'obtenir des informations et des analyses claires à partir de nos intégrations Playwright.

Personnalisation stratégique

Nous avons configuré chaque cadre pour l'aligner sur l'infrastructure existante du client. L'équipe d'Innowise a introduit des plugins et des extensions qui ont amélioré la fonctionnalité des frameworks et ont permis l'intégration avec d'autres outils dans la pile technologique du client. Par exemple, nous avons intégré Cypress aux services d'authentification du client pour gérer les connexions sécurisées pendant les tests. Nous avons également configuré Playwright pour capturer automatiquement des captures d'écran et des vidéos à des fins d'examen en cas d'échec des tests.

Intégration de CI

Les ingénieurs du CQA ont intégré Cypress et Playwright dans le pipeline CI sur Gitlab. Cette intégration nous a permis de mettre en place des exécutions de tests automatisées qui ont été déclenchées par chaque validation de code. En automatisant ces exécutions, nous nous sommes assurés que tout code nouveau ou modifié faisait l'objet de tests approfondis avant d'avancer dans le cycle de développement. Cette configuration a non seulement accéléré le processus de test, mais a également permis de détecter les bogues et les problèmes le plus tôt possible. Cela a permis de réduire le risque que des défauts atteignent la production. La fusion transparente de ces frameworks avec Gitlab CI a également facilité un flux de travail plus fluide, permettant aux développeurs de se concentrer davantage sur le développement des fonctionnalités et moins sur les tâches de test répétitives.

Rapports sur GitLab

Pour renforcer encore les processus d'assurance qualité, nous avons capitalisé sur les outils de reporting avancés de Gitlab, en nous concentrant spécifiquement sur l'amélioration de la transparence et de la responsabilité entre l'équipe d'assurance qualité et le personnel d'encadrement. En adaptant ces outils pour générer des rapports détaillés en temps réel, nous avons fourni une ressource inestimable aux deux équipes pour accéder à des données de dernière minute sur l'état des différents tests.

Ces rapports ont été conçus pour être complets tout en étant faciles à interpréter. Ils comprennent des mesures clés telles que la couverture des tests, les taux d'échec et les temps d'exécution. Ce niveau de détail a permis aux responsables d'évaluer rapidement l'efficacité des tests et d'identifier les domaines nécessitant une attention particulière, sans avoir besoin de connaissances techniques approfondies. Pour l'équipe du CQA, ces rapports ont constitué un outil essentiel pour suivre les progrès, identifier les problèmes récurrents et valider la qualité de la base de code.

Développement de l'architecture

Innowise a développé une architecture de test évolutive conçue pour accueillir une gamme variée de tests, y compris des tests de fumée, des tests de régression et des tests complets de bout en bout. Cette architecture a été conçue pour répondre aux besoins immédiats du projet et fournir une base pour les initiatives de test futures. La nature modulaire de l'architecture a permis une adaptation et une mise à l'échelle aisées. Ainsi, à mesure que les exigences du client évoluaient, le cadre de test pouvait lui aussi évoluer sans nécessiter de modifications importantes.

Notre approche comprenait la mise en place d'un système centralisé de gestion des tests qui facilitait l'organisation et le suivi des cas de test, des résultats et des mesures. Ce système a joué un rôle essentiel dans la gestion de la complexité des multiples types de tests et dans la mise en place d'un flux de travail cohérent au cours des cycles de test. En mettant en œuvre des fonctions robustes d'enregistrement des données et d'analyse des résultats, nous avons fourni à l'équipe d'assurance qualité les outils nécessaires pour effectuer des évaluations détaillées de chaque cycle de test, ce qui est essentiel pour maintenir des normes élevées de qualité des logiciels.

Lancer des tests dans l'outil Xray Jira

Pour améliorer encore les processus d'assurance qualité, nous avons lancé des tests à l'aide de l'outil Xray Jira. Cette intégration nous a permis de suivre et de gérer les cas de test directement dans Jira, rationalisant ainsi la communication et la collaboration entre les équipes d'assurance qualité et de développement. En tirant parti des puissantes capacités de gestion des tests de Xray, nous avons conservé une vue d'ensemble des activités de test. L'équipe d'assurance qualité a également suivi la traçabilité des exigences jusqu'aux défauts, et a généré des rapports détaillés sur la couverture et l'exécution des tests. Cette intégration a considérablement renforcé notre capacité à identifier et à résoudre rapidement les problèmes, ce qui nous a permis de fournir des logiciels de haute qualité.

Formation et autonomisation

Reconnaissant le rôle critique du transfert de connaissances dans le succès de toute mise en œuvre technologique, nous avons organisé des sessions de formation approfondies spécifiquement adaptées à Cypress, étant donné son rôle central dans la stratégie de test du client. Ces sessions ont été structurées de manière à permettre aux équipes internes du client d'acquérir l'expertise nécessaire pour utiliser, maintenir et étendre les cadres de test de manière indépendante.

La formation a couvert une série de sujets essentiels, depuis l'installation et la configuration de base des outils de test jusqu'aux fonctionnalités avancées telles que les scripts d'automatisation des tests et la gestion de l'environnement. Nous avons également inclus des exercices pratiques conçus pour répondre à des scénarios réels auxquels l'équipe pourrait être confrontée, afin d'améliorer leurs compétences en matière de résolution de problèmes et leur confiance dans l'utilisation des outils.

Au-delà de la formation technique, nous avons souligné l'importance d'un état d'esprit stratégique dans les pratiques d'assurance qualité. Nous avons guidé l'équipe sur la façon de planifier et d'exécuter des tests qui s'alignent sur les objectifs plus larges de l'entreprise. Cette approche a permis de s'assurer que l'équipe n'était pas seulement compétente dans l'utilisation de la technologie, mais aussi dans l'intégration des processus d'assurance qualité dans leurs flux de travail quotidiens.

Technologies

Back-end

REST API, JSON, Java

Design

Figma, Sketch, Zeplin

Services

Firebase (Analytics, Crashlytics, Cloud Messaging, App Distribution), GitLab, Jira, Confluence, Strapi, Slack

CQA

Test unitaire + intégration CI/CD via SonarQube, Cypress, Playwright

Processus

Découverte et planification

Le projet a démarré par des réunions de découverte afin de comprendre en profondeur les besoins et les défis spécifiques du client. Cette phase a été cruciale pour la mise en place de Cypress et de Playwright, pour s'assurer de leur compatibilité avec les systèmes existants du client et pour préparer le terrain pour une intégration transparente.

Développement et intégration

Nous avons personnalisé Cypress et Playwright pour répondre aux exigences uniques du client en matière de tests, et intégré ces frameworks dans le pipeline CI de GitLab. Cette intégration a permis d'automatiser le processus de test, ce qui permet de détecter et de résoudre rapidement les problèmes, et d'accélérer le cycle de développement.

Formation et transfert

Notre spécialiste du CQA a organisé des sessions de formation complètes sur Cypress afin de doter l'équipe du client des compétences nécessaires pour gérer et optimiser les cadres de test de manière indépendante. Ils ont également fourni une documentation détaillée et les meilleures pratiques pour soutenir la maintenance et l'amélioration continues des systèmes.

Communication et gestion de projet

Tout au long du projet, nous avons maintenu une communication transparente via Slack et géré les tâches et les progrès via Jira. Cette approche a permis de s'assurer que toutes les parties prenantes étaient alignées de manière cohérente et que le projet était bien coordonné et sur la bonne voie.

Équipe

1

Chef de projet

1

Chef d'équipe

1

Ingénieur automaticien en chef de l'assurance qualité

1

Analyste des données de test

4

Ingénieurs QA en automatisation / experts SDET

Résultats

Un cycle de mise à disposition des logiciels plus rapide et deux fois moins de bogues en production

Après la mise en œuvre réussie des cadres de tests automatisés, le client est passé à un environnement d'automatisation des tests robuste qui apporte des améliorations opérationnelles significatives.

  • Amélioration de l'efficacité de la libération : L'automatisation a permis de réduire considérablement la dépendance à l'égard des tests manuels, qui prennent beaucoup de temps, et d'accélérer le cycle de mise à disposition des logiciels.
  • Réduction des bogues : L'amélioration des capacités de test s'est traduite par une diminution de 50% des bogues de régression, démontrant ainsi l'efficacité des processus d'automatisation des tests.
  • Amélioration de la stabilité de l'environnement de test : En affinant et en optimisant les configurations de test, nous avons considérablement réduit l'occurrence des tests défectueux, ce qui a permis d'obtenir des résultats plus cohérents et plus fiables.

Cette refonte stratégique a permis de relever les défis initiaux du client grâce à une approche technologique sur mesure et à des conseils d'experts. En dotant l'équipe d'outils de pointe et de connaissances approfondies, nous avons jeté les bases d'une évolutivité permanente et d'améliorations opérationnelles continues.

Durée du projet
  • Août 2023 - En cours

3x

un déploiement plus rapide des versions

50%

moins de bogues en production

Contactez nous!

Réserver un appel ou remplissez le formulaire ci-dessous et nous vous contacterons dès que nous aurons traité votre demande.

    S’il vous plaît, ajouter les détails du projet, la durée, la pile technologique, IT spécialistes nécessaires et d'autres informations pertinentes
    S’il vous plaît, ajouter les détails du projet, la durée, la pile technologique, IT spécialistes
    nécessaires et d'autres informations pertinentes
    Joindre des documents supplémentaires au besoin
    Charger file

    Vous pouvez joindre jusqu'à 1 fichier de 2MB au total. Fichiers valides : pdf, jpg, jpeg, png

    Nous vous informons que lorsque vous cliquez sur le bouton Envoyer, Innowise traitera vos données personnelles conformément à notre Politique de confidentialité dans le but de vous fournir des informations appropriées.

    Que se passe-t-il ensuite?

    1

    Après avoir reçu et traité votre demande, nous reviendrons vers vous pour détailler les besoins de votre projet et signer un accord de non-divulgation pour assurer la confidentialité des informations.

    2

    Après avoir examiné les exigences, nos analystes et nos développeurs élaborent une proposition de projet avec l'étendue des travaux, le nombre de membre de l'équipe, les délais et les coûts des coûts.

    3

    Nous organisons une réunion avec vous pour discuter de l'offre et parvenir à un accord.

    4

    Nous signons un contrat et commençons à travailler sur votre projet le plus rapidement possible.

    Merci !

    Votre message a été envoyé.
    Nous traiterons votre demande et vous recontacterons dès que possible.

    Merci !

    Votre message a été envoyé.
    Nous traiterons votre demande et vous recontacterons dès que possible.

    flèche