• Accueil
  • Automatisation
  • Performance
  • Sécurité
  • Intelligence
  • Recrutement
  • Contact
  • Blog
WAPSIWAPSIWAPSIWAPSI
  • W
  • A
  • P
  • S
  • I

Quand l’infrastructure dynamique rencontre Neoload dans le cloud

    Home Articles Quand l’infrastructure dynamique rencontre Neoload dans le cloud
    NextPrevious

    Quand l’infrastructure dynamique rencontre Neoload dans le cloud

    By WAPSI | Articles, Performance, Sécurité, Tests | Comments are Closed | 19 février, 2020 | 3

    Les dépenses dues à la maintenance et la configuration de centaines de machines sont aux cœurs des débats dans les entreprises. En effet, afin de faire face à ces problématiques de coûts d’infrastructures et se décharger de certaines contraintes, celles-ci se tournent davantage vers des solutions cloud. Ce mouvement vers le cloud provoque une vague de migrations applicatives dont l’impact doit être mesuré en performance. 

    Pour réaliser ces mesures, les testeurs doivent être capables à la fois de gérer leur infrastructure d’injection au plus proche des applications cibles (les machines qui pilotent et génèrent l’activité utilisateur), et d’optimiser les coûts des ressources du cloud (RAM, disque, OS, …). Comment réduire le coût d’une infrastructure en migrant dans le cloud, sachant qu’il y aura au moins autant de machines que dans nos anciens data center ? Piloter une infrastructure dans le cloud, et notamment dans différent Cloud Providers (AWS, Azure, GCP, …) peut précisément nécessiter plus de ressources, donc comment gérer autant de machines ?  Comment NeoLoad peut-il s’adapter à ce besoin ? 

    Quand et comment tester ?

    Dans le cycle d’intégration continue d’une application, après le développement et le déploiement sur l’environnement de pré-production d’une nouvelle mise à jour, le testeur a pour but de tester plus souvent et d’automatiser au maximum l’exécution des tirs. 

    Avec un outil comme Neoload, l’automatisation des tests est possible avec Jenkins et il est hautement compatible avec ce mode de fonctionnement itératif. Il peut s’installer sur Linux et offre plusieurs choix en ligne de commande, dont l’installation, la configuration, le lancement de tests, la récupération de résultats, etc. 

    Les tests peuvent être pilotés par le Neoload Web, qui est à la fois un serveur de licence et une application web permettant de lancer les tirs et de suivre leur évolution en temps réel. Les contrôleurs et les injecteurs y sont connectés à distance et attendent les instructions pour l’exécution.  Le projet à lancer est récupéré sur un VCS et envoyé sur les contrôleurs distants automatiquement. 

    Pour que cela fonctionne, l’infrastructure doit exister au préalable. Afin de pouvoir simuler l’activité utilisateur au plus proche des applications cibles, il existe des outils capables de créer des infrastructures dans des data center différents, de configurer et provisionner les machines afin d’avoir un environnement prêt à l’utilisation.

    L’infrastructure dynamique

    Terraform est un outil qui permet de construire, modifier et versionner une infrastructure « as code » en communiquant avec plusieurs providers comme Microsoft Azure, le cloud Google, AWS, et beaucoup d’autres.

    Il permet de configurer des templates de machine et d’éléments réseau, de les dupliquer et les réutiliser pour d’autres environnements.  Les profils DevOps peuvent ainsi maintenir et faire évoluer leurs infrastructures, y ajouter un cluster de machines derrière un load-balancer, ou d’y configurer un nouveau pare-feu pour la gestion de flux, le tout au travers de fichiers de code, versionnés dans un VCS tel que Git.

    Terraform rend donc la configuration de l’infrastructure volatile, automatisable et peut facilement s’intégrer avec Jenkins. Au travers de pipeline, il est ainsi possible de provisionner des VMs et de dupliquer les environnements, d’y installer les logiciels nécessaires aux tests, et de les exécuter. Ceci favorise l’intégration des tests de performance et de charge dans le cycle de développement des applications.

    Pour finir

    La phase de tests de performance prend place à chaque sprint et possède son propre process d’automatisation :

    • Deploy : il faut pouvoir déployer son infrastructure d’injection, au plus près de l’application à tester

    Outils : Terraform / Jenkins

    • Installation + configuration : provisionner les machines en y installant les contrôleurs et injecteurs Neoload

    Outils : Ansible / Puppet & docker

    • Test exécution : lancement des tests automatisation

    Outils : Ansible / Jenkins

    • Save the report : récupération automatique du rapport généré

    En alliant la puissance des outils vus plus haut, il est possible de créer un environnement à partir de fichiers versionnés, de provisionner les machines en y installant Neoload, de piloter les tests à partir du Neoload Web, le tout orchestré par Jenkins. La chaîne complète d’automatisation des tests est couverte du début à la fin. Une fois ce système validé et mis en place, la valeur ajoutée du testeur réside essentiellement dans l’expertise qu’il apporte sur l’analyse des tirs et les préconisations.

    Terry Pitz

    Consultant tests de performance chez WAPSI

    application web, Cloud, Jenkins, Neoload, Terraform

    Related Post

    • Les principes des tests logiciels

      By WAPSI | Comments are Closed

      Cet article a pour finalité de définir les tests logiciels et de mettre en avant les principes des tests logiciels.  Tout d’abord, Qu’est-ce qu’un Test logiciel ?  Contrairement aux idées reçues, le test logiciel ne se limite pas àRead more

    • Dockerisation ou l’automatisation de ses outils de test de performance

      By WAPSI | Comments are Closed

      Nous connaissons l’utilité et l’efficacité des tests avec NeoLoad. Mais connaissons-nous-en vraiment les limites ? N’est-il pas possible d’aller plus loin ?  Pour répondre à ces questions, nous avons imaginé des tests NeoLoad automatisés simultanés qui remonteraitRead more

    • Selenium – les étapes vers l’automatisation

      By WAPSI | Comments are Closed

      Selenium est un framework dédié à l’automatisation de test disposant d’une version IDE et d’une version API nommé Selenium WebDriver qui peut être exploité avec plusieurs langages : PHP, Javascript, C#, Python, Ruby, Perl etRead more

    • Appium, le Selenium de vos applications mobiles

      By WAPSI | Comments are Closed

      Nous avions vu dans un précédent article toutes les possibilités qu’offrait Selenium pour ce qui est de l’automatisation des tests fonctionnels d’une application web https://www.wapsi.fr/selenium-les-etapes-vers-lautomatisation/. Et bien cette fois-ci, nous nous placerons dans une optique de portage deRead more

    • Selenium & Neoload – L’experience utilisateur au premier plan

      By WAPSI | Comments are Closed

      Selenium est un outil d’enregistrement de scripts et un IDE permettant d’effectuer des tests unitaires et de régression. Il est aujourd’hui un standard de l’industrie lorsqu’il s’agit d’automatisation fonctionnelle. Depuis 3 ans, Neoload dispose d’unRead more

    • Best practices script Citrix

      By WAPSI | Comments are Closed

      Ce petit article sympathique s’adresse aux modus qui ont l’intention de réaliser des scripts de test fonctionnel ou des tests de performance sur une application Citrix. Le protocole Citrix nous permet de faire du déport d’écranRead more

    NextPrevious
    WAPSI logo blanc

    NAVIGATION

    • WAPSI
    • Automatisation
    • Performance
    • Sécurité
    • Intelligence
    • Contact
    • Blog

    NOUS CONTACTER

    contact@wapsi.fr

    +33 6 72 35 13 26

    16 rue Washington 75008 Paris

    Tous droits réservés © 2019 WAPSI

    Mentions légales | Politique de Confidentialité
    • Accueil
    • Automatisation
    • Performance
    • Sécurité
    • Intelligence
    • Recrutement
    • Contact
    • Blog
    WAPSI