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

Test d'enregistrement et de relecture : comment aller au-delà de l'enregistrement et de la relecture pour de meilleurs tests d'API automatisés

Portrait de Grigori Trofimov, architecte de solutions senior chez Parasoft
Le 13 avril 2023
6 min lire

Allez au-delà des tests d'enregistrement et de lecture. Lisez la suite pour découvrir comment capturer le trafic associé aux scénarios de test d'API lors des tests d'interface utilisateur et créer des scénarios de test significatifs avec l'IA pour augmenter l'évolutivité et l'efficacité.

Un populaire Solution de test API pour les tests fonctionnels, de régression, d'intégration et de backend, Parasoft SOAtest possède une fonctionnalité unique : Smart API Test Generator.

Cette technologie révolutionnaire utilise l'IA pour convertir le trafic capturé lors des tests manuels en tests d'API automatisés. Vous activez l'enregistrement et l'arrêtez en utilisant un plugin de navigateur. Ce flux de travail sans script ne nécessite pas un grand ensemble d'outils. Il ne nécessite pas non plus une connaissance détaillée de la couche API de l'application.

Smart API Test Generator n'est pas la technologie typique d'enregistrement et de lecture de l'interface utilisateur. Dans ce cas, l'IA capture et organise automatiquement le trafic d'API qui sous-tend les interactions de l'interface utilisateur dans des scénarios de test significatifs. Ces scénarios d'API constituent la base des suites de tests d'API qui dissocient l'interface utilisateur des tests fonctionnels.

Qu'est-ce que les tests d'enregistrement et de relecture de l'API ?

La notion de automatisation de l'enregistrement et de la lecture les tests sont assez courants parmi les stratégies de test de l'interface utilisateur. Vous enregistrez les actions de l'interface utilisateur dans le navigateur, généralement avec un outil de test automatisé, puis lisez ces actions en tant que cas de test automatisé de l'interface utilisateur. Cependant, tout comme un film, où vous devez éditer des images brutes pour la continuité et le contenu, vous devez configurer des cas de test enregistrés pour une exécution cohérente et stable et les étendre avec des validations et des assertions automatisées.

Les modifications de l'interface utilisateur sont courantes pour les applications en cours de développement. Vous devez maintenir des tests, ce qui prend du temps et peut réduire les avantages de l'automatisation. Cependant, bien que les modifications de l'interface utilisateur soient courantes, les interactions sous-jacentes de l'API sont moins susceptibles de changer fréquemment. Les tests d'API sont un moyen plus efficace de tester les fonctionnalités des applications principales sans le fardeau de la maintenance des tests de l'interface utilisateur.

Parasoft a été le premier à traduire ceci stratégie de test d'API dans le cadre de sa plateforme complète de tests de qualité continue. Aujourd'hui, les développeurs et les testeurs peuvent générer des scripts de test Selenium sans fournisseur à l'aide de Parasoft Selenic lorsqu'ils souhaitent valider le comportement de l'interface utilisateur ou l'expérience utilisateur sur le front-end. Ils peuvent générer des tests API lorsqu'ils doivent se concentrer sur la validation fonctionnelle de la logique métier sous-jacente ou gagner en efficacité en générant des tests à un niveau de portée inférieur.

Avantages des tests d'API d'enregistrement et de lecture

Les tests d'interface utilisateur peuvent être fragiles. Sa portée est vaste et son exécution et sa maintenance prennent plus de temps. Les tests d'API sont rapides, comportent moins de pièces mobiles et sont davantage axés sur une logique métier spécifique. Les tests d'API sont souvent configurés dans une interface sans script, ce qui les rend plus accessibles aux personnes non techniques.

Avec tout cela à l'esprit, les tests manuels sont par nature difficiles à traduire en un test d'API. Ils nécessitent une bonne connaissance du domaine des services sous-jacents, de la structure des appels HTTP, du paramétrage des en-têtes et des jetons, etc. Parasoft SOAtest gère ces choses pour vous en examinant le trafic HTTP enregistré et en appliquant l'IA pour créer des tests d'API reproductibles et stables. Si vous souhaitez réduire votre dépendance aux tests d'interface utilisateur, c'est un excellent moyen d'atteindre cet objectif.

