Découvrez comment la solution Parasoft Continuous Quality permet de contrôler et de gérer les environnements de test pour fournir des logiciels de haute qualité en toute confiance. Inscrivez-vous pour la démo >>

BLOG

Étude de cas: virtualisation des services dans un environnement VMware

Étude de cas: virtualisation des services dans un environnement VMware Temps de lecture : 4 minutes

Pour améliorer considérablement la qualité et la fiabilité des logiciels, l'une des plus grandes organisations gouvernementales néo-zélandaises a commencé à utiliser la virtualisation des services. Voici comment ils l'ont fait.

L'un des plus grands départements du gouvernement néo-zélandais migre ses tests de logiciels plate-forme du monde physique au monde virtuel, permettant à ses équipes de développement de créer et de lancer de nouveaux tests environnements en quelques minutes. Cette révolution permet aux tests de commencer à un stade beaucoup plus précoce et permet de tester plusieurs projets en parallèle. Non seulement cela réduit le temps nécessaire à la réalisation des projets, mais cela améliore également considérablement leur qualité et leur fiabilité.

L'agence gouvernementale compte plus de 1000 employés répartis dans plusieurs bureaux à travers la Nouvelle-Zélande.

Le projet

Les procédures de développement logiciel du département avaient dépassé leurs limites architecturales; les projets prenaient plus de  nécessaire et coûtant plus cher en raison de la nature sérielle du cycle de vie du développement logiciel. L'impact de cela était des pannes dues à des problèmes insignifiants qui auraient dû être résolus lors des phases de test plus tôt dans le projet.

Lors d'un examen en 2012 de ses risques d'entreprise, le directeur de l'information de l'organisation a identifié plusieurs facteurs à l'origine de ces problèmes. L'environnement de test de développement logiciel n'a pas répliqué avec précision son environnement réel, ce qui a entraîné des tests inefficaces. De plus, cela ne permettait de tester qu'un seul projet à la fois, ce qui créait des goulots d'étranglement importants, d'autant plus que les projets étaient presque terminés.

«Les performances du projet ne correspondaient pas aux attentes et le dépannage était difficile, en particulier lors de la tentative de reproduire un incident dans les environnements de test», a expliqué Lee Clements, responsable de compte technique chez Services professionnels VMware.

«Notre examen a identifié le besoin de plusieurs environnements de test isolés qui simulent correctement la production. Ils avaient également besoin que les projets soient testés à un stade beaucoup plus précoce du cycle de vie du logiciel - quand il est plus facile et moins coûteux de corriger les erreurs de codage et de conception », a-t-il déclaré.

Les grands projets ont plusieurs équipes travaillant en silos et ils n'ont pas pu tester leur code tant que toutes les équipes n'avaient pas terminé leurs tâches. Cela aboutissait souvent à des blocages, les composants devant attendre des mois avant que les tests puissent commencer; tout était séquentiel et dépendant de l'étape précédente.

Même après ce délai initial, l'environnement de test aurait été laissé dans un état inconnu par les testeurs précédents, de sorte que les nouveaux projets devraient attendre que les équipes de développement et d'exploitation aient réinitialisé l'environnement de test - un processus à forte intensité de main-d'œuvre qui pourrait prendre des semaines.

La solution

Plusieurs projets de développement approchaient de la phase de test, et étant donné le coût d'acquisition et de provisionnement de multiples nouvelles exigences physiques, il est soudainement devenu économiquement avantageux d'investir dans une infrastructure de test partagée entièrement virtualisée. Le département a passé plusieurs mois à dialoguer avec des experts dans le domaine avant de s'engager sur un plan de conception créé par VMware Professional Services et mis en œuvre par son partenaire technique. IntégrationQA.

«L'option de créer plus d'environnements physiques n'était pas pratique en raison de la douleur déjà ressentie avec le système actuel - cela aurait ajouté à leurs problèmes», a déclaré Chris Wellington, architecte de test et directeur chez IntegrationQA. «Ce dont ils avaient besoin, c'était de pouvoir fournir des environnements de test de systèmes en composants dans lesquels ils pouvaient analyser le comportement du système avant qu'il ne soit intégré dans une solution complète», a déclaré Wellington.

