Votre application mobile est jolie, stable et fait exactement ce pour quoi elle a été conçue. On pourrait croire que tout roule… mais avez-vous pensé aux tests de performance ?
Véritables touche-à-tout, ils s’assurent que l'objet de nos tests utilise efficacement le temps, les actions et les diverses ressources à sa disposition. Et ce, même dans des conditions exceptionnelles.
Comme dans tout contrôle qualité, il est nécessaire de bien se préparer pour obtenir des résultats fiables. C’est pourquoi on vous donne trois conseils pour parfaire vos tests de performance !
1. Connaître les enjeux
Quand on parle d’une application performante, on pense avant tout à sa vitesse d’exécution, et c’est normal ! Après tout, un parcours utilisateur qui paraît mou génère de la frustration. Ainsi, plus le chargement d’un écran est long, plus la probabilité d’abandon de l’action associée augmente : de 38 % au bout de 4 secondes, on passe à 61 % après 10 secondes (selon une étude de l’éditeur Solarwinds).
Ignorer la performance nous expose à d’autres risques : sur-utilisation de ressources, failles de sécurité, dégâts matériels…La vigilance est particulièrement de mise pour les applications mobiles.
Celle-ci passe par des tests conçus pour détecter ces faiblesses techniques au plus tôt, assurant la fiabilité de l’application sur le long terme. Et n’oublions pas le rôle de la charge dans les performances ! Quand les données s’accumulent et le trafic grimpe en flèche, l’expérience utilisateur doit rester acceptable. Une boutique en ligne prévoyante, par exemple, se préparera systématiquement pour l’affluence des périodes de soldes.
Les tests de performance répondent à des problématiques à la fois logicielles et commerciales. Ils ont donc tout à fait leur place dans le cycle de vie d’une application.
2. Respecter ses propres limites
Des tests unitaires à la livraison finale, de nombreux paramètres peuvent être mesurés. Parmi eux, on ne retiendra que ceux que l’on peut quantifier, tels que :
- La vitesse d’affichage d’une page
- La charge maximale supportée par les serveurs
- La puissance matérielle utilisée (batterie, mémoire vive...)
- Le nombre d’appels réseaux...
Cette liste n’est évidemment pas exhaustive, il vous convient de la compléter selon la structure de votre application, y compris dans ses évolutions.
Quoi qu'il en soit, optimiser ces métriques demande une certaine compréhension du produit. Stockage de médias, mise en cache, gestion de la mémoire… Le champ d’action est aussi large que le code ! Mais des plafonds techniques ou budgétaires peuvent freiner vos ardeurs. Parfois, il faut accepter des obstacles que l’on ne peut éviter.
C’est donc aux différents acteurs du projets de définir ensemble des attentes réalistes. De ces échanges ressortent des objectifs qui, comme pour tout test, sont profondément liés au contexte. Par exemple, les attentes de capacité sont différentes pour une application de gestion de piscine ou un réseau social.
Abordez donc les tests de performance de façon rationnelle et vous en tirerez des résultats pertinents pour vos besoins.
3. Préparer le terrain
Une fois vos cibles bien définies, la préparation des tests peut commencer. Un environnement au plus proche des capacités de la production est évidemment essentiel. Cependant, il faut également des outils de mesure complets. Car si s’armer d’un chronomètre et de son expérience est tentant, les résultats manqueront de précision ! D’où l’intérêt d’outils spécialisés dans le monitoring.
Heureusement, il n’y a pas à chercher bien loin : X-code et Android Studio sont de bons points de départ pour scruter vos sessions en direct, respectivement avec Organizer/MetricKit et Android Profiler.
Si vous souhaitez une analyse plus poussée, il existe de nombreuses solutions supplémentaires. Parmi elles, les outils d’injection sont capables de simuler des montées en charge personnalisables. Les plus utilisés dans le monde du test sont Jmeter, Gatling ou encore Grafana K6, qui ont l’avantage d’être open-source.
Une fois vos premiers tests de performance réussis, n’oubliez pas de les archiver : ce sont des historiques précieux avec lesquels comparer vos futurs résultats. De plus, ils doivent être tout aussi à jour que vos scénarios de test pour suivre l’évolution technique de votre application.
À terme, ce type d’analyse pourrait très bien revenir à des modèles IA qui seraient capables de détecter des tendances et d’anticiper l’impact d’une livraison sur la performance.
Résumons : les tests de performance ne sont pas à sous-estimer. Ce sont des alliés précieux pour la pérennité de votre application, à la condition que vous les prépariez à chaque étape du projet. À vous désormais de choisir les tests qui conviendront le mieux à vos objectifs... mais cela pourrait bien faire l’objet d’un de nos futurs articles !
Clément Serin -Testeur Fonctionnel