Plus d'avantages incluent:

  • Des tests fiables et reproductibles sont moins sujets aux pannes dues aux modifications de l'interface utilisateur.
  • Les tests axés sur des API spécifiques facilitent la détection et la correction des défauts.
  • Meilleure couverture applicative avec des outils intégrés au sein de l'écosystème Parasoft.
    • Gestion de l'environnement de test, virtualisation
    • Orchestration de l'automatisation des tests, CTP
    • Tests unitaires et couverture de code, Jtest
    • Reporting, PAO

Pourquoi les tests d'enregistrement et de lecture ont-ils acquis une mauvaise réputation ?

Les outils traditionnels d'enregistrement et de lecture ont leurs inconvénients. En fonction de l'architecture de l'application, de la complexité et de la vitesse de publication, les utilisateurs peuvent avoir des difficultés à mettre en œuvre cette approche pour diverses raisons.

  • Fonctionnalité de base limitée.
  • Manque de fonctionnalités d'enregistrement et d'édition.
  • Ne convient pas aux applications qui subissent des modifications fréquentes, ce qui peut entraîner la rupture des tests.
  • Le réenregistrement de nouveaux tests pour les flux existants peut prendre du temps et être redondant.
  • L'amélioration des cas de test et leur mise en œuvre dans le cadre d'un cadre d'automatisation des tests mature nécessitent toujours des compétences et des connaissances en programmation.

Ce sont toutes des préoccupations valables, et c'est là que l'IA s'intègre dans les tests d'enregistrement et de lecture de l'API.

Comment les tests d'enregistrement et de lecture se sont améliorés

Depuis sa création, ce type de stratégie de test s'est beaucoup amélioré grâce à l'IA. Il peut résoudre des problèmes tels que des cas de test fragiles et une meilleure automatisation globale pour atténuer la redondance ou les lacunes dans les connaissances.

Comment l'IA améliore les tests d'API d'enregistrement et de lecture

L'IA pour l'IA n'a pas de sens. Pourquoi avons-nous besoin d'ajouter l'intelligence artificielle aux tests d'API ? Eh bien, nous en avons besoin parce que les tests d'enregistrement et de relecture ne suffisent pas.

Pour faire évoluer les tests d'API, il ne suffit pas de collecter le trafic, de l'enregistrer et de le lire. Vous devez être en mesure d'identifier et d'organiser l'activité API capturée en tests significatifs, réutilisables et extensibles.

C'est là que l'intelligence artificielle entre en jeu afin que l'enregistrement du trafic puisse non seulement avoir lieu, mais également être organisé en scénarios ou modèles d'utilisation de l'API reconnaissables qui se produisent lors des cas d'utilisation de l'interface utilisateur. C'est pourquoi Parasoft a développé le Smart API Test Generator. L'outil alimenté par l'IA capture le trafic API et fusionne les données capturées dans des scénarios de test réutilisables et modifiables dans Parasoft SOAtest.

Comment fonctionne le générateur de test d'API intelligent ?

Lorsque vous testez l'interface utilisateur, l'enregistreur Parasoft surveille les appels d'API sous-jacents qui sont effectués vers votre application, tout comme un collecteur de trafic, puis le générateur de test d'API intelligent utilise l'IA pour découvrir des modèles et comprendre les relations entre ces appels d'API. Ensuite, il génère des scénarios de test d'API automatisés qui effectuent les mêmes actions que vos tests d'interface utilisateur, mais sont entièrement automatisés et facilement extensibles.

Graphique du générateur de tests Parasoft SOAtest Smart API montrant le processus de génération automatique de tests API. 1-Analyser le trafic enregistré à partir des tests manuels. 2-Utilise l'IA pour créer des scénarios de test d'API. 3-Ajoute des tests API automatisés sans script à Parasoft SOAtest.

Le générateur de test API intelligent de Parasoft se compose de trois composants.

  1. Enregistreur. Le plug-in du navigateur Chrome enregistre le trafic. Il est installé localement sur un bureau et comprend une interface utilisateur pour la configuration de la connexion à SOAtest et pour commencer et terminer l'enregistrement.
  2. Proxy Web SOAtest. Gère le trafic HTTP et HTTPS, en le stockant pour une utilisation ultérieure par SOAtest.
  3. SOAtest. Une solution de test fonctionnelle complète de bout en bout qui analyse le trafic et le traduit en tests d'API.

Vous pouvez configurer et exécuter des tests en connectant le générateur de tests Smart API à un serveur SOAtest localement ou via un serveur dédié. L'extension de navigateur Chrome vous permet de démarrer et d'arrêter l'enregistrement du trafic, de configurer les connexions au serveur SOAtest et au proxy Web, et d'enregistrer le trafic sous forme de fichiers.

