Découvrez comment intégrer facilement l'analyse statique, les tests unitaires et d'autres méthodes de test de logiciels C et C++ dans votre pipeline CI/CD. Inscrivez-vous pour la démo >>

Créez des environnements sandbox à faible coût avec la simulation d'API

Par Grigori Trofimov

17 décembre 2020

6  min lire

Lors de la vente de logiciels, en particulier de produits d'entreprise complexes, nous comprenons qu'une vente ne se termine pas lorsque l'argent arrive à la banque. Le support après-vente est tout aussi important que l'avant-vente pour l'expérience client. En fait, le succès des clients est ce qui génère des revenus et il existe de nombreuses données pour le montrer. Khalid Saleh d'Invesp a créé un fantastique infographique sur ce. Voici quelques points clés à retenir :

  • Acquérir un nouveau client coûte cinq fois plus cher que fidéliser un client existant.
  • La probabilité de vendre à des clients existants est de 60 à 70 %, tandis que la probabilité de vendre à un nouveau prospect est de 5 à 20 %.
  • Augmenter les taux de fidélisation de la clientèle de 5 % augmente les bénéfices de 25 à 95 %.

La réussite des clients est essentielle à l'entreprise

Fondamentalement, le succès du client est tout dans les ventes. Cela signifie que vous avez un bon produit. Cela signifie que vous obtenez des prospects gratuits, des cycles de vente plus courts et des taux de conversion plus élevés.

Tout commence par l'intégration

Quel est un moyen clé pour les fournisseurs de plateformes d'augmenter le succès de leurs clients ? Eh bien, pour les plateformes, les outils et les fournisseurs de services, cela signifie qu'ils doivent vraiment se concentrer sur l'intégration. Intégrer les clients sur votre plate-forme signifie que les clients se familiarisent avec vos services afin qu'ils puissent utiliser vos outils comme des pros.

Cela signifie également apprendre à vos utilisateurs à utiliser vos API afin qu'ils puissent créer leurs propres solutions dans les applications. Un bon processus d'intégration doit être transparent et homogène. Les développeurs ne veulent pas mettre leur code « non prouvé » en production. Pour créer efficacement ces intégrations, les développeurs ont besoin d'un environnement de développement sûr pour tester et se familiariser avec votre produit - un environnement sandbox où ils peuvent mettre du code non éprouvé et l'essayer avant qu'il ne passe en production.

Développer des environnements sandbox à faible coût pour l'intégration des clients

Si vous vendez des API, la clé des ventes est un moyen efficace et convaincant de prouver la valeur à vos clients. Les bacs à sable de développement sont idéaux pour cela, mais quelles sont les conditions pour réussir ?

  • Bien construit
  • Bien documenté
  • Facilement disponible
  • Sécurisés

Bien construit

Vos clients ne veulent pas voir de bogues inattendus, de comportements incohérents ou irréalistes. On s'attend à ce que votre environnement sandbox soit soumis aux mêmes tests rigoureux que vos environnements de production et d'assurance qualité.

Bien documenté

Les API ne sont pas simples et les développeurs doivent s'adapter rapidement pour se familiariser avec votre produit. Une API et un environnement sandbox bien documentés sont essentiels. Swagger et OpenAPI sont devenus nécessaires en termes de documentation et de définition d'API et de services. Il est tout aussi important de valider que les comportements de ces API adhèrent au schéma tel que défini dans les définitions publiées.

Facilement disponible

Vos clients sont impatients de commencer, et ne pas avoir accès à leur produit nouvellement acheté est un obstacle important pour le travail de développement et de test de votre client. Toute quantité de temps d'arrêt peut contribuer à une expérience négative.

Sécurisés

Dans le monde de la conformité PCI DSS et GDPR, la sécurité peut signifier beaucoup de choses différentes, mais dans le contexte des sandbox API, les données de test plutôt que les données client réelles doivent être utilisées exclusivement. Un bac à sable ne doit jamais avoir accès aux données client, et en général, les applications doivent être suffisamment isolées les unes des autres.

