Rejoignez-nous le 30 avril : dévoilement de Parasoft C/C++test CT pour l'excellence en matière de tests continus et de conformité | En savoir plus

Validez les applications gouvernementales avec des tests fonctionnels basés sur l'IA

Tête de Jamie Motheral, responsable du marketing produit chez Parasoft
24 septembre 2020
6 min lire

Avez-vous eu des difficultés à valider les demandes du gouvernement ? Avec l'outil de test fonctionnel basé sur l'IA de Parasoft, vous disposez d'une solution de test de logiciels gouvernementaux qui peut augmenter l'efficacité de vos équipes de test.

Il est facile d'examiner l'espace B2C commercial et de voir pourquoi les méthodologies Agile et DevOps ont pris le dessus en tant que pratiques dominantes pour fournir des services de qualité rapidement aux clients. Ce n'est pas le cas des applications gouvernementales. Mais avec des solutions de test fonctionnel basées sur l'IA, les équipes d'assurance qualité peuvent valider les applications gouvernementales et moderniser la livraison.

Les défis de la modernisation des tests automatisés

Dans la sphère gouvernementale, de nombreux obstacles ont un impact sur la capacité des agences à bénéficier des pratiques Agile et DevOps de la même manière que cela a été le luxe de l'espace commercial.

L'un de ces défis pour l'aptitude des agences gouvernementales à se moderniser est de savoir comment créer une stratégie de test fonctionnel automatisé efficace pour les interfaces utilisateur Web dans le cas courant de la sous-traitance du développement à un fournisseur tiers. C'est un scénario que je rencontre souvent dans mon rôle de responsable de compte chez Parasoft acteurs du gouvernement européen, militaireet aérospatial de Red Lion

Dans ce scénario, l'entité gouvernementale passera un contrat avec un fournisseur externe pour créer et fournir le nouveau logiciel ou la nouvelle fonctionnalité. Le tiers contractant est responsable de s'assurer que le code répond aux exigences de ses clients en matière de qualité. Cependant, il est essentiel qu'à la livraison, l'entité gouvernementale doive effectuer ses propres tests pour vérifier que l'application se comporte comme prévu dans l'environnement intégré et répond aux exigences de test non fonctionnelles telles que l'utilisabilité, la fiabilité, les performances et la sécurité.

Sur la base du contrat créé entre l'entité gouvernementale et l'entrepreneur de développement tiers, la capacité de l'équipe gouvernementale d'assurance qualité à utiliser des stratégies de test automatisées modernes qui réussissent dans les industries commerciales peut être entravée.

Tests continus pour DevOps : évoluer au-delà de l'automatisation simple pour les agences gouvernementales

Pourquoi les tests fonctionnels sont-ils essentiels et plus d'agences devraient-elles le faire?

Pour créer une pratique de test automatisée efficace, les équipes de test fonctionnel doivent tester à la fois les couches de service de l'interface utilisateur Web et de l'API. Cependant, des tests efficaces au niveau de l'API nécessitent une certaine connaissance des artefacts auxquels une équipe gouvernementale d'assurance qualité peut ne pas avoir accès, en fonction de ce qui a été et n'a pas été spécifié comme livrables dans le contrat.

Supposons que le contrat ne dicte pas la création et la maintenance des fichiers de définition de service API pour chaque service. Lors de la livraison à l'équipe gouvernementale d'assurance qualité à des fins de test, l'équipe d'assurance qualité aura du mal à comprendre:

  • Ce que fait chaque service.
  • Les autres services avec lesquels il interagit.
  • Comment les données passent entre les appariements demande / réponse.

Les équipes de développement ont besoin de toutes ces informations pour créer une stratégie de test API efficace. Sans les fichiers de définition de service d'API, l'équipe d'assurance qualité a besoin d'accéder à la base de code et aux connaissances des développeurs pour étudier le code et comprendre la construction de chaque API.

Pour de nombreuses équipes d'assurance qualité, ce n'est pas faisable. Au lieu de cela, ils s'appuient fortement sur l'interface utilisateur Web ou les tests d'acceptation des utilisateurs pour valider que les produits livrables dépassent les seuils de qualité, de fiabilité, de convivialité et de performance.

Test de l'interface utilisateur Web a sa place. Cependant, les tests d'interface utilisateur Web doivent surmonter certains défis majeurs pour qu'il s'agisse d'une stratégie d'automatisation de test durable efficace.

Les pièges et les défis des tests de l'interface utilisateur Web

