Tutoriel sur les tests de performances

30 octobre 2021

Test de performance est un processus de test logiciel utilisé pour tester le temps de réponse, la vitesse, la stabilité, la fiabilité, l'évolutivité et l'utilisation d'une application logicielle sous une charge de travail particulière. L'objectif principal des tests de performances est d'identifier et d'éliminer les goulots d'étranglement des performances dans l'application logicielle.

Il est fait pour fournir aux parties prenantes des informations sur les performances d'une application en termes de vitesse, d'évolutivité et de stabilité. Sans les tests de performances, le logiciel souffrira de problèmes tels que : un fonctionnement lent, des incohérences entre différents systèmes d'exploitation .

Les tests de performance déterminent si le logiciel répond à la vitesse, stabilité , et les exigences d'évolutivité en fonction des charges de travail attendues. Les applications envoyées sur le marché avec des métriques de faible performance en raison de tests de performance inexistants ou inexistants n'acquièrent pas une bonne réputation et ne parviennent pas à atteindre les objectifs de vente attendus.



Table des matières

Processus de test de performances

    Identifiez l'environnement de test :Identifiez l'environnement de test de performances et l'environnement de production, qui comprend les configurations logicielles, matérielles et réseau. Avoir une compréhension de l'environnement de test de performance permet une planification et une conception plus efficaces et vous aide à identifier les défis de test. Dans certaines situations, ce processus doit être revu périodiquement tout au long du cycle de vie du projet.Identifier les critères d'acceptation de performance: Identifier le temps de réponse et les objectifs et les contraintes d'utilisation des ressources pour les tests de performance. Ces contraintes et idéaux peuvent ne pas saisir les critères de réussite du projet ; par exemple, l'utilisation de tests de performance pour évaluer la combinaison de paramètres se traduira par les caractéristiques de performance les plus souhaitables.Planifier et concevoir des tests: Nous identifions des scénarios critiques pour déterminer la variabilité entre les utilisateurs représentatifs, tels que les identifiants de connexion uniques et les termes de recherche pour les tests de performance. L'équipe doit également choisir comment simuler, définir les données de test, concevoir des tests de performance et établir les métriques à collecter.Configurer l'environnement de test: Préparez les outils, l'environnement et les ressources nécessaires à l'exécution de chaque stratégie de test de performance. Assurez-vous qu'il est instrumenté pour la vérification des ressources selon les besoins.Mettre en œuvre la conception de test: Développer les tests de performance avec la meilleure pratique de conception de test qui se traduira par un bon scénario de test de performance.Exécuter le test: Exécutez et vérifiez vos tests. Valider les données de test et la collecte des résultats. Exécutez le tests de performance à l'aide de l'outil de test de performance identifié .Analyser les résultats, rapporter et retester: Consolider les données des résultats des tests de performance. Priorisez les tests restants et réexécutez-les. Lorsque les valeurs sont dans les limites acceptées, qu'aucun des ensembles n'a été violé et que toutes les informations sont collectées, vous avez terminé de tester ce scénario particulier dans cette configuration spécifique.

Il s'agit du processus de test de performance qui doit être suivi pour tout test non fonctionnel dans un projet. Nous devons effectuer des tests de performances et concevoir les performances des scénarios afin qu'il n'y ait pas de problèmes de performances. L'utilisation des ressources doit également être surveillée pendant les tests.

P rivières

  • Les environnements de test de charge n'ont pas la même configuration que la production et peuvent produire des résultats trompeurs.
  • Si vous ne voulez pas d'environnement de test de charge, vous pouvez éviter tous les coûts associés aux outils de test, aux licences, au matériel, au personnel, etc.
  • Tester les performances par rapport à la production vous permet de bénéficier d'outils et de services d'injection de charge.
  • Le test des performances par rapport à la production garantit que vous validez l'ensemble de la pile technologique, y compris les pare-feu, les points d'accès réseau, équilibreurs de charge etc.
  • Il fournit un environnement à pleine capacité à un environnement réduit.

