Performance applicative : êtes-vous sûr de tester ce qu'il faut, comme il faut ?

Par :
Jérôme THOMAS

jeu, 12/05/2016 - 14:20

7 conseils pratiques pour des tests de charge pertinents et efficaces

Les tests de charge sont largement rentrés dans les mœurs IT, encore faut-il qu'ils soient pertinents. On constate en effet qu'ils se limitent très souvent à un périmètre d'usages restreint, au dépend d'autres cas de figure, perçus comme trop exceptionnels ou trop imprévisibles pour être significatifs. Il n'est donc pas rare qu'une application, bien que testée sous charge avant sa mise en production, rencontre des problèmes de performance lors des périodes de fort trafic. 

Ces périodes de fort trafic (soldes, fêtes de fin d'années, promos exceptionnelles, etc.) sont pourtant critiques pour les entreprises : d'une bonne performance de leurs applications dépendent non seulement une part significative de leur chiffre d'affaires - les périodes de soldes peuvent générer jusqu'à 30 % du chiffre d'affaires annuel des e-commerçants - mais aussi leur réputation et la fidélité de leurs clients. Aujourd'hui, les consommateurs hyper connectés sont très exigeants quant à la qualité de leurs interactions avec les marques, et ne font preuve d'aucune patience face à des lenteurs ou pire, des plantages. Ils ont tôt fait d'aller toquer à la porte d'à côté en cas de frustration.

Il est donc essentiel pour le business que l'IT peaufine les tests de charge, en prenant notamment en compte la complexité inhérente aux applications actuelles, afin d'apporter à leurs clients la meilleure expérience possible, quel que soit le contexte, le device, le lieu et le moment de l'interaction.

Démonstration, à travers 7 conseils pratiques :

1. Pensez « Client »

Vos clients sont le cœur de votre business ! Au-delà des tests fonctionnels et d'un monitoring du back-end, vous devez impérativement concevoir les tests de charge en fonction du comportement et de l'expérience de vos utilisateurs réels. Votre priorité : garantir la bonne expérience de vos clients lors des périodes de fort trafic.

Qui sont vos utilisateurs ? Quels devices utilisent-ils ? Quelles sont leurs préférences en matière d'achat - produits, modes de paiement, modes de livraison... ? Offrir la meilleure expérience à vos clients nécessite d'abord de bien les connaître. La combinaison d'outils de web analytics et de mesures de l'expérience des utilisateurs réels (User Experience Management - UEM) peut vous y aider, notamment pour identifier les points critiques sur lesquels concentrer vos tests.

2. Ciblez les bons objectifs

En permettant d'évaluer l'expérience de chaque client quelles que soient les conditions, les données de performance type UEM donnent une vision précise de l'impact de la performance sur les taux de conversion, pour chaque étape de chaque transaction. Ce qui permet de déterminer des cibles de tests pertinentes, afin d'atteindre les objectifs de conversion visés.

Sans compter que cela permet de renforcer la crédibilité de l'IT vis-à-vis des équipes métiers : l'interprétation des résultats de tests en termes de revenu leur permet de parler le même langage et de partager des objectifs intelligibles pour tous.

3. Prenez en compte TOUS les comportements

Les utilisateurs d'un site ne se comportent pas de manière uniforme, en suivant mécaniquement chaque étape d'un processus d'achat. Certains parcourent le site sans choisir de produits, d'autres vont mettre quelques produits dans leur panier puis abandonner à l'étape de livraison. Peu d'entre eux, finalement, vont jusqu'au bout du processus -  le paiement.

Or, l'ensemble de ces comportements, même s'ils ne rentrent pas tous en ligne de compte dans le calcul du taux de conversion, n'en mobilisent pas moins des ressources. Ils devraient être considérés lors des tests de performance, puisqu'ils participent aussi à la charge supportée par le site ou l'application.

4. Testez en production

Si les tests à petite échelle, réalisés dans l'intimité des labos IT, suffisent à trouver les problèmes les plus flagrants, ils ne permettent en général pas de détecter les plus subtils, qui surgiront toutefois lorsque l'application sera en production.

Nombreux sont ceux qui rechignent à tester leurs applications en environnement de production, craignant d'impacter les utilisateurs ou les métriques de production. Mieux vaut pourtant détecter les problèmes avant les utilisateurs :

- en identifiant les points d'étranglement dans les pare-feu, les load balancers ou les accélérateurs SSL ;

- en testant les dépendances des parties tierces (idéalement, en conditions réelles) ;

- en testant les CDNs (Content Delivery Networks).

5. Ne négligez aucune étape

Si les utilisateurs tolèrent généralement des ralentissements dans les dernières étapes d'une commande, un processus de validation de commande hyper lent ou qui atteint le délai d'expiration peut avoir de sérieuses conséquences en termes de revenu et d'image. Prévoir des tests tout au long du processus de commande, jusqu'à l'étape de paiement, demande certes du temps, et peut même nécessiter de mettre votre site en maintenance pendant quelques heures, mais le jeu en vaut la chandelle.

- Demandez à votre prestataire de solution de paiement de pouvoir basculer en mode de test. Cela permet de conserver l'ensemble des étapes du processus de paiement, sans toutefois manipuler de l'argent réel.

- Prévoyez également un moyen d'annuler les expéditions. Les plateformes e-commerce proposent en général ce type d'options.

6. Travaillez avec le marketing

Les performances d'une application sont techniques, mais aussi étroitement liées aux objectifs marketing : volume de trafic attendu, pages d'atterrissage visées, ou encore codes promotionnels. Par exemple, ces derniers peuvent avoir un impact différent sur les ressources systèmes selon leur nature (générique ou unique) et leur champ d'application (réduction sur le montant du panier, réduction sur les frais d'envoi, etc.).

D'où l'importance de communiquer avec le marketing pour prendre en compte l'ensemble des objectifs fixés, des stratégies envisagées et des conséquences potentielles sur la performance de l'application. Il ne s'agit pas seulement de réaliser des tests sur la base d'une charge légèrement supérieure à celle de l'année précédente, mais plutôt de se projeter sur ce que pourrait être la croissance dans les deux ou trois années à venir, afin de parer à toute éventualité.

7. Testez le plus tôt possible

Enfin, n'attendez pas le dernier moment pour réaliser vos tests de charge. Idéalement, il faudrait tester tout au long du processus de développement. A défaut, prévoyez au moins suffisamment de temps (plusieurs semaines, voire plusieurs mois) avant le go-live pour tester, corriger et re-tester votre application. Ce n'est que dans ces conditions que vous pourrez être effectivement prêt à faire face aux pics de trafic, quelle que soit leur origine.

Dernier conseil, testez dès maintenant la performance de votre site web ou mobile en cliquant ici.

A propos de l'auteur

Jérôme THOMAS
Sales Engineer chez Dynatrace