6 conseils pour les tests de résistance pour le Black Friday

La traduction de l'article a été préparée en prévision du début d'un nouveau cours d'OTUS - "Load Testing" .








De l'auteur: Bien que le Black Friday n'arrive pas bientôt, les conseils de cet article seront certainement utiles à ceux qui font des tests de charge.



Le Black Friday approche très vite. Il est maintenant temps de commencer à préparer votre site Web ou votre application pour l'afflux attendu d'utilisateurs, tout comme le font vos concurrents.



Vous trouverez ci-dessous 6 conseils pertinents pour les tests de résistance en général et en particulier dans le contexte du Black Friday.



1. Commencez les tests de performance le plus tôt possible



Comme le dit le dicton bien connu: "Celui qui se lève tôt, Dieu le donne." Il en va de même pour les tests de performance. Plus tôt vous commencez les tests de résistance, plus tôt vous trouvez des goulots d'étranglement et plus vite vous pouvez les corriger. Assurez-vous que tout est prêt avant qu'il ne soit trop tard.



Alors que les tests ont tendance à se déplacer vers la gauche, de plus en plus d'organisations adoptent des stratégies d'intégration continue (CI), développement continu (CD) et tests continus (CT). En effectuant régulièrement des tests de charge chaque fois que vous modifiez le code, validez et déployez des assemblys, vous trouverez la plupart des problèmes avant les événements majeurs, tels que le Black Friday. Cela ne signifie pas que vous ne pouvez pas effectuer de tests spéciaux avant le Black Friday, mais les approcher aussi préparés que possible. Cela rappelle un peu les spectacles et les performances, où la répétition générale est précédée de nombreuses autres répétitions.



Taurus est un outil d'automatisation open source qui intègre des systèmes de test de charge tels que JMeter , The Grinder Gatling , Locust.io et BlazeMeter dans des outils CI comme Jenkins... Suivez ce lien pour en savoir plus .







2. Testez l'ensemble de l'écosystème



Lors de la préparation de votre environnement pour les tests de résistance, testez l'infrastructure environnante, les logiciels et l'application elle-même. Cela inclut également le matériel de communication, les bases de données, les réseaux, etc. En rendant l'environnement de test aussi proche que possible de la production, vous rendez le test plus précis, augmentant ainsi le nombre de goulots d'étranglement découverts à temps et réduisant le risque de mauvaises surprises pendant les pics du Black Friday.





3. Gardez une trace des performances du backend pendant les tests.



Les tests de charge vous permettent de surveiller et d'analyser les KPI (indicateurs de performance clés) de vos performances, tels que le temps de réponse et les délais, ainsi que les corrélations entre eux. Mais il est également important d'examiner les indicateurs clés de performance tels que les accès au cache et les requêtes de base de données, le journal des erreurs pour les exceptions, ainsi que les caractéristiques matérielles standard telles que la charge CPU / mémoire / réseau et l'état de mise à l'échelle automatique.



Diverses solutions élargissent les possibilités d'analyse des résultats des tests. New Relic surveille les performances des applications, AppDynamics surveille les utilisateurs finaux et Amazon Cloud Watch surveille les ressources cloud AWS.



4. Créez et modélisez des scénarios réels pour vos utilisateurs



Les tests de charge doivent prendre en compte les caractéristiques de vos utilisateurs et leurs besoins. Créez des scripts en fonction de leurs habitudes. S'ils aiment passer beaucoup de temps à parcourir le catalogue dans votre application, concentrez-vous là-dessus. S'ils ont tendance à vérifier minutieusement leur identité sur le formulaire de votre site, assurez-vous que votre test de charge inclut ces pauses. Les tests de résistance réalistes suppriment les goulots d'étranglement pertinents pour une expérience utilisateur exceptionnelle.



5. Suivez l'expérience utilisateur



Les tests de charge garantissent que votre site ou application ne repeint pas aux moments critiques, mais vous voulez probablement que vos utilisateurs aient également une excellente expérience. Dans le cadre de l'approche DevOps et CI, nous vous recommandons également de tester vos navigateurs Web et vos systèmes d'exploitation à l'aide d'outils tels que Selenium et Sauce Labs . De cette façon, vous pourrez détecter les modifications qui n'ont pas affecté les performances mais ont affecté l'expérience utilisateur.







6. Envisagez des partenaires tiers et des prestataires de services



Lorsque vous apportez des modifications à votre application ou à votre site, vous n'affectez pas seulement votre propre produit. Vous pouvez également influencer les scripts tiers dans votre application ou votre site Web, ou vous pouvez perturber les appareils ou serveurs tiers si vous ne les préparez pas correctement. Par exemple, différents CDN nécessitent des approches différentes et AWS Load Balancing (ELB) nécessite un préchauffage avant l'équilibrage de charge.



Bien que cela fasse partie de ce que vous testez, nous vous recommandons de contacter vos partenaires à l'avance et de faire tous les préparatifs nécessaires. Cela garantit que le test de charge tiendra compte de leur formation et de leurs capacités complètes (au lieu de capacités partielles, car cela peut se produire s'ils n'ont pas la possibilité de se préparer). Cela vous permet également d'économiser du temps et des efforts car vous n'avez pas à vous attaquer à des superpositions tierces graves qui pourraient être facilement évitées.



Êtes-vous prêt pour le Black Friday? Commencez à vous préparer maintenant ! Pour essayer BlazeMeter, entrez simplement votre URL dans la case ci-dessous et votre test commencera dans quelques minutes!



www.blazemeter.com/blog/6-load-testing-tips-black-friday



En savoir plus sur le sujet






— Perfomance Center (PC) Vugen. .





All Articles