Maison  >  Article  >  Périphériques technologiques  >  Tests d'automatisation des hôtes de production basés sur l'IA

Tests d'automatisation des hôtes de production basés sur l'IA

PHPz
PHPzavant
2024-02-26 11:34:18983parcourir

Traducteur | Chen Jun

Reviewer | Chonglou

La migration du code et des données des applications mainframe traditionnelles vers une architecture technologique moderne est considérée comme une étape clé dans le développement numérique des entreprises. Dans un souci d'efficacité et d'évolutivité, cette transition implique souvent la migration des environnements mainframe traditionnels vers des solutions de cloud computing ou sur site plus flexibles. De telles transformations aident les entreprises à atteindre une plus grande agilité et innovation tout en réduisant les coûts et en améliorant la sécurité. Cette migration peut également apporter à l’entreprise une meilleure utilisation des ressources et une réactivité plus rapide au marché. Les entreprises doivent planifier et exécuter cette transition avec soin pour garantir que le processus de migration des données et de reconstruction des applications se déroule sans problème afin d'assurer la continuité des activités et la sécurité des données. En migrant les applications mainframe traditionnelles vers une architecture technologique moderne, les entreprises peuvent mieux s'adapter aux demandes en évolution rapide du marché et atteindre

Tests dautomatisation des hôtes de production basés sur lIA

Cependant, avec les changements dynamiques de l'environnement commercial, le processus de migration deviendra également plus compliqué. Il ne s’agit pas seulement d’un redéploiement technique des ressources, mais aussi d’un changement fondamental, qui nécessite donc souvent des tests rigoureux pour garantir l’équivalence des différentes fonctions, préservant ainsi l’intégrité opérationnelle et la standardisation de l’application.

Dans le même temps, après la migration, les applications sont souvent contraintes de subir des modifications importantes en raison de nouvelles exigences, de stratégies commerciales en évolution et de changements dans les normes réglementaires. Et chaque modification, qu'il s'agisse d'un ajustement mineur ou d'une « rénovation » majeure, doit subir des tests rigoureux. Le défi le plus crucial consiste à garantir que les nouveaux changements s’intègrent harmonieusement aux fonctionnalités existantes sans provoquer de conséquences ou de perturbations involontaires. On constate que la double exigence de vérifier les nouvelles fonctions et de conserver les fonctions existantes souligne l’importance des suites de tests automatisés après la migration.

Ces dernières années, la large application de l'IA générative (GenAI) a rayonné dans divers domaines. S'il est introduit dans le processus de modernisation des mainframes, on s'attend non seulement à ce que les entreprises obtiennent des améliorations significatives en termes de qualité des logiciels, d'efficacité opérationnelle, etc., mais il entraînera également des changements fondamentaux dans les concepts de développement de logiciels et d'assurance qualité, permettant aux entreprises pour obtenir à terme des retours sur investissement considérables.

Je discuterai avec vous de la manière d'exploiter les méthodologies, outils et meilleures pratiques de tests automatisés appropriés pour garantir que la qualité et les performances inhérentes aux applications mainframe modernes sont maintenues pendant une transition technologique en douceur.

Concept de test manuel traditionnel

Pendant longtemps, les grands environnements mainframe ont été réticents à accepter les méthodes de test automatisées. L'Enquête mondiale 2019, menée conjointement par Compuware et Vanson Bourne, montre que seulement 7% des personnes interrogées ont adopté des cas de tests automatisés pour les applications mainframe, ce qui suffit à illustrer l'attitude de l'industrie à cet égard.

Le dilemme des tests manuels

En revanche, les tests manuels sont une méthode traditionnelle couramment utilisée par de nombreuses entreprises. Cependant, dans le processus complexe de modernisation des mainframes, cette approche devient de plus en plus inadéquate et sujette aux erreurs. Après tout, les ingénieurs de test doivent vérifier manuellement chaque scénario et chaque règle métier. Ce processus comporte de nombreux risques d'erreur humaine. De plus, étant donné la nature à haut risque et critique de nombreuses applications mainframe, une erreur subtile lors du processus de test est négligée et peut entraîner de graves problèmes de production, des temps d'arrêt importants et même des pertes financières. Cette lacune devient donc particulièrement importante. De plus, les tests manuels présentent également les défauts suivants :

1. Omissions et inexactitudes : le traitement manuel d'un grand nombre de cas de test augmentera le risque de scénarios clés manquants et de vérification des données inexactes.

2. Longues : les méthodes manuelles nécessitent beaucoup de temps pour tester minutieusement chaque aspect, elles ne sont donc pas efficaces dans des environnements de développement au rythme rapide.

3. Problème d'évolutivité : à mesure que l'application se développe et évolue, la charge de travail requise pour les tests manuels augmentera de façon exponentielle, rendant impossible l'identification efficace des erreurs.