La demande en interne pour une plate-forme de test virtuelle consolidée avait pris de l'ampleur, un certain nombre d'équipes de développement disparates cherchant une solution plus efficace. En consolidant toutes les équipes de développement qui testent les besoins et en s'appuyant sur son histoire réussie de virtualisation d'infrastructure, l'approbation a été donnée pour construire une preuve de concept.

Directeur vCloud de VMware a été utilisé pour générer et provisionner plusieurs environnements de test virtuels pouvant être appelés à la vitesse de l'éclairage par l'équipe de développement. «Avec vCloud Director, les utilisateurs peuvent auto-approvisionner un environnement choisi dans un catalogue et commencer les tests», selon le chef de projet du département.

Pour simuler entièrement les middlewares et les systèmes back-end dans les environnements virtuels, Virtualisation des services de Parasoft a été implémenté pour générer des charges de transactions synthétiques.

En conséquence, les projets de développement pourraient être testés dans un clone virtuel très précis de l'environnement réel du département. Les projets pourraient également être testés en parallèle, éliminant de nombreux goulots d'étranglement de séquençage précédemment rencontrés par les équipes de développement.

Les multiples environnements virtuels ont créé un nouvel ensemble d'opportunités d'optimisation des performances, qui sont analysées à l'aide de Splunk. Cet outil de surveillance en temps réel rend compte des performances de chaque composant du nouveau système et fournit aux développeurs un retour instantané sur la façon dont leurs projets fonctionnent à chaque révision de code.

Cette combinaison de technologies a créé un environnement de test qui a maintenant été prouvé techniquement capable de révolutionner le cycle de vie du développement logiciel.

Résultats commerciaux et avantages

La nouvelle infrastructure offre aux développeurs la liberté de choisir un environnement approprié à partir d'un catalogue de services et ils peuvent tester leur code en quelques minutes. L'environnement virtuel est intrinsèquement supérieur à l'environnement précédent car il réplique l'environnement réel jusqu'au niveau du composant, sans dépendances physiques multiples.

«Leurs environnements de test d'acceptation par les utilisateurs, leurs environnements de test de performances et leurs environnements de production avec vCD ont désormais la capacité d'être vraiment homogènes», a expliqué Clements.

Cela évite la frustration et les risques générés lorsque les développeurs passent beaucoup de temps à créer et à tester des composants pour constater qu'ils ne fonctionnent pas correctement lorsqu'ils sont transférés vers l'environnement de production.

Le passage à un environnement virtuel a considérablement augmenté l'efficacité de l'ensemble du système, car il permet également à plusieurs environnements de fonctionner en même temps, permettant ainsi à différents projets et composants de projet d'être testés et développés en parallèle. Avec l'ancien système, le personnel de test de l'agence se plaignait du fait que la mise en place d'un environnement de test approprié pouvait prendre des semaines. Maintenant, ils ont prouvé qu'il était possible de mener à bien cette tâche en seulement huit minutes.

Le personnel du département est beaucoup plus confiant lors de la livraison des projets terminés car l'environnement de test est identique à l'environnement de production, il n'y a donc plus de mauvaises surprises lorsque les projets sont finalement testés sur le système de bout en bout.

Dans l'ensemble, l'équipe de direction du ministère a jugé le projet réussi puisqu'elle a prouvé que ces outils peuvent être utilisés pour changer la façon dont les environnements peuvent être structurés, isolés et exploités.

Pour en savoir plus sur la virtualisation des services, veuillez visiter : www.parasoft.com/blog/what-is-service-virtualization/

Écrit par

Parasoft

Les outils de test de logiciels automatisés de pointe de Parasoft prennent en charge l'ensemble du processus de développement logiciel, depuis le moment où le développeur écrit la première ligne de code jusqu'aux tests unitaires et fonctionnels, jusqu'aux tests de performance et de sécurité, en exploitant des environnements de test simulés en cours de route.

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