Qu'est-ce que le test de volume ? Apprendre avec des exemples

โšก Rรฉsumรฉ intelligent

Les tests de charge consistent ร  soumettre une application ร  une trรจs grande quantitรฉ de donnรฉes afin d'observer le comportement du stockage, des requรชtes et des temps de rรฉponse ร  mesure que la base de donnรฉes s'agrandit. ร‰galement appelรฉs tests de saturation, ils mettent ร  l'รฉchelle le volume de donnรฉes plutรดt que le nombre d'utilisateurs.

  • (I.e. Dรฉfinition principale : Le volume de donnรฉes augmente tandis que la charge utilisateur reste normale.
  • ๐Ÿ” Contrรดles primaires : Perte de donnรฉes, รฉcrasement silencieux, prรฉcision du stockage et temps de rรฉponse avec un grand ensemble de donnรฉes.
  • ๐Ÿ“ˆ Point de dรฉgradation : Le test permet de dรฉterminer le volume ร  partir duquel la stabilitรฉ et les performances commencent ร  se dรฉgrader.
  • ๏ธ Test de charge non effectuรฉ : Le volume mesure la taille des lignes et des fichiers ; la charge mesure le nombre dโ€™utilisateurs simultanรฉs. Ces deux mesures dรฉtectent des dรฉfauts diffรฉrents.
  • ๐Ÿงช Rรฉalisme des donnรฉes : Les donnรฉes gรฉnรฉrรฉes doivent respecter les clรฉs et l'intรฉgritรฉ relationnelle, ce qui constitue la partie la plus difficile du test.
  • ???? Business case: Les limites de capacitรฉ dรฉterminรฉes avant la mise sur le marchรฉ coรปtent beaucoup moins cher que les mรชmes limites constatรฉes en production.

Qu'est-ce qu'un test de volume ?

Quโ€™est-ce que le test de volume ?

Tests de volume est un type de test de logiciel, dans lequel le logiciel est soumis ร  un รฉnorme volume de donnรฉes. On l'appelle รฉgalement tests d'inondation. Des tests de volume sont effectuรฉs pour analyser les performances du systรจme en augmentant le volume de donnรฉes dans la base de donnรฉes.

Grรขce aux tests de volume, l'impact sur le temps de rรฉponse et le comportement du systรจme peut รชtre รฉtudiรฉ lorsqu'il est exposรฉ ร  un volume รฉlevรฉ de donnรฉes.

Par exemple, un service de streaming musical pourrait รชtre testรฉ avec un catalogue de 50 millions de titres. tracks et une table d'historique d'รฉcoute contenant des milliards de lignes, pour voir si les requรชtes de recherche et de recommandation renvoient toujours un rรฉsultat dans un dรฉlai acceptable.

Notez la distinction : Les tests en volume augmentent le quantitรฉ de donnรฉes le systรจme tient bon. Augmenter le nombre d'utilisateurs simultanรฉs Il s'agit d'un test de charge, qui est un test diffรฉrent avec un objectif diffรฉrent.

Avantages des tests de volume

  • Identifier les problรจmes de capacitรฉ au plus tรดt permet d'รฉviter les coรปts bien plus รฉlevรฉs liรฉs ร  leur rรฉsolution en production.
  • Cela permet un dรฉmarrage plus rapide des plans dโ€™รฉvolutivitรฉ
  • Identification prรฉcoce des goulots d'รฉtranglement
  • Il garantit que votre systรจme est dรฉsormais capable d'รชtre utilisรฉ dans le monde rรฉel

Pourquoi effectuer des tests de volume ?

L'objectif de la rรฉalisation des tests de volume est de

  • Vรฉrifiez les performances du systรจme avec des volumes croissants de donnรฉes dans la base de donnรฉes
  • Identifiez les problรจmes susceptibles d'apparaรฎtre lorsque l'ensemble de donnรฉes deviendra volumineux.
  • Comprendre le point auquel la stabilitรฉ du systรจme se dรฉgrade
  • Les tests de volume aideront ร  identifier la capacitรฉ du systรจme ou de lโ€™application โ€“ volume normal et important

Comment effectuer des tests de volume

Lors des tests en volume, les รฉlรฉments suivants doivent รชtre testรฉs

  • Testez pour vรฉrifier s'il y a une perte de donnรฉes
  • Vรฉrifiez le temps de rรฉponse du systรจme
  • Vรฉrifiez si les donnรฉes sont stockรฉes correctement ou non
  • Vรฉrifiez si les donnรฉes sont รฉcrasรฉes sans aucune notification
  • Vรฉrifiez que les avertissements et les messages d'erreur s'affichent effectivement lorsqu'une limite de volume est atteinte.
  • Vรฉrifiez si un volume รฉlevรฉ de donnรฉes affecte la vitesse de traitement
  • Vรฉrifiez que le systรจme dispose des ressources de mรฉmoire et de stockage requises par le volume.
  • Vรฉrifiez que le test de volume couvre l'ensemble du systรจme et non un seul composant.
  • Y a-t-il un risque si le volume de donnรฉes est supรฉrieur ร  celui spรฉcifiรฉ
  • Vรฉrifier s'il existe une garantie que le volume de donnรฉes ne dรฉpassera pas le maximum spรฉcifiรฉ.

Meilleures pratiques pour les tests ร  volume รฉlevรฉ

Plusieurs des pratiques ci-dessous sont communes aux tests de charge, car les deux sont gรฉnรฉralement exรฉcutรฉs dans le mรชme environnement. Les pratiques spรฉcifiques aux volumes concernent l'ensemble de donnรฉes lui-mรชme :

  • Arrรชtez tous les serveurs et vรฉrifiez tous les journaux
  • Avant le test de charge, exรฉcutez manuellement le scรฉnario d'application
  • Pour obtenir des rรฉsultats plus utiles, รฉchelonnez le nombre dโ€™utilisateurs
  • Pour surmonter les contraintes de licence, รฉquilibrez le temps de rรฉflexion
  • Soyez prudent avec la nouvelle construction
  • Analyser le cas d'utilisation ร  amรฉliorer une fois qu'une rรฉfรฉrence a รฉtรฉ รฉtablie
  • La rรฉpรฉtition de parties particuliรจres des tests de volume devient inรฉvitable en cas de goulot d'รฉtranglement en termes de performances.

Tests de volume vs tests de charge

Tests de volume test de charge
  • Les tests de volume vรฉrifient le comportement d'une application lorsque la base de donnรฉes contient une trรจs grande quantitรฉ de donnรฉes.
  • Lors des tests de charge, l'application est soumise ร  un certain niveau de charge pour analyser le comportement de l'application.
  • Les tests de volume vรฉrifient que le systรจme rรฉpond toujours correctement ร  un volume de donnรฉes donnรฉ. Ils consistent gรฉnรฉralement ร  augmenter la taille des fichiers et des tables.
  • Les tests de charge vรฉrifient les performances lorsque le nombre d'utilisateurs simultanรฉs augmente. Ils augmentent gรฉnรฉralement le nombre de requรชtes simultanรฉes.

Dรฉfis liรฉs aux tests de volume

  • Fragmentation de la mรฉmoire difficile ร  gรฉnรฉrer
  • Gรฉnรฉration dynamique de clรฉs
  • Relationnel Integrity de donnรฉes gรฉnรฉrรฉes

Comment ce test se compare-t-il aux autres tests de performance ?

Les tests de performance constituent une famille de tests qui diffรจrent par la forme de la charge appliquรฉe, ce qui explique pourquoi ils sont si facilement confondus.

Type de test Qu'est-ce qui est augmentรฉ ? Question ร  laquelle il rรฉpond
Test de charge Nombre d'utilisateurs simultanรฉs, jusqu'au pic prรฉvu Atteint-il ses objectifs en conditions de trafic de pointe normales ?
Tests de volume Donnรฉes contenues dans la base de donnรฉes Est-il capable de gรฉrer l'augmentation de la taille de l'ensemble de donnรฉes ?
Tests de rรฉsistance Surcharge au-delร  de la capacitรฉ, jusqu'ร  dรฉfaillance Oรน se casse-t-elle, et comment ?
Test de pointe Chargement instantanรฉ et extrรชmement rapide Peut-il survivre et se remettre d'un choc ?
Essais d'endurance Durรฉe, ร  charge normale Les performances se dรฉgradent-elles avec le temps ?
Test de trempage Durรฉe, ressources de visionnage Existe-t-il des fuites de mรฉmoire ou de descripteurs ?
Test de stabilitรฉ Conditions variables Reste-t-il fiable lorsque les conditions changent ?

La distinction qui compte le plus ici : Les tests de volume permettent de dimensionner les donnรฉes, les tests de charge permettent de dimensionner les utilisateurs. Un rapport qui s'exรฉcute en deux secondes pour dix mille lignes et en deux minutes pour dix millions de lignes prรฉsente un problรจme de volume, et non un problรจme de charge, et aucune augmentation de la capacitรฉ du serveur ne pourra le rรฉsoudre.

Comment gรฉnรฉrer des donnรฉes de test pour les tests de volume

La section consacrรฉe aux dรฉfis souligne que la gรฉnรฉration de donnรฉes rรฉalistes constitue la partie la plus complexe des tests de volume. Quatre approches sont utilisรฉes en pratique, chacune impliquant un compromis.

Approche Le rรฉalisme Inconvรฉnient principal
Copie des donnรฉes de production Le plus รฉlevรฉ Exposition ร  la confidentialitรฉ et ร  la conformitรฉ
Copie de production masquรฉe Haute Le masquage peut rompre l'intรฉgritรฉ rรฉfรฉrentielle
gรฉnรฉration synthรฉtique Moyenne Les distributions peuvent ne pas correspondre ร  la rรฉalitรฉ
Trafic de production rejouรฉ Haute Nรฉcessite une infrastructure de capture

Quel que soit le chemin empruntรฉ, trois propriรฉtรฉs doivent รชtre vรฉrifiรฉes, sinon le test ne mesure rien d'utile.

  • Intรฉgritรฉ rรฉfรฉrentielle. Chaque clรฉ รฉtrangรจre doit รชtre rรฉsolue. Un million de lignes orphelines sollicitent le moteur de stockage, mais n'affectent jamais les chemins de jointure rรฉellement utilisรฉs par l'application.
  • Cardinalitรฉ rรฉaliste. Si la table de production comporte dix millions de lignes rรฉparties sur deux cents clients, la gรฉnรฉration de dix millions de lignes rรฉparties sur dix millions de clients produit des plans de requรชtes complรจtement diffรฉrents.
  • Distribution rรฉaliste. Les donnรฉes rรฉelles sont asymรฉtriques. Des donnรฉes alรฉatoires uniformes masquent les partitions surchargรฉes et les conflits d'index qui provoquent des incidents de production.

Un avertissement pratique concernant la protection de la vie privรฉe. La copie de donnรฉes de production dans un environnement de test est la cause la plus frรฉquente de fuite de donnรฉes lors des tests. Il est impรฉratif de masquer les champs personnels avant que la copie ne quitte l'environnement de production, et non aprรจs.

FAQ

Les tests de volume augmentent la quantitรฉ de donnรฉes dans le systรจme tandis que la charge utilisateur reste normale. Les tests de charge augmentent le nombre d'utilisateurs simultanรฉs tandis que le volume de donnรฉes reste constant. Ils rรฉvรจlent diffรฉrents goulots d'รฉtranglement ; les deux sont donc nรฉcessaires.

Partez du volume de donnรฉes projetรฉ ร  la fin de l'horizon de capacitรฉ prรฉvu, gรฉnรฉralement deux ร  trois ans de croissance, puis effectuez des tests ร  ce chiffre et ร  son double pour dรฉterminer ร  partir de quel point la dรฉgradation commence.

Index manquants ou inefficaces, requรชtes dont la taille รฉvolue de maniรจre non linรฉaire, saturation du stockage, troncature silencieuse des champs et traitements par lots dont la durรฉe d'exรฉcution dรฉpasse la fenรชtre disponible.

Les modรจles d'IA apprennent la distribution statistique et les relations des donnรฉes de production, puis gรฉnรจrent des enregistrements synthรฉtiques qui prรฉservent ces propriรฉtรฉs sans exposer aucun enregistrement client rรฉel.

Oui, dans une certaine mesure. Les modรจles ajustรฉs aux courbes de dรฉgradation mesurรฉes extrapolent le point de dรฉfaillance, mais la projection doit รชtre confirmรฉe par un essai rรฉel avant de servir de base ร  une dรฉcision concernant la capacitรฉ.

Rรฉsumez cet article avec :