C nous

  • Le code est en direct, donc les problèmes peuvent causer des problèmes aux utilisateurs.
  • Les tests doivent être effectués en dehors des périodes de pointe.
  • Il y aura une opportunité limitée dans les services qui desservent une base d'utilisateurs mondiale, par ex. systèmes de traitement des opérations bancaires.
  • La fenêtre d'exécution est généralement très étroite.
  • Les utilisateurs réels peuvent subir une dégradation pendant l'exécution.
  • Moins d'instruments disponibles, ce qui rend plus difficile le diagnostic des problèmes.
Voir également 10 meilleurs outils logiciels gratuits de partition de disque dur (fusion et récupération)

Mesures de test de performance

Les métriques de performances sont généralement utilisées pour calculer les goulots d'étranglement de performances et déterminer les domaines d'application qui sont faibles et créent des goulots d'étranglement de performances communs dans les applications.

  • Ils sont utilisés pour suivre l'avancement du projet.
  • Ils sont utilisés pour établir une ligne de base pour tous les tests de performance.
  • En utilisant des métriques, vous pouvez mesurer la cause principale du problème.
  • À l'aide de métriques, vous pouvez comparer le résultat des différents tests de performances et déterminer l'impact de toute modification apportée à l'application.
  • Il contribue à l'amélioration de la qualité du produit.
  • Il fournit un résultat exact de l'activité et découvre les domaines qui nécessitent une attention particulière.

Les paramètres de base qui sont surveillé pendant l'exécution essai

  • Bande passante — Elle montre les bits par seconde utilisés par une interface.
  • Octets privés - Plusieurs octets par processus qui ne peuvent pas être partagés entre d'autres fonctions.
  • Interruptions CPU par seconde — Le nombre moyen d'interruptions matérielles qu'un processeur reçoit et traite chaque seconde.
  • Longueur de la file d'attente du disque - est la moyenne. Nombre de demandes de lecture et d'écriture mises en file d'attente pour le disque pendant un intervalle d'échantillonnage.
  • Utilisation du processeur — Le temps qu'un processeur passe à exécuter les threads non inactifs.
  • Sessions actives maximales — Le nombre maximum de sessions qui sont actives à la fois.
  • Défauts de page/seconde — La vitesse à laquelle le processeur traite les pages de défaut.
  • Montant de la mise en commun des connexions — Le nombre de demandes qui sont satisfaites par les connexions mises en commun. Plus il y a de demandes satisfaites par les liens dans le pool, meilleur sera le logiciel.
  • Nombre de threads - La santé d'une application peut être mesurée par le nombre. de threads en cours d'exécution et actuellement actifs.
  • Garbage collection - Il renvoie la mémoire inutilisée au système. La collecte des ordures ménagères fait l'objet d'un contrôle d'efficacité.
  • Verrouillage des bases de données — Le verrouillage des tables et des bases de données doit être surveillé et réglé avec soin.
  • Top des attentes — Elles sont surveillées pour déterminer comment le temps d'attente peut être réduit tout en gérant la vitesse à laquelle les données sont extraites de la mémoire.
  • Taux de succès — Le nombre de SQL instructions gérées par des données mises en cache au lieu d'opérations d'E/S coûteuses. C'est un endroit où vous pouvez commencer à résoudre les problèmes de goulot d'étranglement.
  • Hits par seconde — Le nombre de hits sur le serveur Web pendant chaque seconde d'un test de charge.
  • Temps disque — La durée pendant laquelle le disque est occupé à exécuter une demande de lecture ou d'écriture.
  • Temps de réponse - lorsqu'un utilisateur saisit une demande jusqu'à ce que le premier caractère de la réponse soit reçu.
  • Total d'octets par seconde — Le taux auquel les octets sont envoyés et reçus sur l'interface, y compris les caractères de cadrage.
  • Utilisation de la mémoire — La quantité de mémoire physique disponible pour les processus sur votre système.
  • Débit — Le taux qu'un réseau reçoit des requêtes par seconde.

