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.

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 |
|---|---|
|
|
|
|
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.