Pour lancer cette conversation sur les défis des tests d'interface utilisateur Web, examinons d'abord ce que les gens utilisent pour créer des tests d'interface utilisateur Web automatisés. De manière retentissante, Selenium est le leader du secteur avec plus de 64% de l'industrie utilisant ce framework open source aujourd'hui. Cependant, si vous êtes un utilisateur de Selenium, vous savez que ce ne sont pas que des arcs-en-ciel et du soleil. L'utilisation du sélénium présente certains défis qui rendent difficile sa mise à l'échelle pour une automatisation durable.

Le sélénium est la solution de choix pour plusieurs raisons valables à la fois dans l'espace commercial et dans l'espace gouvernemental. En tant qu'outil open source, Selenium:

  • Est gratuit pour les utilisateurs.
  • Prend en charge plusieurs langues, systèmes d'exploitation et types de navigateurs.
  • A une énorme base de soutien communautaire.
  • Publie des mises à jour fiables, ce qui le rend ingénieux et rentable.

Regardons les inconvénients. Comme tous les tests d'interface utilisateur Web, les tests Selenium sont encore fragiles et ne résistent pas bien aux changements. Par exemple, de petites équipes gouvernementales d'assurance qualité créant des tests Selenium par rapport à de nouvelles fonctionnalités avec des milliers de tests Selenium existants. Un petit changement dans l'interface utilisateur peut avoir un impact énorme.

Ce changement affecte la capacité de votre équipe à tester minutieusement la nouvelle fonctionnalité. Soudainement, les anciens tests se rompent avec peu d'informations sur ce qui s'est passé. La mise à jour manuelle des tests concernés peut prendre des jours, ce qui affecte le calendrier et la couverture des tests.

Relever les défis des tests de sélénium

Avec l'introduction du dernier outil de Parasoft, Sélénique, le maintien des tests Selenium n'est plus un défi. Selenic est une solution légère basée sur l'IA qui se connecte directement à votre Eclipse ou IntelliJ IDE où vous créeriez des tests Selenium.

Créer des tests rapidement avec des ressources limitées

Les utilisateurs Selenic peuvent activer Parasoft Recorder pour capturer les actions des utilisateurs effectuées dans le navigateur Google Chrome. Vous pouvez tirer parti de l'enregistrement pour créer un test Selenium pur en utilisant la meilleure pratique recommandée: le modèle d'objet de page.

Pour une équipe gouvernementale d'assurance qualité qui a besoin de créer des tests rapidement avec des ressources limitées, le Parasoft Recorder leur donne une longueur d'avance. L'outil vous permet de créer facilement le projet Selenium et le squelette du test de modèle d'objet de page. Gardez à l'esprit que les tests créés avec l'enregistreur Parasoft sont comme n'importe quel autre test Selenium. Vous pouvez les exécuter quand vous le souhaitez, comme vous le souhaitez et où vous le souhaitez. Ils ne sont pas verrouillés sur une plate-forme de fournisseur.

Gain de temps grâce aux recommandations AI-Drive

Le véritable gain de temps entre en vigueur avec les recommandations basées sur l'IA de Parasoft Selenic. Vous pouvez réparer automatiquement les tests au moment de l'exécution qui ont échoué en raison d'une modification de l'interface utilisateur Web telle qu'un localisateur ou une condition d'attente. Les petits groupes d'assurance qualité avec trop de tests réduisent considérablement le temps normalement consacré à la maintenance des tests ou à essayer de comprendre si un test échoué est interrompu en raison d'un changement dans l'interface utilisateur, d'un véritable échec de régression ou simplement d'un mauvais test.

Affichage des résultats des tests

L'IA de Parasoft Selenic analyse les tests lors de l'exécution. Tous les tests qui échoueraient normalement en raison de localisateurs cassés ou de conditions d'attente changeantes sont automatiquement réparés afin que l'exécution de la suite de tests complète ne soit pas déraillée pendant une exécution prolongée.

Lorsque l'équipe d'assurance qualité examine les résultats du test, un rapport complet est prêt à être examiné dans l'IDE du testeur. Ça montre:

  • Des tests qui ont cassé.
  • Comment le moteur IA de Selenic les a guéris.

Les testeurs ont deux options:

  • Approuvez comment corriger le test.
  • Sélectionnez un autre localisateur recommandé en fonction de leurs préférences et implémentez la correction appropriée.

