Technologies d’essai de charge

Les protocoles suivants sont pris en charge par la plate-forme de test LoadView.

Choisissez l’une des technologies énumérées ci-dessous pour en savoir plus.

TEST DE CHARGE AJAX

Il y a plus de 20 ans, il n’y avait aucun moyen de mettre à jour une page Web sans afficher un écran blanc ennuyeux lors du rechargement de toute la page. Heureusement, AJAX a comblé cet écart et introduit un concept de charge de données asynchrone, qui permet à l’utilisateur d’interagir avec la page pendant que les données se chargent en arrière-plan. Aujourd’hui, ce concept est à la base de nos applications web riches en contenu et interactives.

AJAX est une abréviation pour JavaScript asynchrone et XML et c’est plus qu’une technologie parce qu’elle se compose de HTML, CSS, JavaScript, XMLHttpRequest et un langage de script côté serveur comme PHP. Une demande AJAX se compose des 6 étapes suivantes :

  1. Une page Web déclenche un événement de changement de contenu
  2. Le gestionnaire de cette page Web crée un objet XMLHttpRequest
  3. L’objet XMLHttpRequest demande un document à partir du serveur
  4. Le serveur récupère les données appropriées et les renvoie
  5. Le XMLHttpRequest déclenche un événement pour informer la page Web que les données sont arrivées
  6. Le gestionnaire traite les données et les affiche

Le revers de la médaille du point de vue d’un ingénieur de la performance est que l’automatisation d’une telle communication asynchrone est délicate. Envisagez de tester une application Web qui doit servir 100 utilisateurs simultanés et 10000 recherches par heure. Vous êtes chargé de valider si le temps de réponse moyen de cette application est dans les limites de 3 secondes.

Fondamentalement, vous avez les deux options suivantes pour un scénario de test de charge:

 

  1. Simulation basée sur le protocole
  2. Simulation basée sur le navigateur

Comparons le niveau de protocole avec la simulation de charge au niveau du navigateur. Le tableau ci-dessous reflète les résultats de cette expérience :

description

Capture d’écran

Simulation au niveau du protocole

1 Demande client-serveur

Temps de chargement de 0,52 sec

Simulation de protocole AJAX

Simulation au niveau du navigateur

32 demandes client-serveur

Temps de chargement de 2,18 s

Simulation de navigateur AJAX
Si vous décidez d’utiliser la simulation basée sur le protocole, vous manquerez 10000 x 31 = 310 000 demandes et signalerez des temps de réponse incorrects parce qu’une grande partie de ses temps de réponse sont perdus du côté du client. Évidemment, cela conduirait à des résultats de tests de charge totalement inexacts.

Test de charge AngularJS

Les développeurs front-end aiment AngularJS car il contribue à simplifier le code complexe. Ce cadre simple et puissant résout les problèmes de manipulation DOM sujettes aux erreurs avec sa description déclarative du flux d’interface utilisateur. AngularJS est un framework JavaScript open source et peut être ajouté à une page avec une balise de script simple telle que:

<script src=”https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js»>
</script>

Il prend en charge la séparation des préoccupations et apporte des éléments dynamiques au HTML statique. Comme toute autre application, les systèmes angularJS peuvent également être rapidement touchés par des problèmes de performances. Voici quelques étapes que vous pouvez prendre pour accélérer les choses sur votre prochain projet de test de charge NG:

  • Réduire au minimum le nombre d’opérations DOM
  • Réduisez l’ensemble des éléments de votre arbre DOM
  • Utilisez chrome profiler pour vérifier l’empreinte mémoire
  • Réduisez les activités de votre veilleur

LoadView vous donne tout ce dont vous avez besoin quand il s’agit de tests de charge AngularJS précis.

L’exemple ci-dessous utilise une entrée de message basée sur AngularJS. La capture d’écran ci-dessous contient son code source sur le côté gauche et l’application sur le côté droit.

Entrée de message AngularJS

description

Capture d’écran

Enregistrer le script de test pour l’application AngularJS

Enregistrez le script AngularJS avec l’enregistreur Web EveryStep

AngularJS Enregistrer script de test

Test de charge de conception pour application AngularJS

