Success Story: Control Path

A propos

ControlPath est un éditeur de logiciels basé aux Etats-Unis spécialisé dans les solutions d’intégration, de protection et d’audit de données en temps réel. Les solutions de ControlPath sont destinées aux banques et établissements financiers.

Challenges

Notre application est basée sur une plateforme java 3-tiers avec un serveur Tomcat en front end. Notre interface graphique repose sur du trafic Ajax et est basée sur une communication asynchrone avec le serveur web. Sachant que notre application peut être répartie verticalement sur 3 serveurs (Web, applicatif, BDD), nous sommes également dépendants de nombreux facteurs qui peuvent affecter la performance pour les utilisateurs finaux.

Nous étions à la recherche d’un outil de test en charge complet qui nous permette de réaliser des tests avec une charge constante ou en pics, de tuner la performance du code et de publier des spécifications relatives à la performance en fonction des configurations de nos clients.

Nous avions besoin de pouvoir:

  • Enregistrer des activités incluant des GET/POST classiques et du trafic Ajax à partir d’un client Internet Explorer,
  • Créer différents profils d’utilisateurs et les jouer en parallèle avec différents paramètres d’authentification,
  • Injecter des paramètres de formulaires et d’URL de façon aléatoire,
  • Capturer les temps de réponses des pages, des requêtes http POST/GET et les données du serveur,
  • Générer des synthèses des tests en plus d’avoir accès à tout le détail des données et erreurs générées,
  • Générer une forte charge distribuée sur plusieurs générateurs de charge.
  • Grapher les résultats du test,
  • Surveiller le déroulement du test en temps réel,
  • De simplicité, simplicité et encore plus de simplicité sachant que l’outil allait être utilisé par beaucoup de monde dont du personnel non technique,
  • D’outils graphiques permettant de gérer les scripts, les utilisateurs virtuels et les paramétrages des tests,
  • Générer des tests de charge sans la nécessité d’avoir été formé sur l’outil ni d’avoir une équipe dédiée qu’aux tests.

Solution

Nous avons fait le choix de NeoLoad très rapidement compte tenu de la facilité et rapidité avec laquelle nous l’avons pris en main. Au fur et à mesure, nous avons découvert des fonctionnalités très riches qui nous ont aidé à débugger et à résoudre des problèmes au-delà du simple test en charge.

De plus, NeoLoad est vraiment très facile à configurer même lorsqu’il s’agit de mener des tests plus complexes. Quand d’autres outils nécessitent du script manuel, NeoLoad enregistre et rejoue les scénarios des plus simples aux plus complexes en permettant de paramétrer les scénarios via une série de fonctionnalités et d’opérateurs logiques utilisables sur un simple mode de glisser/coller.

Lorsque que nous avons attaqué des tests plus « sérieux » en terme de charge, nous avons été surpris par la pertinence des données fournies par NeoLoad – nous avons été en mesure de récupérer des données disparates et hétérogènes et de les corréler facilement dans NeoLoad afin de détecter les anomalies. NeoLoad est même allé plus loin en nous permettant de sauvegarder automatiquement nos résultats de test, facilitant ainsi considérablement l’accès aux informations.

Une autre fonctionnalité vraiment appréciable est la facilité pour publier les rapports de test. Nous avons 2 publics principaux pour les résultats des tests de charge : l’équipe d’ingénierie et nos clients. Nos ingénieurs ont besoin d’analyses détaillées rapidement disponibles tandis que nos clients veulent une synthèse des tests mettant en exergue les résultats principaux. Les autres solutions que nous avons évaluées ne pouvaient pas automatiquement fournir ce type de synthèse sans passer par une configuration manuelle complexe et longue.

Notre produit est utilisé par des grandes banques américaines et internationales et il est donc critique de vérifier la qualité et la performance de nos applications. NeoLoad joue un rôle très important dans ce domaine pour ControlPath et pour ses clients car il nous permet de fournir une solution de meilleure qualité et d’en fournir la preuve à nos clients. La décision d’achat en est indéniablement facilitée.

Et pour ajouter une cerise sur le gâteau, le coût de NeoLoad est très largement inférieur à celui de ses concurrents directs. Le prix d’entrée de NeoLoad a été suffisamment bas pour nous permettre de finaliser une décision d’achat au niveau du département sans perdre des semaines voire des mois à « vendre » le produit auprès de notre direction. Avec les produits concurrents, nous aurions du obtenir l’accord du PDG. Avec NeoLoad, nous avons pu acheter, tester et optimiser dans la période qui aurait été nécessaire à finaliser la décision d’achat pour les outils concurrents.

Notre période d’évaluation a été la plus courte de ce dont je me souvienne – nous avons pu installer NeoLoad et générer un premier test de charge en moins d’une heure après avoir téléchargé la version gratuite sur le site. Pour être franc, nous avions pris notre décision d’achat à la fin de la première journée d’évaluation tellement elle a été simple, rapide et efficace.

Résultats du test et valeur ajoutée

Nos test en charge nous ont permis de publier des spécifications techniques adressant les problématiques de performance de nos clients. Nous avons également été en mesure d’isoler une erreur indétectable avec des tests manuels.

Au delà de ces aspects, nous avons utilisé les tests en charge pour générer des flux massifs de données pour tester la robustesse de nos processus et équipements de stockage de données.

Ces tests nous ont permis d’isoler des problèmes d’utilisation trop intensive des commandes SQL, de paramétrages d’index et une série de problématiques liées au stockage de données. Ces tests auraient normalement requis beaucoup plus de temps homme pour être réalisés.

Nous avons pu publier des métriques qu’aucun de nos concurrents n’a été en mesure de fournir à ce jour : un test en charge avec une injection artificielle de délais TCP entre nos serveurs web, applicatif et BDD pour déterminer l’impact de ces délais sur la performance vue par l’utilisateur final – les résultats ont été particulièrement étonnants et nous sommes la seule société dans notre domaine d’activité qui publie des statistiques relatives à l’impact de la latence des paquets entre les serveurs de l’application .

Finalement, ce type de test en profondeur nous a aidé à nous démarquer de la concurrence en proposant une solution optimisée et plus stable à nos clients.