Types de tests de performance

Test de charge

Il mesure les performances du système à mesure que la charge de travail augmente, ce qui contribue à la charge de test de l'application. La charge de travail peut signifier des utilisateurs ou des transactions. Le système est surveillé pour mesurer le temps de réponse et les ressources système à mesure que la charge de travail augmente. La charge de travail s'inscrit dans les paramètres des conditions normales de travail. Lisez cet article pour comprendre en détail Test de charge

Tests de résistance

Il est également connu sous le nom de test de fatigue et vise à mesurer les performances du système en dehors des conditions de travail normales. L'application est validée avec plus que la charge utilisateur définie qui peut être gérée. L'objectif de cette contrainte de test est de tester les performances de la stabilité du logiciel lors d'une surcharge de l'application. Lisez cet article pour comprendre en détail Tests de résistance .

Test de pointe

C'est un type de des tests de résistance qui vérifient les performances de l'application lorsque les charges de travail augmentent de manière répétée et rapide. La charge de travail est au-delà des attentes pour de courtes périodes de temps. Mesure également l'utilisation des ressources comme les octets privés, l'évolutivité de la vitesse, etc. Lisez cet article pour comprendre en détail Test de pointe .

Tests d'endurance

Les tests d'endurance sont également appelés test de trempage , et il s'agit d'une évaluation des performances de l'application avec une charge de travail typique et une durée prolongée. L'objectif principal des tests d'endurance est de vérifier les problèmes du système tels que fuites de mémoire . Lisez cet article pour comprendre en détail Tests d'endurance .

Voir également 15 correctifs pour Spotify qui ne s'ouvre pas sur Windows et Mac

Tests d'évolutivité

Les tests d'évolutivité sont utilisés pour déterminer si l'application gère efficacement les charges de travail. Ceci est déterminé en ajoutant progressivement à la charge de l'utilisateur tout en vérifiant les performances du système. La charge de travail peut être au même niveau, tandis que les ressources peuvent changer. Lisez cet article pour comprendre en détail Tests d'évolutivité .

Tests de volume

Les tests de volume indiquent l'efficacité avec laquelle le l'application effectue avec une grande quantité projetée de données. Il est également appelé test d'inondation car l'exécution inonde le système avec une grande quantité de données. Lisez cet article pour comprendre en détail Tests de volume .

Voici quelques-uns des différents types de tests de performances couverts dans le cadre de ce didacticiel sur les tests de performances.

Problèmes de performances courants

Les problèmes de tests non fonctionnels les plus courants tournent autour Temps de réponse , la vitesse, le temps de chargement et une mauvaise évolutivité. Le taux est l'un des attributs essentiels d'une application. Une application lente perdra des utilisateurs potentiels. Les tests de performance garantissent qu'une application s'exécute suffisamment rapidement pour garder l'attention et l'intérêt de l'utilisateur intacts. Voici les problèmes rencontrés :

  • Goulot d'étranglement - Les goulots d'étranglement sont un obstacle dans un système qui dégrade le logiciel système. Cela se produit lorsque des erreurs de codage ou des problèmes matériels entraînent une diminution sous des charges spécifiques. Il peut généralement être corrigé en corrigeant les processus à faible exécution ou en ajoutant du matériel supplémentaire. Effectuer des tests de résistance pour confirmer les résultats
  • Temps de chargement long - Le temps de chargement est généralement le temps initial nécessaire au démarrage d'une application. Ceci est généralement réduit au minimum. Cependant, certaines applications sont impossibles à charger en moins d'une minute. Le temps de chargement doit être inférieur à quelques secondes si possible.
  • Évolutivité médiocre - Un produit logiciel souffre d'une évolutivité insuffisante lorsqu'il n'est pas en mesure de gérer le nombre d'utilisateurs attendu. Les tests de charge doivent être effectués sur les applications pouvant accueillir le nombre d'utilisateurs prévu, ainsi que les tests de résistance.