Configurer le plan d’exécution des tests

Test de charge de conception AngularJS

Test de charge flash

Flash est un logiciel de création et est utilisé pour créer des animations graphiques vectorielles. Il s’agit d’une technologie indépendante de plate-forme et fonctionne sur n’importe quelle machine où un lecteur Flash est installé. Pour des raisons de sécurité, les entreprises interdisent souvent flash de leur infrastructure. Cependant, vous pouvez construire de belles applications avec Flash, car les frais généraux sont faibles. Cependant, le seul petit inconvénient de Flash est qu’il ne s’exécutera pas sans plugin lecteur Flash activé.

LoadView vous donne tout ce dont vous avez besoin quand il s’agit de tests de charge FLASH précis. J’ai utilisé une calculatrice flash simple: https://www.dotcom-tools.com/samples/Calculator.html. Mon scénario de test de charge exécute un simple 1 + 2 = 3 calcul.

description

Capture d’écran

Enregistrer un script de test pour une application Flash

Enregistrez le script avec l’enregistreur Web EveryStep

Ajouter la vérification

Exécuter et télécharger le script

Flash Enregistrer un script de test

Concevoir un test de charge pour une application Flash

Configurer le plan d’exécution des tests

Distribuez votre utilisateur virtuel sur des injecteurs de charge situés dans le monde entier

Flash Design un test de charge

Exécutez le test de charge pour l’application Flash

Regardez comment LoadView augmente la charge et prenez note des temps de réponse de votre application Flash pendant le test de charge.

Flash Exécuter un test de charge

Analyse des résultats pour l’application Flash

Une fois l’essai terminé, LoadView fournira un rapport détaillé, des vidéos et des informations précieuses, telles que des graphiques de cascades ou des vidéos.

Partagez ceux que votre équipe Dev identifiera la cause profonde des points chauds.

Analyse des résultats flash

Question connue

Le script d’une application flash ne fonctionne qu’avec Internet Explorer. Vous recevrez l’erreur suivante si vous utilisez Chrome ou tout autre navigateur pour votre enregistrement.

Numéro flash

Test de charge HTML5

HTML5 est la cinquième version du HTML, standard, qui est toujours l’épine dorsale de nos applications Web. Les ingrédients de HTLM5 sont:

  • HTML qui fournit la structure
  • CSS qui s’occupe de la présentation
  • JavaScript qui fait bouger les choses

HTML5 vous donne tout ce qu’il faut pour implémenter de belles applications en cours d’exécution dans votre navigateur sans avoir besoin de plugins. Ces applications sont connues sous le nom d’applications multiplateformes. Ils s’exécutent sur n’importe quel appareil si votre navigateur prend en charge HTML5. Ce qui suit est un exemple de test de charge HTML5 avec LoadView.

description

Capture d’écran

Enregistrez un script de test pour une application HTML5

Enregistrez le script avec l’enregistreur Web EveryStep

Ajouter la vérification

Exécuter et télécharger le script

HTML5 Enregistrez un script de test

Concevoir un test de charge pour une application HTML5

Configurer le plan d’exécution du test

Distribuez votre utilisateur virtuel sur des injecteurs de charge situés dans le monde entier

HTML5 Concevoir un test de charge

Exécuter un test de charge pour une application HTML5

Lorsque LoadView augmente la charge, visualisez les temps de réponse de votre application HTML5 et votre comportement lors de l’exécution du test de charge.

HTML5 Exécutez un test de charge

Analyse des résultats pour une application HTML5

Une fois l’essai terminé, LoadView fournira un rapport détaillé, des vidéos et des informations précieuses, telles que des graphiques de cascades ou des vidéos.

Partagez ces résultats avec votre équipe Dev pour identifier la cause profonde des points chauds.

Analyse des résultats HTML5

Test de charge JavaScript

JavaScript est le langage de programmation majeur du web. Il est utilisé pour apporter des fonctionnalités interactives sur le web et construit les bases de nombreux cadres, tels que AngularJS ou AJAX. Les pirates ont récemment utilisé JavaScript pour exécuter des commandes critiques sur la machine des victimes. Vous pouvez désactiver l’exécution JavaScript dans votre navigateur, mais cela bloquera de nombreux sites Web sur votre ordinateur.

