Webinaire en vedette : MISRA C++ 2023 : tout ce que vous devez savoir | Voir le séminaire

Temps de lecture: 5 minutes

Vue d'ensemble

Alaska Airlines est principalement un transporteur de la côte ouest qui dessert les États de l'Alaska et d'Hawaï avec le milieu du continent et des destinations au Canada et au Mexique. Alaska Airlines a reçu la reconnaissance de JD Powers « La plus haute satisfaction client parmi les transporteurs traditionnels » pendant douze années consécutives, remportant même récemment la première place dans toutes les catégories sauf une.

Une grande partie du crédit appartient à leur équipe de test de logiciels. Leur approche proactive et de pointe pour perturber le processus de test logiciel traditionnel garantit que les testeurs peuvent tester plus rapidement, plus tôt et plus complètement.

Découvrez comment Ryan Papineau et son équipe ont utilisé l'automatisation avancée de concert avec la virtualisation des services pour tester rigoureusement leur logiciel complexe de gestion des opérations aériennes. Le résultat : des opérations qui se déroulent sans heurts, même si elles rencontrent une tempête de neige en juillet.

Regardez un aperçu de la présentation d'Alaska Airlines lors du récent Sommet automatisé sur les tests et la qualité des logiciels. Découvrez comment ils ont utilisé la virtualisation pour mettre à l'échelle efficacement les tests de leur application d'opérations de vol complexe.

PRÉSENTATION COMPLÈTE DISPONIBLE ICI >>

Les défis

Chez Alaska Airlines, le logiciel de gestion des opérations aériennes est responsable du transport de 46 millions de clients vers 115 destinations mondiales via environ 440,000 XNUMX vols par an, de manière sûre et efficace. Ce logiciel coordonne un ensemble très complexe d'entrées des systèmes de l'organisation pour garantir que les vols sont à l'heure tout en évaluant et en gérant les besoins en carburant, fret, bagages et passagers.

En plus des exigences mentionnées précédemment, le système prend en compte de nombreux facteurs, notamment les conditions météorologiques, les caractéristiques de l'avion, le marché et les coûts de carburant. Il est très complexe avec de nombreuses dépendances (voir Figure 1) et fonctionne comme le cœur d'une compagnie aérienne bien gérée.

Image de l'architecture de l'environnement de production d'Alaska Airlines
Architecture de l'environnement de production d'Alaska Airlines

Dépendances complexes et environnements de test en constante évolution

La complexité et le grand nombre de services essentiels en tant que dépendances ont rendu presque impossible pour Alaska Airlines de créer des tests reproductibles. De plus, l'environnement de test était partagé avec d'autres équipes et en constante évolution. Les changements ont eu un impact sur le logiciel de gestion de vol et ont nécessité un suivi et un débogage persistants. La résolution continue de ces problèmes a entravé leurs propres progrès en matière de développement.

Mise à jour de plusieurs bases de données à différentes fréquences

La gestion des données était un autre problème important. Cela impliquait la mise à jour de diverses bases de données dans tout le système à différents intervalles, faisant de la gestion des données de test un énorme défi. Les divers services du système constituaient un autre défi majeur. Il était presque impossible de simuler des événements du monde réel dans un système de production en cours d'exécution.

L'approche

Compte tenu de la nécessité de découpler leur application en cours de test d'un environnement très complexe et en constante évolution, Alaska Airlines s'est tournée vers la virtualisation des services comme solution à ses problèmes de test. Alaska Airlines a initialement sélectionné le Broadcom outil de virtualisation des services, mais a découvert qu'il était difficile à utiliser et s'est écrasé sous la charge dans leur environnement. Ils se sont tournés vers Parasoft pour une solution qui répondait à leurs besoins en termes de facilité d'utilisation, de fonctionnement et d'évolutivité fiables, et de support technique de premier ordre.

Tests reproductibles, concis et précis

Ils utilisent Parasoft Virtualiser de découpler leur application sous test de la myriade de dépendances dans leur environnement de test complexe. Alaska Airlines a commencé à utiliser la virtualisation des services comme proxy entre ses appareils clients et les services Web de l'aéroport. Ils ont parcouru divers scénarios pour capturer les demandes et les réponses.

Une vue simplifiée de l'environnement de test virtualisé d'Alaska Airlines.
Une vue simplifiée de l'environnement de test virtualisé d'Alaska Airlines.

Ces scénarios capturés sont devenus la base de tests reproductibles, concis et précis pour une utilisation ultérieure. Cependant, ce n'était qu'un aspect du fonctionnement de leur système.

Environnements virtualisés pour chaque système clé

L'isolation complète des applications nécessitait plus de virtualisation et gestion des données de test. L'environnement de virtualisation d'Alaska Airline comprenait le remplacement de tous les systèmes clés par leurs équivalents virtualisés, comme le montre la figure 3.

Vue du sous-système d'Alaska Airlines. Chacun de ces principaux systèmes a été virtualisé pour découpler le gestionnaire de vol pour les tests.
Vue du sous-système d'Alaska Airlines. Chacun de ces systèmes majeurs a été virtualisé pour découpler le gestionnaire de vol pour les tests.