Par exemple, certaines équipes d'assurance qualité peuvent préférer CSS par rapport à XPath pour localiser des éléments Web dynamiques et des éléments sans ID ni nom.

Augmentez la couverture et la qualité grâce aux tests d'API

Les équipes d'assurance qualité peuvent facilement transformer leurs pratiques de test d'interface utilisateur Web basées sur Selenium en une stratégie de test véritablement évolutive et maintenable avec Parasoft Selenic. Mais qu'en est-il des API?

Oui, il est vrai que l'exécution des tests de l'interface utilisateur Web appelle souvent des API. Cependant, les tests de l'interface utilisateur Web ne testent pas l'API.

Les API sont l'épine dorsale des applications Web modernes. Les données et les informations les traversent d'un système à l'autre, ce qui introduit un risque intrinsèque.

Pour qu'une agence gouvernementale puisse véritablement valider que les exigences fonctionnelles et non fonctionnelles de ses applications sont satisfaites - réduisant le risque d'agence - il est essentiel qu'elle mette également en œuvre une stratégie de test d'API automatisée durable et efficace. Malheureusement, les tests d'API ne sont pas aussi faciles à créer manuellement que les tests d'interface utilisateur Web. Les contraintes de ressources ont souvent un impact sur l'échelle à laquelle une organisation teste ses API.

Les tests d'API nécessitent une connaissance du code. Même lorsqu'une agence dispose des ressources nécessaires pour tester, elle peut être empêchée d'utiliser des solutions de test API modernes qui exploitent les fichiers de définition de service API pour la création de tests si ces actifs ne sont pas contractés pour être livrés à l'agence par le fournisseur de développement tiers.

Utiliser l'IA pour résoudre le problème des tests d'API

Parasoft SOAtest solution de bout en bout et Automatisation des tests d'API offre à la fois une approche ascendante et descendante pour la création de tests d'API.

Une approche en profondeur

Pour les équipes qui font du développement en interne et qui cherchent à tester leurs API au début de leur SDLC, Parasoft SOAtest propose une approche ascendante pour la création de tests d'API sans script via des paires demande / réponse ou via la consommation de fichiers de définition de service tels que Swagger, WSDL, ou WDLE.

Approche descendante

Pour les API REST basées sur un navigateur, Parasoft propose une approche descendante qui utilise l'IA pour convertir sans script les activités manuelles de l'interface utilisateur Web en scénarios de test d'API complets.

Création de scénarios de test API complets

J'ai déjà mentionné le Parasoft Recorder. Les utilisateurs de Parasoft Selenic enregistrent les actions sur l'interface utilisateur Web et les convertissent en tests de modèle d'objet de page Selenium non verrouillés par le fournisseur. Lorsqu'il est utilisé avec le module Smart API Test Generator de Parasoft SOAtest, ce même enregistreur peut capturer le comportement de l'API, qui est utilisé pour créer des scénarios de test API complets.

Lors de l'utilisation conjointe de Selenic et de SOAtest, un testeur d'assurance qualité peut enregistrer une user story sur l'interface utilisateur Web. À partir de cet enregistrement unique, le testeur QA peut créer un test Selenium et un test de scénario API correspondant. Le moteur d'intelligence artificielle du Smart API Test Generator analyse l'enregistrement du trafic. Il recherche des modèles et des relations entre les API appelées. Il examine également la manière dont les données sont gérées et génère un scénario de test d'API complet à la suite de la user story.

Aucun script, aucun fichier de définition de service et aucune connaissance du domaine n'est nécessaire pour créer ces tests. Comme les scénarios de test d'API créés sont directement corrélés aux activités de l'interface utilisateur Web menées par l'ingénieur QA, les utilisateurs novices sont en mesure de mieux comprendre comment les API sont utilisées dans le système et la relation des API avec l'interface utilisateur.

Résumé

Les petites équipes d'AQ gouvernementales avec des ressources limitées et beaucoup à tester peuvent valider rapidement les applications gouvernementales. La possibilité de créer des tests Selenium d'interface utilisateur Web auto-réparateurs et d'automatiser les scénarios de test d'API en même temps est puissante. En utilisant une solution de test fonctionnel automatisé efficace, les équipes peuvent effectuer des tests plus approfondis avec un minimum d'effort manuel, ce qui améliore la couverture et la qualité.

Vous voulez en savoir plus ?

Connectez-vous avec l'équipe de Parasoft Government Solutions dès aujourd'hui ! GovernmentSolutions@parasoft.com

Article connexe + ressources