Il existe certaines limitations de performances connues quand il s’agit de JavaScript. C’est une bonne idée d’enquêter sur ceux de votre prochain test de charge basé sur JavaScript. Voici quelques choses que vous pouvez faire pour faciliter le processus de script :

 

  • Réduire l’activité en boucles
    • Ne faites pas de calculs à l’intérieur de vos boucles, car cela est exécuté plusieurs fois et affecte les temps de réponse.
  • Réduire l’accès aux DOM
    • L’accès aux DOM est lent. Créez une variable locale, attribuez la valeur requise et utilisez-la pour vos opérations.
  • Réduire la taille des DOM
    • Garder la taille DOM petite permettra d’accélérer les temps de chargement des pages et l’accès DOM via JavaScript.
  • Retarder le chargement JavaScript
    • Chargez le script à la fin de votre page car il bloquera le rendu de la page jusqu’à ce que le téléchargement soit terminé. Alternativement, vous pouvez également utiliser le «defer=true» tag charge le script après que votre page a rendu.

LoadView vous donne tout ce dont vous avez besoin quand il s’agit de tests de charge JavaScript précis. L’exemple ci-dessous illustre à quel point les tests de charge JavaScript sont faciles avec LoadView.

description

Capture d’écran

Enregistrez le script de test pour votre application

Enregistrez le script avec l’enregistreur Web EveryStep

Exécuter et télécharger le script

Script de test d’enregistrement JavaScript

Test de charge de conception pour votre application

Configurer le plan d’exécution des tests

Distribuez votre utilisateur virtuel sur des injecteurs de charge situés dans le monde entier.

Test de charge de conception JavaScript

Exécutez le test de charge pour votre application

Lorsque LoadView augmente la charge, affichez les temps de réponse de votre application JavaScript et votre comportement lors de l’exécution du test de charge.

Test de charge d’exécuteur JavaScript

Analyse des résultats de votre application

Une fois l’essai terminé, LoadView fournira un rapport détaillé, des vidéos et des informations précieuses, telles que des graphiques de chutes d’eau ou des vidéos

Partagez ces résultats avec votre équipe Dev pour identifier la cause profonde des points chauds.

Résultats JavaScript
Analyse des résultats JavaScript

Test de charge JSON

JSON est une abréviation pour JavaScript Object Notation et est assez similaire à XML. C’est un format de données très commun et utilisé pour toutes sortes de communication navigateur-serveur. La simplicité, le large support linguistique de programmation et les frais généraux bas sont la raison de sa popularité.

Voici quelques points chauds de performance spécifiques à JSON :

  • Le téléchargement de fichiers volumineux prend trop de temps
  • L’utilisation de la mémoire est trop élevée

Par rapport à SOAP XML, l’empreinte de JSON est plus faible et il est plus facile à lire. L’exemple ci-dessous illustre les tests de charge JSON avec LoadView.

Nous utilisons JSON dans la fonctionnalité de recherche sur notre site Web. Il s’agit du code source JSON correspondant :

JSON Source Code

Voici les fonctionnalités de recherche que nous utiliserons dans la vitrine de test de charge JSON :

Fonctionnalité JSON

Nous avons utilisé des outils de développeur Chrome pour identifier l’URL de demande utilisée dans ce formulaire de recherche.

Outil JSON Chrome Dev
Vous pouvez facilement configurer une tâche basée sur HTTP qui exécute cette demande de recherche en utilisant le https://www.dotcom-monitor.com/?s=load+testURL , mais cela ne mettra pas l’accent sur la fonction json indice de recherche. Par conséquent, j’ai décidé de configurer un véritable test basé sur le navigateur en utilisant notre enregistreur Web EveryStep pour enregistrer la recherche et l’utiliser dans mon test de charge.

description

Capture d’écran

Enregistrer le script de test pour l’application JSON

Le test de charge commence par l’enregistrement d’un script, à l’aide de l’enregistreur Web EveryStep.

JSON Enregistrer script de test

Test de charge de conception pour l’application JSON