Ces enregistrements sont poussés vers SOAtest, où la puissance de l'heuristique et de l'IA entre en jeu. Les enregistrements de trafic sont organisés en tests API qui représentent les modèles détectés dans le trafic. Les tests d'API générés automatiquement sont les mêmes que tous les autres tests d'API existants, qui sont extensibles, maintenables et exécutables dans SOAtest, et font partie d'une suite de tests future ou existante.

Allons plus loin

Tout cela est bon en soi. De plus, la génération de tests API de Parasoft est un moyen fantastique pour les développeurs et les testeurs de comprendre les relations entre les actions de l'interface utilisateur et les appels API, améliorant ainsi les compétences de test API et la connaissance de l'application.

Le générateur de tests d'API intelligent prend en charge le gros du travail, vous offrant un endroit facile et sans script pour commencer à créer des tests d'API. Il réduit le point d'entrée technique des tests d'API, amenant les débutants dans le monde des tests d'API via une automatisation de test conviviale fournie par Parasoft SOAtest. Ces outils visuels sont faciles à adopter et à utiliser.

Les scénarios de test créés automatiquement par SOAtest fournissent les blocs de construction pour les suites de tests d'API qui sont à la fois lisibles par l'homme et extensibles. Les testeurs peuvent développer leur compréhension des API et des fonctionnalités de l'application à partir de ces tests, les étendre et les réutiliser pour créer une suite complète de tests.

Les équipes peuvent réutiliser ces tests fonctionnels d'API pour des besoins de tests non fonctionnels, notamment des tests de charge, de performances et de sécurité. Cela réduit la dépendance des testeurs aux tests manuels et axés sur l'interface utilisateur pour la plupart des tests fonctionnels de l'application.

Avantages des tests d'enregistrement et de lecture d'API améliorés par l'IA

De toute évidence, il existe des différences entre les tests d'enregistrement et de lecture traditionnels, basés sur l'interface utilisateur, et les API, Tests augmentés par l'IA. Voici quelques-uns des avantages des tests d'enregistrement et de lecture d'API fournis par Parasoft SOAtest.

  • Réduit le temps passé à déterminer la bonne façon de créer des tests d'API en convertissant automatiquement les actions effectuées dans votre navigateur en tests d'API automatisés qui modélisent les mêmes actions que vous avez effectuées dans le bon ordre.
  • Facilite la création de tests d'API complets en créant automatiquement des scénarios de test basés sur les relations entre les différents appels d'API. Sans cela, vous devez passer du temps à étudier les cas de test, à rechercher des modèles et à créer manuellement les relations pour former chaque scénario de test.
  • Ajoute automatiquement des assertions et des validations pour garantir que vos API fonctionnent comme prévu. Par conséquent, vous pouvez exécuter même les types de logique d'assertion les plus complexes sans avoir à écrire de code ni risquer de les mal construire.
  • Réduit le temps passé à maintenir les tests. Parce qu'il est sans script, les utilisateurs n'ont pas à passer du temps à réécrire le code des cas de test lorsqu'un service change. Des outils intégrés tels que Change Advisor analysent les modifications de l'API et créent un modèle pour faciliter la mise en œuvre des mises à jour.
  • Aide les équipes de développement et de test à collaborer avec un seul artefact facile à comprendre et à partager pour les deux équipes. Cela aide également à mieux diagnostiquer la cause première d'un défaut qu'un test d'interface utilisateur.
  • Jette les bases d'une stratégie de test de régression évolutive et efficace en vous aidant à étendre les cas de test, la logique de flux de test et les solutions de données pour accomplir l'ensemble de la couverture de test fonctionnel nécessaire pour valider entièrement les applications avant de les lancer en production.

Le générateur de test d'API intelligent dans SOAtest fonctionne pour créer automatiquement des cas de test basés sur une interprétation significative de l'activité d'API capturée, offrant une fonctionnalité et une maintenance faciles à utiliser. En poussant les tests fonctionnels vers le bas de la pyramide des tests vers des tests de portée plus petite et en réduisant la dépendance aux tests de régression de l'interface utilisateur lents et fragiles, les équipes de développement et de test peuvent atteindre une plus grande vitesse de publication avec une productivité de test améliorée tout en garantissant une couverture de test élevée.

Découvrez comment votre équipe peut exploiter la puissance de l'IA pour créer des tests paramétrés plus avancés.