Encore une fois, un bon bac à sable est crucial pour la satisfaction du client. Il y a une raison pour laquelle il y a des Prix ​​DevPortal. Les organisations qui consacrent beaucoup d'efforts à une bonne expérience des produits API sont reconnues.

Pourquoi les environnements de bac à sable à faible coût sont difficiles

Les bacs à sable sont utiles mais il y a un hic. Vous ne pouvez pas simplement configurer un tas d'environnements sandbox et vous attendre à ce que cela fonctionne. Ce n'est pas aussi simple. Les API ne font rien par elles-mêmes et nécessitent une orchestration qui s'intègre à plusieurs services internes et externes et systèmes backend et fournit des données.

Configurer un environnement sandbox pour une seule API signifie mettre en place l'ensemble de l'environnement, pas seulement un seul service, et cela peut être difficile.

4 défis clés des environnements de bac à sable à faible coût

Il existe quatre défis clés pour créer des sandbox de développement qui sont commodément mappés aux exigences de sandbox ci-dessus - les ABCD des sandbox :

  • Accessibilité
  • Comportement
  • Coût
  • Données

Accessibilité

En termes simples, un environnement sandbox doit être stable pour être accessible et offrir une expérience client positive. Les organisations sont déjà aux prises avec leur propre environnement d'assurance qualité. Maintenir et fournir une disponibilité à 100 % est irréaliste et les temps d'arrêt entraînent une mauvaise expérience utilisateur.

Comportement

Un environnement sandbox doit être une représentation fidèle du système réel. Initialement, les réponses statiques sont bonnes pour les requêtes simples, mais les opérations complexes nécessitent un certain changement d'état et une logique dynamique. Que se passe-t-il lorsqu'un client souhaite effectuer des tests de performance ou de chemin négatif ? Les scénarios de test compliqués peuvent être difficiles à simuler dans un système complexe.

Coût

La maintenance d'un environnement de test n'est pas gratuite, pas plus que les dépendances externes. Plus il y a d'utilisateurs, plus ces coûts augmenteront. Comprendre ces coûts et comprendre l'utilisation devient crucial pour déterminer le modèle de tarification ou de rétrofacturation que vous souhaiterez peut-être mettre en œuvre pour vos utilisateurs finaux.

Données

Les données de test dans un environnement de test ressemblent beaucoup à une machine à compter les pièces. Une machine à pièces prend vos pièces et les compte. Il retourne une certaine somme d'argent, mais si plusieurs personnes utilisent la machine en même temps, personne ne sait quel argent leur appartient. La même chose se produit avec les données de test partagées dans des environnements partagés. Une fois les données consommées, elles ne peuvent pas être utilisées pour d'autres tests, à moins que les modifications ne soient annulées d'une manière ou d'une autre, ce qui est complexe et prend du temps.

Ce sont des défis que nous voyons ici qui reflètent ce que nous voyons dans de nombreuses organisations qui cherchent également à améliorer leurs pratiques de test et d'automatisation des tests. Et franchement, la solution est assez similaire.

Service Virtualization coche les cases nécessaires

La virtualisation des services est une méthode pour émuler le comportement de composants spécifiques (virtualiser ces dépendances) dans des applications hétérogènes basées sur des composants, telles que :

  • Applications pilotées par API
  • Applications basées sur le cloud
  • Architectures orientées services

C'est une solution puissante en matière de simulation d'API en stabilisant les environnements de test et en permettant un développement agile rapide. La puissance que la virtualisation des services apporte aux tests API et SOA en fait un bon choix pour les serveurs sandbox à faible coût.

La virtualisation offre la possibilité :

  • Créez des environnements complexes à la demande.
  • Créez des services réalistes avec un comportement de service individuel contrôlé.
  • Gardez une trace de l'utilisation dans tous vos bacs à sable.
  • Créez et manipulez des données pour chaque API unique et pour chaque utilisateur individuel.

Comme vous pouvez le voir, la virtualisation des services coche vraiment les cases.