Dans cette étape, vous pouvez configurer votre plan de test et vos emplacements.

Test de charge de conception JSON

Exécuter le test de charge pour l’application JSON

Lorsque LoadView augmente la charge, visualisez les temps de réponse de votre application JSON et votre comportement lors de l’exécution du test de charge.

Test de charge json exécuter

Analyse des résultats pour l’application JSON

LoadView produit un graphique et un rapport cascade qui peuvent être partagés avec les développeurs pour identifier les problèmes et implémenter des modifications.

Analyse des résultats JSON

Test de charge d’application d’une seule page

Les applications d’une seule page se comportent davantage comme une application de bureau parce qu’elles réécrivent dynamiquement la page actuelle au lieu de charger des nouvelles pages entières à partir d’un serveur. L’expérience utilisateur sur ces ASP est souvent meilleure puisqu’il y a moins d’interruptions. Les temps de chargement initiaux des ASP sont généralement plus longs parce que les cadres doivent être téléchargés. SOAP, JSON ou AJAX sont fréquemment utilisés pour la communication entre le client SPA et le serveur.

Voici quelques-uns des problèmes de rendement les plus brûlants des ASP :

  • Le temps de chargement initial de la page est long
    • Réduisez la taille de vos cadres
  • Fuites de mémoire
    • Passez en revue l’empreinte mémoire de votre SPA régulièrement
  • Présentation des données
    • Retarder le chargement d’un objet ou de données (chargement paresseux des données)

LoadView vous donne tout ce dont vous avez besoin quand il s’agit de tests de charge SPA précis. Nous avons utilisé l’application suivante pour cette vitrine de test de charge : https://www.welcometofillory.com/map

description

Capture d’écran

Enregistrer le script de test pour l’application d’une seule page
Script de test d’enregistrement SPA

Test de charge de conception pour application d’une seule page

Test de charge de conception SPA
Exécutez le test de charge pour l’application d’une seule page

Lorsque LoadView augmente la charge, visualisez les temps de réponse de votre application et de votre comportement lors de l’exécution du test de charge.

Test de charge d’exécuter spa

Analyse des résultats pour votre application d’une seule page

Analyse des résultats de la SPA

Comme mentionné précédemment, le temps de chargement initial des pages pour les ASP est souvent assez long. Dans notre vitrine, le téléchargement de cette page initiale a pris plus de 35 secondes et la taille de la page est supérieure à 95 Mo. Évidemment, cette application a besoin d’un peu de réglage.

Test de charge SOAP

Simple Object Access Protocol (SOAP) est bien plus qu’un langage de programmation. Contrairement à JavaScript, qui est un langage de développement, SOAP permet la communication à travers n’importe quel appareil et système d’exploitation. Le bloc de base de SOAP est XML. SOAP a introduit un format pour l’envoi et la réception de messages.

Voici quelques-uns des points chauds de performance les plus populaires liés à SOAP :

  • Application Chatty
  • Stratégie de mise en cache erronée ou sans mise en cache
  • La sérialisation entraîne des frais généraux élevés
  • Pas de validation des entrées du côté des consommateurs ou de traitement inefficace des méthodes Web

Les services Web basés sur SOAP fournissent une description de leurs services dans WSDL. Ce langage de description de service Web peut être utilisé pour manuel de nos tests automatisés. Dans notre vitrine ci-dessous, je vais montrer comment mettre en place des tests de charge d’une application basée sur soap.

Ce simple CurrencyConverter sera utilisé dans notre configuration de test de charge d’échantillon :

https://www.webservicex.net/CurrencyConvertor.asmx?WSDL

Convertisseur de devises SOAP

Les étapes suivantes décrivent comment effectuer des tests de charge SOAP avec LoadView.

description

Capture d’écran

Créez le script de test pour votre application

Créez une tâche HTTP et ajoutez les détails de la demande POST.

SOAP Créer script
SOAP Test Script

Concevoir le test de charge pour votre application

Test de charge soap design

Exécutez le test de charge pour votre application

Lorsque LoadView augmente la charge, visualisez les temps de réponse de votre application SOAP et votre comportement lors de l’exécution du test de charge.