Meilleures sociétés de test de performance

A1QA

A1QA est une assurance qualité et société de test de logiciels qui a été fondée en 2002. Elle est située à Denver, où elle compte une équipe de plus de 200 employés spécialisés dans les tests d'applications et la cybersécurité.

Ils servent d'abord des clients de taille moyenne dans les secteurs de l'informatique et des télécommunications. A1QA a aidé un institut de recherche économique à développer une application de gestion de cas économiques sur mesure.

Anciens clients

  • Pearson
  • SÈVE
  • Adidas
  • Acronis

Mentor AQ

QA Mentor est une société de test de logiciels située à New York. Elle compte 175 employés et a été fondée en 2010. Les services de test d'applications sont leur spécialisation.

QA Mentor propose d'identifier les bugs dans le logiciel d'une plateforme de planification. À l'aide d'une matrice, l'équipe a testé la plateforme et fourni des mises à jour quotidiennes. Le client a aimé travailler avec eux.

Anciens clients

  • Vous
  • HSBC
  • Les autres
  • Morgan Stanley
  • GameCloud

Q qualité L ou g je c

QualityLogic est un test de logiciel société, et il est situé à Boise, Idaho, avec ses bureaux en Californie et en Oklahoma. Ils ont une équipe de plus de 68 personnes spécialisées dans les tests d'applications. Ils travaillent avec des entreprises et des clients de taille moyenne dans les secteurs du divertissement, de l'art et de la musique.

QualityLogic propose des services de test de logiciels pour une application de communication. Ils ont effectué des tests manuels et exploratoires tests pour les applications mobiles et Web .

Anciens clients

  • téléphone mobile
  • Cisco
  • Adobe

DeviQA

DeviQA est une société de test de logiciels située à Kharkov, en Ukraine. Elle a été fondée en 2010. Ils fonctionnent avec une équipe de plus de 100 ingénieurs et les tests d'applications sont leur spécialisation. Ils travaillent avec petites entreprises et des entreprises de divers secteurs. DeviQA a amélioré l'environnement des services de test pour une entreprise de systèmes de Big Data. Ils ont réussi à améliorer la qualité et l'environnement de test d'un complexe Média social solution analytique.

Anciens clients

  • Mimecast
  • Applications professionnelles
  • Techsee
  • Santé du chiffrement
  • Arklign

Meilleurs outils de test de performance

LoadRunner

LoadRunner est le leader de l'industrie en matière de tests de performances. Il a tous les protocoles qui couvrent presque toutes les technologies. En outre, il s'intègre très bien avec plusieurs autres outils comme ALM, etc. C'est le préféré parmi tous les outils de test de divers outils de test de charge

assurez-vous que le test est un type

Caractéristiques

  • C'est un logiciel commercial.
  • Prend en charge plusieurs protocoles
  • Possède plusieurs fonctionnalités telles que virtualisation
  • S'intègre bien avec plusieurs outils
  • Meilleur outil de test de performance.
  • Des scripts open source peuvent également être exécutés
  • Un bon résultat de test est généré à partir de ce logiciel
Voir également Top 10 des meilleures applications de téléphone espion pour Android et iPhone

P riz

Le prix dépend des bundles de protocoles et du nombre de Vusers requis.

Apache JMeter

JMeter est un tests d'automatisation outil qui effectue des tests de charge, fonctionnels, de régression, sur différentes technologies. Il prend en charge divers types d'applications, de protocoles et de serveurs tels que SOAP, TCP, FTP. SOAP, LDAP MOM, scripts shell, protocoles de messagerie, objets Java, base de données. En outre, cela peut être utilisé pour des tests fonctionnels.

Caractéristiques

  • C'est un logiciel open source.
  • Actuellement l'outil de test de charge le plus performant du marché
  • Interface graphique interactive et simple.
  • Il est très protractile.
  • le plans de test sont stockés au format XML.
  • Il est indépendant de la plate-forme.
  • Meilleur outil d'automatisation d'API.

P riz

C'est gratuit à utiliser.

Aubergine

L'outil de test aubergine est un outil de test et de débogage d'application automatisé. Il teste une seule source de vérité pour l'expérience utilisateur. Les solutions d'Eggplant peuvent essayer des cas à n'importe quelle couche de la base de données. Facile à définir des scénarios de test de performance et aide à identifier les problèmes de performance.

F manger

  • C'est le meilleur outil de test d'automatisation de l'interface graphique.
  • Le test est effectué du point de vue de l'utilisateur.
  • C'est fiable, et les tests sont faits rapidement.
  • Il utilise un seul script de test pour différents scénarios.
  • Intégration avec les outils de gestion de test populaires.

P riz

La licence coûte environ 3 400 $, le deuxième flux coûte environ 1 700 $ et le troisième flux environ 850 $.

Les éléments mentionnés ci-dessus sont quelques-uns des outils de test de performance à titre d'exemples pour ce didacticiel. Il y a beaucoup plus outils de test qui peut être utilisé à diverses fins de test de logiciels.

Test de performance FAQ s

Pourquoi est-il nécessaire de tester les performances ?

Les tests de performance sont une bonne plate-forme pour les raisons suivantes.
Il est utilisé pour vérifier le temps de réponse des numéros de l'utilisateur.
Il offre également la capacité de tester la charge de l'application au niveau maximum.
Il offre la possibilité de gérer la quantité de transactions.
Sous la charge attendue et inattendue de l'utilisateur, la stabilité de l'application est assurée.
Il s'assure que le temps de réponse est correctement fourni aux utilisateurs pendant la production.

Quelles sont les erreurs commises lors des tests de performance ?

Les erreurs qui sont généralement commises lors des tests de performance sont : -
Configurations de base inappropriées.
Durée de course trop courte
Accès direct aux tests multi-utilisateurs
Extrapolation incorrecte des pilotes
Résultats des tests non validés
Détails de charge de travail inconnus
Confusion sur certains utilisateurs simultanés
Absence de test de durabilité de longue durée
Bande passante réseau non stimulée
Sous-estimation des calendriers de tests de performance

Mentionner les critères d'entrée et de sortie en cas de test de performance ?

Le début des tests de performance se fait au niveau de la conception. Une fois les tests terminés, les résultats sont collectés et analysés pour apporter des améliorations à leurs performances. Pendant toute la durée du processus, le réglage est effectué. Les facteurs dont il dépend sont l'évolutivité et la fiabilité pendant la présence de la charge, le temps de libération de l'application et les critères de tolérance de performance et de stress.

Quels sont les sous-genres du test de performance ?

Les sous-genres sont mentionnés ci-dessous.
Test de charge : Les tests de performances sont effectués pour examiner les performances de l'application en fonction d'une charge appelée test de charge. L'incrément de charge se fait en augmentant le nombre d'utilisateurs effectuant un travail spécifié dans un délai spécifié.
Tests de volumes : Ce test est effectué pour trouver la quantité de données qu'un système peut traiter de manière efficace et efficiente.
Tests de résistance : Il est effectué pour évaluer les performances du système en augmentant le nombre d'utilisateurs par rapport aux exigences. Il est fait pour vérifier à quel niveau l'application peut planter.
Test de pointe : Il est utilisé pour déterminer ce qui se passera s'il y a une augmentation et une diminution considérables du nombre d'utilisateurs du système d'application.
Test de trempage : C'est beaucoup de charge pendant longtemps sur le système d'application. Des tests d'immersion sont effectués pour déterminer le comportement de l'application en termes de temps de réponse et de stabilité.