Graphique montrant les cases à cocher de la virtualisation des services
Figure 1 : Cases à cocher de Service Virtualization pour les environnements sandbox à faible coût.

La virtualisation des services est le point idéal pour les environnements sandbox

Dans les engagements que Parasoft a faits, nous avons observé une règle de 80:20. Certains environnements ne nécessitent que des réponses statiques simples aux appels d'API, donc de simples simulations suffisent. Les passerelles API modernes disposent de très bons moyens de stocker ces réponses prédéfinies, par exemple lorsque les simulations sont intégrées. Si c'est vraiment tout ce dont vous avez besoin, la virtualisation des services peut être excessive.

À l'autre extrémité du spectre, l'environnement doit être très proche du réalisme. Les appels d'API nécessitent des données réelles ou des mises à jour réelles des systèmes backend. La question se pose de savoir s'il est rentable de répliquer autant du système réel sous forme de serveurs virtuels. Dans ces cas, il peut être préférable d'utiliser le système réel ou un clone.

Cependant, dans environ 80 % des cas, les exigences se situent quelque part entre ces extrêmes. La virtualisation des services est suffisante pour créer des simulations réalistes pour les scénarios de test et de validation.

Graphique montrant 10 % de réponses statiques, 80 % de tests/validation réalistes de virtualisation des services et 10 % de workflows qui nécessitent de vrais systèmes dorsaux
Figure 2 : La virtualisation des services répond à la plupart des besoins des environnements sandbox à faible coût.

Comment les clients utilisent-ils leurs bacs à sable ?

L'objectif fondamental d'un bac à sable est de valider les API et les services, généralement des produits tiers, avant de les intégrer à votre système de production. Cependant, il existe une échelle de maturité d'utilisation que nous voyons dans les pratiques de sophistication croissante aidées par les outils et la virtualisation des services.

  • Administration système de base pour vérifier que les services sont en cours d'exécution pour détecter les exceptions qui surviennent et pour s'assurer que le serveur a une capacité suffisante.
  • Validation pour s'assurer que les messages corrects sont envoyés et que les flux de travail corrects sont respectés.
  • Certification des partenaires B2B au sein de votre environnement sandbox et monétisation éventuelle.
  • Analyse et reporting pour la monétisation pour la facturation basée sur l'utilisation.

Parasoft Virtualiser fournit un support pour ces cas d'utilisation ainsi que la surveillance, l'analyse et les rapports requis pour une utilisation plus sophistiquée du sandbox.

Capture d'écran de l'analyse et des rapports d'utilisation de Parasoft Virtualize sandbox
Figure 3: Analyse et rapport d'utilisation de Sandbox fournis par Parasoft Virtualize.

Résumé

Un bac à sable d'API permet une expérience d'intégration fluide pour les produits d'API et de service dans le but d'améliorer la réussite des clients. La virtualisation des services réduit la complexité, le coût et le risque des sandbox d'API. Les bacs à sable ont besoin de services quasi réels et Parasoft Virtualize offre un ensemble de fonctionnalités riche pour reproduire ce comportement de manière rapide et fiable.

Les bacs à sable doivent être rentables et la virtualisation des services offre la solution idéale pour créer un environnement réaliste. Dans cet esprit, Parasoft Virtualize fournit l'évolutivité et la sécurité aux sandbox d'API et propose une variété de modèles de déploiement et une approche modulaire de la virtualisation des services et de la gestion des données.

Au fur et à mesure que votre sophistication dans le développement de sandbox augmente, la virtualisation des services est là pour évoluer avec vous et permettre le prochain niveau de maturité.

Texte Créez des environnements sandbox à faible coût avec la simulation d'API Regardez le CTA du webinaire

Par Grigori Trofimov

Grigori Trofimov est un architecte de solutions chez Parasoft, fournissant des services de conseil pour les solutions de test de Parasoft aux prospects, clients et partenaires. Il a récemment pris la parole lors de conférences sur le thème de la virtualisation des services et du déploiement d'environnements jetables dans le cloud.

Recevez les dernières nouvelles et ressources sur les tests de logiciels dans votre boîte de réception.