TEST DE charge SOAP Run

Analyse des résultats de votre application

Résultats SOAP
Analyse des résultats SOAP

Test de charge REST API Web

REST est une norme de communication largement utilisée qui signifie transfert d’État de représentation. Il structure les données en format lisible à la machine et utilise XML ou JSON. Contrairement à SOAP, qui est fortement axé sur la fonction, REST très axée sur les données. Les services RESTful API et RESTful sont deux termes souvent utilisés dans cette discipline, mais ils ne signifient rien de plus que les services REST.

Le test de performance des services REST est tout au sujet de l’envoi de données aux services ou de vérifier la réponse de celui-ci. Voici quelques-uns des points chauds de performance REST les plus courants :

  • Services bavards
  • Trop ou pas de données requises transmises
  • Pas de réutilisation des connexions TCP

Les communautés de développeurs ne sont pas souvent d’accord pour implémenter des services Web dans SOAP ou REST. Du point de vue des performances, les services basés sur REST sont conçus pour la vitesse. Leurs frais généraux de protocole sont inférieurs et il n’y a aucun parsing XML requis. L’étude de cas ci-dessous illustre comment les tests REST de l’API Web peuvent être effectués avec LoadView.

description

Capture d’écran

Créez le script de test pour votre service reposant

Créer une tâche HTTP

Ajouter les détails de la demande GET

Ajouter la validation de mot clé

REST Créer script de test

Concevoir le test de charge pour votre application

Configurez le plan de test et d’exécution.

Test de charge de conception REST

Exécutez le test de charge pour votre application

Observez la courbe de charge au fur et à mesure que le test s’initie.

TEST DE charge REST Run

Analyse des résultats de votre application

Analyser les résultats et partager avec votre équipe Dev.

Analyse des résultats REST

Test de charge WebSockets

WebSockets sont conçus pour permettre une communication bi-sens entre le client et le serveur, ce qui signifie que les deux parties communiquent et échangent des données en même temps. La véritable concurrence et l’optimisation des performances sont les deux points clés de WebSockets.

Les avantages de l’utilisation de WebSockets sont les suivants :

  • bidirectionnel
    • Aucun modèle de message prédéfini, client ou serveur ne peut envoyer un message à l’autre partie
  • Duplex complet
    • Communication indépendante entre le client et le serveur
  • Connexion TCP unique
    • Mise à niveau de la connexion HTTP, le client et le serveur communiquent sur la même connexion TCP

Si nous comparons websockets avec REST ou SOAP-based modes de communication, les temps de réponse de la première sont beaucoup mieux parce que WebSockets permettent la réutilisation de la même connexion TCP. La recherche a montré que les services basés sur WebSocket sont jusqu’à 10 fois plus rapides.

Pour ce test, nous utiliserons un ChatBot qui répond à quelques questions de base.

description

Capture d’écran

Enregistrez le script de test de votre application WebSocket

WebSockets Enregistrer script de test

Concevez le test de charge pour votre application WebSocket

Créez le plan d’essai et distribuez la charge entre les différents emplacements de test.

Test de charge de conception WebSockets

Exécutez le test de charge pour l’application WebSocket

WebSockets exécuter test de charge

Analyse des résultats pour l’application WebSocket

Analyse des résultats websockets

Test de charge avec le plugin LoadView pour Jenkins

Le plugin LoadView pour Jenkins permet aux équipes de test de performance d’intégrer facilement de véritables tests de charge basés sur le navigateur dans leurs builds de test Jenkins. Cela garantit que les applications sont continuellement testées et évaluées sur de plus longues périodes, ce qui permet aux équipes d’identitaires et de remédier aux erreurs et aux goulots d’étranglement avant que le code et les applications ne soient mis en production.

Découvrez les problèmes de performances plus tôt et publiez des applications plus fiables à la production en intégrant des tests de performances LoadView dans votre processus de développement CI. Générer des rapports de test complets et obtenir un aperçu des performances du code.

Test de charge Jenkins
Prenez vos tests de charge à la
Niveau suivant

Découvrez des fonctionnalités inégalées avec une évolutivité illimitée. Pas de carte de crédit, pas de contrat.