La gestion des données de test était essentielle pour résoudre le problème des bases de données incohérentes dans leur environnement réel. Alaska Airlines a découplé l'application des bases de données dépendantes du monde réel en utilisant les capacités de gestion des données de test de Parasoft Virtualize. Ils ont utilisé IBM Optim en conjonction avec des transformations de données T-SQL personnalisées par rapport aux données capturées à l'aide de Parasoft Virtualize.

Alaska Airlines a capturé suffisamment de données pour une journée complète d'opérations réelles. Ensuite, l'a déployé dans l'environnement de test pour créer un ensemble de scénarios « Jour de la marmotte » — répétant les mêmes événements et réponses pendant un cycle complet de 24 heures, en progressant dans le temps tout en gardant les scénarios cohérents.

Simulations avancées pour des tests robustes

La solution d'Alaska Airlines pour ses services passagers est un point de fierté. Grâce à la virtualisation des services, ils ont pu simuler le cycle de vie complet des passagers (réservation, enregistrement, embarquement) pour tous les types de vols dans leur système.

L'interaction du pilote avec la répartition et les ravitailleurs n'est que quelques-unes des interactions qu'ils ont avec le système de gestion de vol du système. Il est quasiment impossible de coordonner ces interactions en temps réel sans impacter les ressources de production et le personnel.

L'équipe a simulé ces interactions complexes avec les répartiteurs et les ravitailleurs. Obtenir des résultats cohérents et ne plus avoir besoin de faire appel à du personnel essentiel pour exploiter la compagnie aérienne.

Resultats

Alaska Airlines s'est libérée des limites des tests dans un environnement réel complexe et volatil - pour tester l'intestable. Une fois leur environnement de test de système de gestion de vol découplé de ses nombreuses dépendances, ils ont récolté les fruits avantages de la virtualisation des services.

Capacité de test accrue

Une fois l'adoption terminée, ils sont devenus des utilisateurs avertis. Alaska Airlines a augmenté sa capacité de test pour inclure le clonage des données de test, la fabrication de scénarios et la création de tests où les scénarios s'exécutaient en continu, augmentant considérablement la testabilité de leur application testée.

«Si vous pouvez le rêver, vous pouvez le construire. Nous sommes essentiellement passés de l'état non testable à testable à maintenant une demande florissante pour davantage de ces capacités. »

—Ryan Papineau, ingénieur logiciel senior chez Alaska Airlines

Élimination des faux positifs et perte de temps

Ils ont 500 cas de test automatisés qui exploitent cet environnement de test virtualisé. Ces cas de test s'exécutent selon les besoins, améliorant ainsi leur exécution automatisée par ordre de grandeur par rapport aux modèles de test conventionnels d'attente et de recherche.

Grâce à toutes ces simulations et automatisations, les testeurs peuvent tester n'importe quel scénario qu'ils souhaitent, quand ils le souhaitent. Leurs tests sont désormais 100% fiables et reproductibles. Ils ont éliminé toutes les variables qui causaient auparavant des faux positifs et une perte de temps. Permettre aux testeurs d'accéder instantanément aux configurations exactes de l'environnement de test que leurs plans de test appellent aide Alaska Airlines à assurer des opérations de vol fluides face à tout, d'une brève panne de contrôle du trafic aérien à l'improbable tempête de neige de juillet.

Avantages de la solution

Une autre expérience d'apprentissage clé et un avantage pour Alaska Airlines a été un changement culturel qui a rendu l'organisation plus ouverte à essayer de nouvelles choses. Désormais, plus le problème à résoudre est important, plus l'adoption de nouvelles techniques et de nouveaux outils est facile pour l'organisation. Les avantages offerts par la solution de virtualisation des services Parasoft à leur équipe sont les suivants.

Découplage de l'environnement de production complexe, ce qui a permis à Alaska Airlines d'isoler leur application et de générer les cas de test et l'environnement qui accéléreraient leurs tests.

Scénarios de test reproductibles, concis et précis ont été d'une valeur inestimable pour Alaska Airlines et leur ont permis d'adapter les types et la fréquence de leurs tests. L'équipe a développé et personnalisé des scénarios selon les besoins et injecté des scénarios spécifiques pour des cas de test spéciaux. La répétabilité de ces tests a accéléré les cycles de développement et la cohérence a supprimé un sérieux défi qu'ils avaient avec l'environnement d'exploitation réel.

Environnements de test parallèles réduit l'impact du temps d'attente. La possibilité de cloner et de personnaliser des scénarios a permis à Alaska Airlines d'accélérer son cycle de test simulé. La parallélisation a accéléré les tests, mais a également signifié que des scénarios spécifiques dépendant du temps se sont produits dans des délais plus courts.

Gestion des données de test a permis à l'équipe de découpler les bases de données de production et d'assurer la cohérence des données, ce qui a entravé l'environnement d'exploitation d'Alaska Airlines. Ils ont réutilisé les données de test capturées à partir de systèmes du monde réel pour créer des scénarios de test réalistes difficiles à coordonner en temps réel. La gestion des données de test de Parasoft Virtualize a permis à l'équipe de répliquer les bases de données de manière cohérente et en quelques minutes. Quelque chose de difficile à réaliser dans leur environnement réel.

Trouvez le point de départ idéal pour la virtualisation des services pour votre équipe et identifiez le meilleur modèle de déploiement pour vos besoins.

  • Industrie: Voyages et hôtellerie
  • Taille de l'entreprise: 23,000
  • Lieu: Seattle, Washington
  • Solution: Virtualiser