Certaines entreprises peuvent intuitivement penser à élargir leur équipe de tests manuels. Cependant, ce n’est pas une solution réalisable. Cette décision crée des inefficacités en termes de coûts et ne parvient pas à répondre aux limites inhérentes aux processus de tests manuels. Les entreprises doivent intégrer des processus de tests automatisés via des méthodes modernes telles que DevOps pour améliorer l'efficacité et réduire les erreurs.

La nécessité de l'automatisation des tests

Dans l'ensemble, en intégrant des processus de tests automatisés dans les applications mainframe modernes, les entreprises peuvent améliorer considérablement l'efficacité et la précision des migrations. Bien entendu, le taux d’adoption des tests automatisés dans les environnements mainframe n’est pas élevé. Certaines entreprises y voient un défi, tandis que d’autres y voient une énorme opportunité de transformation. Après tout, l’adoption de l’automatisation des tests n’est pas seulement une mise à niveau technologique, mais une démarche stratégique visant à réduire les risques, à gagner du temps et à optimiser l’utilisation des ressources.

Ce changement est essentiel pour les entreprises qui souhaitent rester compétitives et efficaces dans un environnement technologique en évolution rapide. Selon le "DevOps Status Report", les tests automatisés peuvent jouer un rôle important dans l'optimisation des flux de travail opérationnels et dans la garantie de la fiabilité des applications.

Qu'est-ce que les tests automatisés ?

Selon La définition d'Atlassian, les tests automatisés sont l'utilisation d'outils logiciels pour terminer automatiquement le processus d'examen et de vérification de produits logiciels pilotés manuellement. Sa vitesse, son efficacité et sa précision dépassent les limites des méthodes de test manuelles traditionnelles. Autrement dit, les tests automatisés contribuent à accélérer les modifications des applications tout en garantissant que leur qualité et leur fiabilité ne sont pas compromises. Les tests automatisés simplifient non seulement le processus de vérification des nouvelles modifications, mais surveillent également l'intégrité des fonctionnalités existantes, jouant ainsi un rôle clé dans la transition transparente et la maintenance continue des applications modernes.

Dans le but d'optimiser le processus de test logiciel, l'utilisation de tests automatisés nécessite souvent un investissement manuel initial, ce qui implique une compréhension par les ingénieurs de test de la logique métier complexe qui sous-tend l'application. Cette compréhension est cruciale pour générer efficacement des cas de tests automatisés à l'aide de frameworks tels que Selenium. Bien que cette étape consomme beaucoup de main d’œuvre, il s’agit d’un travail de base. Après tout, les tests automatisés ultérieurs réduiront considérablement le recours aux tests manuels, en particulier dans les scénarios de tests répétitifs et approfondis. De plus, une fois qu’un cadre d’automatisation est établi, il devient un mécanisme puissant d’évaluation continue des applications. Son avantage est qu’il est efficace pour identifier les erreurs ou les bugs pouvant survenir en raison des modifications apportées à l’application.

Méthodes de tests automatisés dans le processus de modernisation du mainframe

Dans le domaine de l'ingénierie logicielle, les tests automatisés pour la migration ou la modernisation à grande échelle des applications mainframe nécessitent souvent une compréhension globale de toutes les règles métier de l'application afin de Générez des scénarios de test automatisés pour les bases de code volumineuses, souvent constituées de millions de lignes de code. Il s'agit d'une tâche complexe et assez difficile. Étant donné qu'il est difficile d'atteindre une couverture de code à 100 %, nous devons trouver un équilibre entre la profondeur de la couverture des tests et la faisabilité pratique pour garantir que la logique métier critique puisse bénéficier d'une couverture de tests suffisante.

Dans ce cas, les technologies émergentes telles que GenAI offrent une possibilité. Il peut générer automatiquement des scripts de test automatisés pour simplifier le processus de test des projets de modernisation du mainframe et fournir une méthode plus efficace, précise et évolutive pour l'assurance qualité dans le développement de logiciels.

Utilisation étendue de GenAI

Avant d'examiner comment GenAI permet les tests automatisés dans la modernisation du mainframe, jetons un bref coup d'œil à GenAI. Fondamentalement, GenAI représente un aspect de l’intelligence artificielle. Il utilise des modèles génératifs pour générer divers textes, images ou autres médias. Ces modèles d'IA génératifs sont efficaces pour apprendre les modèles et les éléments structurels des données de formation d'entrée, puis générer de nouvelles données qui reflètent ces caractéristiques. Évidemment, de tels systèmes s’appuient principalement sur des modèles d’apprentissage automatique, notamment ceux du domaine du deep learning.

La génération de langage naturel (NLG) est une forme de GenAI fortement pertinente pour la modernisation des mainframes. Il peut produire un texte de type humain avec la prise en charge de grands modèles de langage (LLM). En règle générale, les LLM sont formés sur de vastes corpus de données textuelles, ce qui leur permet de discerner et de reproduire les nuances et la structure du langage. Cette formation leur permet donc d'effectuer diverses tâches de traitement du langage naturel, notamment la génération de texte, la synthèse de traduction et l'analyse des sentiments. Notamment, LLM est également compétent dans la génération de codes de programmes informatiques précis.

