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 >>

Réduction des coûts de cadrage du développement grâce au prototypage avec la virtualisation des services

Par Chris Colosimo

17 April 2017

3  min lire

Un défi de développement courant consiste à déterminer avec précision la quantité d'efforts requis lors de la création de nouvelles applications. Cela peut se produire lorsque les exigences d'une application sont conçues pour la première fois, ou même avant. Étant donné que l'un des plus souvent négligés capacités de virtualisation des services est la capacité de prototyper rapidement et de tester l'impact de nouveaux services directement à partir des récits d'utilisateurs initiaux, je vais en parler aujourd'hui.

"Le fluage de la lunette n'existe pas, seulement le galop de la lunette.

- Cornelius Fitchner

Au tout début du cycle de vie d'une application, il arrive un moment où l'équipe se réunit pour discuter de ce que le code doit faire. Souvent, de nombreuses questions se posent concernant la faisabilité d'une nouvelle application, et il incombe au développeur d'indiquer si quelque chose est possible et de définir le niveau d'effort requis.

Lorsqu'il s'agit d'une nouvelle technologie ou d'une idée complètement nouvelle, cela peut être très difficile ou presque impossible. Le développeur doit tirer un certain niveau d'effort (espérons-le précis) à partir de rien. La virtualisation des services peut aider ici en donnant à quiconque la possibilité de développer rapidement un prototype du service sans même un contrat de service. Essentiellement, le développeur peut créer le service à partir de zéro pour simplement répondre à la question «et si».

En tirant parti de la virtualisation des services, le développeur peut y parvenir par modélisation. Avec Parasoft Virtualiser, les développeurs peuvent choisir le type de protocole sur lequel déployer leur service et commencer essentiellement par un canevas vierge fonctionnel. Dans le développement réel, les développeurs doivent créer un cadre, ce qui nécessite de nombreuses lignes de code pour même commencer à fonctionner de la manière souhaitée. En revanche, la virtualisation des services permet à quiconque de prototyper rapidement le comportement d'application attendu sans code, en créant de petites tranches de comportement fonctionnel selon les besoins.

Par exemple, vous pouvez créer un service en ajoutant des éléments dans la réponse, puis éventuellement ajouter des données supplémentaires avec lesquelles répondre. Ensuite, vous pouvez ajouter une logique dans laquelle certains types de demandes recevront des réponses spécifiques du service et l'étendre pour produire le comportement d'application souhaité. Habituellement, en quelques minutes, les utilisateurs peuvent créer un service qui présente les fonctionnalités nécessaires que l'application réelle aura et évaluer instantanément la valeur et l'impact sur l'environnement. Cela économise énormément de temps et, en Parasoft Virtualiser, ne nécessite aucun script.

Cette capacité élargit considérablement la capacité d'une équipe de développement à répondre aux exigences techniques et à déterminer avec précision le niveau d'effort à temps, ce qui est particulièrement important pour les équipes agiles, car il existe une dette de productivité inhérente entre le propriétaire du produit et l'équipe Scrum. L'équipe Scrum doit fournir un nombre approprié de points d'histoire auxquels elle peut s'engager en fonction de sa capacité. Le propriétaire du produit doit transmettre sa vision de la fonctionnalité souhaitée. L'équipe commencera alors à déterminer le niveau d'effort requis pour livrer sa compréhension des attentes. Mais que se passe-t-il si la fonctionnalité fournie par l'équipe ne correspond pas à la vision du client? Ils doivent recommencer le processus. Prototyper les fonctionnalités de l'application à l'avance leur permet de réduire le nombre de cycles nécessaires pour bien faire les choses.

Par exemple, lorsqu'il est chargé de créer une API qui renverra les informations d'un utilisateur, en utilisant le prototypage dans la simulation, le développeur peut rapidement décider à quoi il souhaite que son schéma de réponse ressemble lorsqu'il commence à s'intégrer à l'API. S'ils remarquaient que cela présentait des défis de développement en aval, et qu'il devenait nécessaire de changer l'ordre des éléments, ils n'auraient pas à réécrire le code pour le faire. Ils pouvaient simplement déplacer les éléments en les faisant glisser dans le bon ordre et redéployer le service virtuel eux-mêmes.

En outre, les développeurs pourraient évaluer l'impact sur les performances que ce nouveau service introduira dans l'environnement en définissant des profils de performances réalistes dans le service virtuel.

En prototypant un service, les équipes de développement sont en mesure de fournir des informations réalistes aux parties prenantes rapidement et en continu, en indiquant les domaines dans lesquels l'application va introduire de la complexité avant même d'écrire une seule ligne de code. Ils ouvrent également la voie aux équipes de test pour commencer à concevoir des tests par rapport au service avant même qu'il n'existe.

Dans la vidéo ci-dessous, je vais vous montrer comment prototyper un nouveau service à partir de zéro et manipuler la logique de réponse en quelques étapes faciles.

Par Chris Colosimo

Chef de produit chez Parasoft, Chris élabore des stratégies de développement de produits pour les solutions de test fonctionnel de Parasoft. Son expertise en accélération SDLC grâce à l'automatisation l'a conduit à des déploiements majeurs en entreprise, tels que Capital One et CareFirst.

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