# HP LoadRunner

HPE LoadRunner est un outil de test logiciel de Hewlett-Packard Enterprise. En septembre 2016, HPE annonçait la vente de ses logiciels d'entreprise, y compris les produits Mercury, à Micro Focus. Il est utilisé pour tester les applications, mesurer le comportement système et la performance en charge. HPE a acquis LoadRunner dans le cadre de son acquisition de Mercury Interactive en novembre 2006$^,$.
HPE LoadRunner peut simuler des milliers d'utilisateurs simultanément à l'aide de logiciels, enregistrant et dans un second temps analysant la performance des principaux composants de l'application.
LoadRunner simule l'activité de l'utilisateur en générant des messages entre les composants de l'application ou en simulant les interactions avec l'interface utilisateur tels que les appuis sur les touches ou les mouvements de la souris. Les messages/interactions générées sont stockées dans des scripts. LoadRunner peut générer les scripts par leur enregistrement, telles la connexion via des requêtes HTTP entre un navigateur web client et le serveur web d'une application.

## L'Architecture

Les composants clés de l'HPE LoadRunner sont :
* Générateur de charge génère la charge contre l'application par les scripts suivant.
* VuGen (Virtual User Generator) pour la génération et l'édition de scripts.
* Contrôleur contrôle, lance et séquence des instances du Générateur de Charge - spécificiant quel script utiliser, pour combien de temps, etc. Pendant les exécutions le Contrôleur reçoit en temps réel les données de surveillance et affiche l'état.
* Agent des Processus gère la connexion entre le Contrôleur et le Générateur de Charge des instances.
* Analyse assemble les logs de différents générateurs de charge et formate des rapports pour la visualisation des données résultant de l'exécution et des données de surveillance.
Les Modules sont disponibles pour permettre HPE LoadRunner de capturer, de relire et de scripter différentes applications et technologies réseau. Ce qui inclut le support pour :
* applications utilisant Microsoft .NET et Java ;
* serveurs de base de données telles que Microsoft SQL Server et Oracle ;
* protocoles d'interconnexion réseaux, tels que DNS, FTP et LDAP ;
* protocoles e-mail incluant IMAP, MAPI, POP3 et SMTP ;
* technologies de client à distance telles que Citrix ICA et RDP.
HPE LoadRunner peut fonctionner de manière autonome ou plusieurs instances peuvent être mise en commun pour une utilisation par plusieurs personnes sous le contrôle de HP PerformanceCenter.

## Historique

| Version | Service Pack | Release date | Notes |
| 5.0 | NC | avril 2000 |
| 6.5 | NC | juin 2000 | Ajout technologie "TurboLoad" |
| 7.8 | NC | septembre 2003 |
| 7.8 | Feature Pack 1 | septembre 2003 | Ajout du support pour Windows XP. |
| 8.0 | NC | août 2004 | Ajout des "Additional Attributes" aux réglages a l'exécution. |
| 9.10 | NC | février 2008 |
| 9.51 | NC | 6 juillet 2009 |
| 9.52 | NC | 14 juin 2010 |
| 11.0 | NC | septembre 2010 |
| 11.0 | Patch 1 | 6 janvier 2011 |
| 11.0 | Patch 2 | 22 février 2011 | Added support for Visual Studio 2010 and Protocol Updates to Ajax TruClient, Citrix, Flex, Web. |
| 11.0 | Patch 3 | 20 juin 2011 | Added support for IE9, Mobile protocols, GraniteDS. |
| 11.0 | Patch 4 | novembre 2011 | HP SV (Service Virtualization Integration) with Controller, GWT-DFE(Google Web Toolkit- Data Format Extension), RTMP Tunneled, Messaging support, Streaming support, Flex Correlations. |
| 11.50 | NC | novembre 2011 | Added New VuGen IDE, Ajax TruClient for IE, Web Protocol Asynchronous Support, Flex, Mobile, .NET, Web Services, 64-bit applications recording, IPv6 support. |
| 11.50 | Patch 1 | 20 juillet 2012 | Added Ajax TruClient IE protocol. |
| 12.00 | NC | 18 mars 2014 | Added ability to instantiate instances on Amazon EC2 directly from LoadRunner UI. |
| 12.02 | NC | 21 janvier 2015 | Added ability to instantiate instances on Microsoft Azure directly from LoadRunner UI. |
| 12.50 | NC | août 2015 | JavaScript as a new scripting language for the Web-HTTP/HTML protocol Chrome TruClient support added Google Compute Engine supported as cloud provider Ability to record a TruClient script with one browser and replay it with any Integrated Network Virtualization solution (formerly known as Shunra) Docker-based Linux installation Generating scripts from HAR files Major enhancements in .NET and Citrix protocols |
| 12.50 | Patch 3 | 5 mai 2016 | Provides support for TruClient - Native Mobile protocol in HPE Mobile Center Adds support for HPE Mobile Center 1.51 Fix for Amazon Cloud provisioning |
| 12.53 | NC | mai 2016 | Git integration in VuGen Java 8 support, 64-bit replay support in Java protocols New PCoIP protocol HTTP Video Streaming (HTML5, HLS) support HTTP/2 support Enhanced SAPUI5 recording in TruClient REST step-builder editor in VuGen Support of Win 10 and recording using MS Edge browser Built-in Linux compatibility test in VuGen Improved performance of Linux Load Generators, support of additional Linux distributions |
| 12.53 | Patch 1 | 15 juin 2016 | Fixes a memory allocation issue that can impact Web HTTP/HTML protocols. |

### HPE LoadRunner dans le Cloud

À partir de 2010, HP a commencé à offrir des versions sur demande de LoadRunner à disposition par cloud computing services tels que Amazon Elastic Compute Cloud et, plus tard, Microsoft Azure. Version 12.50 ajouté l'utilisation de Google Compute Engine. HP sélectionnés partenaires sont également en mesure de fournir LoadRunner dans le Nuage, comme un service à la demande de leurs plates-formes SaaS.

## Les langages de script

HPE LoadRunner client d'émulation de scripts sont généralement créés à l'aide de la norme ANSI du langage de programmation C. Cependant, Java et d'autres programmes peuvent également être exécuté par HPE LoadRunner. Version 12.50 ajouté l'utilisation de JavaScript pour le Web-HTTP(S)/les pages HTML.
Les scripts d'autres outils de test tels que Apache JMeter, NUnit, et Selenium peuvent être exécutés par LoadRunner en déclarant une bibliothèque d'interface. Cela permet de scripter pour envoyer des paires clé-valeur pour le contrôleur que le script exécute, permettant des temps de réponse pour être associées à des conditions telles que le nombre d'éléments affichés dans l'interface utilisateur.