Actuellement, les cas d'utilisation bien connus de grands modèles de langage incluent : GPT-3 (Generative Pre-trained Transformer 3), BERT (Bidirectionnel Encoder Representations from Transformers) et T5 (Text-to-Text Transfer Transformer). Ces modèles sont généralement construits sur des réseaux de neurones profonds, notamment ceux utilisant l'architecture Transformer. Par conséquent, ils font preuve d’une excellente efficacité dans le traitement de données séquentielles telles que le texte. De grandes quantités de données de formation, comprenant des millions, voire des milliards de mots ou de documents, permettent à ces modèles de maîtriser un large éventail de langages de programmation. Non seulement ils excellent dans la génération de textes cohérents et contextuels, mais ils excellent également dans la prédiction de modèles linguistiques tels que la complétion de phrases ou la réponse à des requêtes.

Actuellement, certains grands modèles linguistiques peuvent également comprendre et générer du texte dans plusieurs langues, augmentant ainsi leur utilité dans le monde entier, depuis la fourniture d'une « intelligence » pour les chatbots et les assistants virtuels, jusqu'à la prise en charge de la génération de contenu, dans des domaines d'application tels que le langage. traduction et résumé, la polyvalence de LLM peut apporter d'excellentes performances.

Comment utiliser GenAI pour générer des scripts de test automatisés

Dans le domaine des tests logiciels, LLM peut nous aider à extraire la logique métier du code de l'application et à convertir ces règles dans un format lisible par l'homme, puis à générer le scripts de test automatisés correspondants. Dans le même temps, cela peut également nous aider à sélectionner le nombre nécessaire de cas de test pour répondre aux diverses exigences potentielles de couverture des fragments de code.

Habituellement, l'utilisation de GenAI pour générer des scripts de test automatisés pour le code d'application nécessite un processus structuré en trois étapes comme suit :

1 Utiliser GenAI pour extraire des règles métier : Dans un premier temps, nous devons utiliser GenAI pour. extraire les règles métier de l'application Affiner les règles métier. Ce processus jugera les règles extraites en fonction du niveau de détail et les interprétera dans un format lisible par l'homme. De plus, GenAI permet également d’acquérir une compréhension complète de tous les résultats potentiels d’un morceau de code donné. Ces connaissances sont essentielles pour garantir la création de scripts de test précis et pertinents.

2. Utilisez GenAI pour générer des scripts de test automatisés au niveau fonctionnel : sur la base de la logique métier extraite, les ingénieurs de test peuvent avoir une compréhension complète des fonctions de l'application afin de pouvoir utiliser GenAI pour développer des scripts de test au niveau fonctionnel. . Cette étape consiste à déterminer le nombre de scripts de test requis et à identifier les scénarios qui peuvent être exclus. Bien entendu, la couverture du code de ces scripts de tests automatisés est souvent déterminée collectivement par l’équipe.

3. Ajout de vérification et d'inférence par des experts en la matière (SME) : Dans la phase finale, une fois la logique métier extraite et les scripts de test automatisés correspondants générés, les experts de test vérifient ces scripts et ont le droit d'ajouter , modifier ou supprimer des opérations. De telles interventions corrigent les erreurs probabilistes potentielles pouvant résulter des sorties GenAI et augmentent la certitude de la qualité des scripts de test automatisés.

Le processus ci-dessus peut sembler compliqué, mais en fait, il peut exploiter pleinement les capacités de GenAI pour simplifier le processus de génération de scripts de test et assurer la combinaison parfaite entre efficacité de l'automatisation et expertise humaine. Parmi eux, la participation des testeurs à la phase de vérification est particulièrement importante. Cela permettra aux résultats générés par l’intelligence artificielle d’être basés sur des connaissances réelles des applications, améliorant ainsi considérablement la fiabilité et l’applicabilité des scripts de test.

Résumé

En résumé, en tant qu'outil visant à améliorer l'efficacité, GenAI peut générer des scripts de test automatisés grâce à ses capacités NLG, améliorant ainsi la précision et la fiabilité du processus de test logiciel pour la modernisation du mainframe. Dans le même temps, GenAI doit améliorer les résultats générés par l'IA grâce à un processus structuré en trois étapes et garantir que les scripts automatisés sont non seulement techniquement raisonnables mais également applicables dans la pratique, reflétant ainsi l'harmonie et l'unité des capacités de l'IA et des humains. compétence. Cette intégration est clairement essentielle pour répondre à la complexité et aux exigences dynamiques des applications mainframe modernes.

Introduction du traducteur

Julian Chen, 51 ans, rédacteur en chef de la communauté CTO, a plus de dix ans d'expérience dans la mise en œuvre de projets informatiques, est doué pour gérer et contrôler les ressources et les risques internes et externes, et se concentre sur la diffusion de la sécurité des réseaux et de l'information. connaissance et expérience.

Titre original : GenAI-Driven Automation Testing in Mainframe Modernization, auteur : sampath amatam)


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer