[Détails] Le concept, la classification, les indicateurs de performance et le processus de test de performance

1. Introduction aux tests de performance

1. La notion de performance

Performance : il s'agit de la caractéristique "d'efficacité" dans les attributs de qualité logicielle, et l'efficacité peut être divisée en temps et en ressources

——Time : temps de réponse du système pour traiter les demandes des utilisateurs

——Ressources : la consommation des ressources système pendant le fonctionnement du système

2. Le concept de test de performance

Le processus de test et d'évaluation de divers indicateurs de performance du logiciel en utilisant des outils automatisés pour simuler différents scénarios

3. Le but des tests de performance

  • Évaluer les capacités du système actuel
  • Trouvez les goulots d'étranglement et optimisez les performances
  • Évaluer si le logiciel peut répondre aux besoins futurs

4. Pourquoi les tests de performance sont nécessaires

Répondre aux besoins métiers de scénarios réels et prendre en charge un grand nombre d'utilisateurs

5. La différence entre les tests fonctionnels et les tests de performance

Tests fonctionnels : Valide la spécification des exigences fonctionnelles du système. Mise au point : fonction (avant, arrière)

Tests de performance : vérifiez les scénarios d'exigences métier du système. Focus : temps, ressources

Relation : dans les projets généraux, le test fonctionnel est réussi en premier, puis le test de performance est effectué


 

Deux, la classification des tests de performance

1. Test de référence

(1) Le concept de benchmarking

Au sens étroit : il s'agit de tests mono-utilisateur. (Données obtenues par plusieurs cycles d'un seul utilisateur)

Au sens large : établir une ligne de base et effectuer un test de référence après les modifications de l'environnement matériel et logiciel du système afin de déterminer l'impact de la modification sur les performances

(2) Objectif des données de référence

  • Les repères ne sont pas seuls
  • Fournir une référence pour les tests simultanés multi-utilisateurs et les tests de scénarios complets
  • Fournir des indicateurs de référence pour la configuration du système/de l'environnement, l'amélioration/la diminution des performances avant et après l'optimisation du système

2. Essai de charge

(1) Le concept de test de charge

En augmentant progressivement la charge du système, déterminez la charge maximale que le système peut supporter à condition de respecter les indicateurs de performance du système (tels que le temps de réponse, etc.)

(2) Le rôle des tests de charge

Le système peut être officiellement lancé lorsque la charge maximale du système répond aux exigences de l'utilisateur.

3. Essai de stabilité

(1) Le concept de test de stabilité

Effectuez un test à long terme (1 jour à 1 semaine, etc.) lorsque le serveur fonctionne de manière stable (sous une charge utilisateur normale), et assurez-vous enfin que le serveur peut répondre aux besoins de l'entreprise en ligne

(2) Le rôle des tests de stabilité

Le système peut être officiellement lancé et utilisé uniquement lorsque le système fonctionne sous la charge professionnelle requise par l'utilisateur et atteint l'heure spécifiée.

4. Test d'effort

(1) Le concept des tests de résistance

Test sous forte charge pour vérifier si le système est fonctionnellement caché dans des conditions de pointe, et si le système a une bonne tolérance aux pannes et une bonne capacité de récupération
(2) Scénarios de test

  • Essais de résistance destructifs dans des conditions de charge extrêmes
  • Test de stabilité à long terme sous forte charge

5. Test de simultanéité

(1) Le concept de tests simultanés

Test de concurrence (concurrence absolue) : fait référence à l'envoi de plusieurs requêtes dans un laps de temps très court pour vérifier la capacité du serveur à gérer la concurrence

(2) Scénarios d'application

Scénarios événementiels spécifiques, tels que : saisir des enveloppes rouges, ventes flash, rafler, etc.

(3) La différence entre les tests de concurrence et les tests de charge

Test de concurrence : l'objectif principal est de tester le problème de la concurrence des ressources système (saisir les enveloppes rouges, les pics) lorsque des demandes simultanées sont effectuées dans un laps de temps très court

Test de charge : L'objectif principal est de tester si la consommation des ressources système sera épuisée dans des conditions de charge élevée (campagne Double 11)


 

3. Indicateurs des tests de performance

1. Temps de réponse

Définition : fait référence au temps qu'il faut à l'utilisateur pour initier une requête du client jusqu'au moment où le client reçoit le résultat renvoyé par le serveur.

2. Nombre d'utilisateurs simultanés

Définition : le nombre d'utilisateurs qui envoient des requêtes au serveur en même temps

3. Débit

Définition : fait référence au nombre de demandes client traitées par unité de temps, ce qui reflète directement la capacité de charge de performance du système logiciel

(1) QPS (Query Per Second) : le nombre de requêtes par seconde : le nombre de requêtes spécifiées traitées par le serveur de contrôle par seconde

(2) TPS (Transactions Per Second) : le nombre de transactions par seconde que le serveur de contrôle traite

Différence : une transaction est une entreprise, et une opération sur la page peut correspondre à une demande ou à plusieurs demandes (par exemple, une transaction d'opération de paiement aura une demande d'interrogation du solde du compte, une demande de vérification de la sécurité du paiement, l'envoi d'une demande de paiement , etc.)

4. Nombre de visites

Définition : fait référence au nombre total de requêtes pour tous les éléments de ressource de la page (tels que les images, les liens, les cadres, le CSS, le JS, etc.) lorsque le client envoie une requête au serveur

Remarque : Le nombre de clics est le nombre de requêtes, pas un clic sur la page, et seuls les projets web ont cet indicateur

5. Taux d'erreur

Définition : fait référence à la probabilité de défaillance de l'entreprise sous la charge du système. Taux d'erreur = (affaires échouées / nombre total d'affaires) * 100 %

Remarque : Le taux d'erreur est un indicateur de performance, et non un bogue aléatoire dans la fonction. Un bogue aléatoire est un bogue fonctionnel. Le bogue aléatoire doit être résolu avant que le test de performance puisse être effectué.

6. Utilisation des ressources

Définition : fait référence à l'utilisation de diverses ressources dans le système. Généralement, "(utilisation des ressources/disponibilité totale des ressources)*100 %" est utilisé pour former les données d'utilisation des ressources.

Métriques de ressources communes :

  • Utilisation du processeur : pas plus de 75 % à 85 %
  • Utilisation de la mémoire (taille) : pas plus de 80 %
  • E/S disque (taux) : pas plus de 90 %
  • Réseau (vitesse) : pas plus de 80 %

 

Quatrièmement, le processus de test de performance

Le cœur des tests de performance : analyse des exigences, exécution des tests de performance, analyse et réglage des performances

1. Analyse de la demande

2. Plan de test de performance

(1) Quoi mesurer

  • Contexte du projet
  • Objectifs de test
  • Plage d'essai

(2) Qui testera

  • Progrès et division du travail
  • liste de livraison

(3) Comment mesurer

  • stratégie de test

3. Scénarios de test de performance

4. Exécution des tests de performances

5. Analyse et réglage des tests de performance

Remarque : Une fois que les analystes des tests de performances ont analysé les résultats, s'ils ne répondent pas aux exigences de performances, ils génèrent des bogues de performances, puis les développeurs procèdent à des réglages ultérieurs.

6. Rapport de test de performances

Le contenu principal du rapport de test de performance :

  • Examen du travail d'essai
  • Analyse et réglage des défauts
  • l'évaluation des risques
  • résultats des tests de performances
  • Résumé des travaux de test et amélioration

Je suppose que tu aimes

Origine blog.csdn.net/ouihsiad/article/details/128181476
conseillé
Classement