ASP.NET Core test de charge/de contrainte

Les tests de charge et les tests de contrainte sont importants pour garantir qu’une application web est performante et évolutive. Leurs objectifs sont différents même s’ils partagent souvent des tests similaires.

Tests de charge : testez si l’application peut gérer une charge spécifiée d’utilisateurs pour un scénario donné tout en satisfaisant l’objectif de réponse. L’application est exécutée dans des conditions normales.

Tests de contrainte : testez la stabilité de l’application lors de l’exécution dans des conditions extrêmes, souvent pendant une longue période. Les tests placent une charge utilisateur élevée, soit des pics, soit une charge croissante, sur l’application, soit ils limitent les ressources informatiques de l’application.

Les tests de contrainte déterminent si une application en état de stress peut se remettre d’une défaillance et revenir correctement au comportement attendu. En cas de stress, l’application n’est pas exécutée dans des conditions normales.

Azure Load Testing Preview est un service de test de charge complètement managé qui vous permet de générer une charge à grande échelle. Le service simule le trafic pour les applications, quel que soit l’emplacement où elles sont hébergées. Azure Load Testing Preview vous permet d’utiliser des scripts Apache JMeter existants pour générer une charge à grande échelle.

Le test de charge de Visual Studio 2019 a été déprécié. Le service de test de charge cloud Azure DevOps correspondant a été fermé.

Outils tiers

La liste suivante contient des outils de performances web tiers avec différents ensembles de fonctionnalités :

Test de charge et de contrainte avec des builds de mise en production

Les tests de charge et de contrainte doivent être effectués en mode mise en production et non en mode débogage et développement. Les configurations de mise en production sont entièrement optimisées avec une journalisation minimale. La configuration de débogage n’est pas optimisée. Le mode développement permet de journaliser davantage d’informations qui peuvent avoir un impact sur les performances.