volume testing tutorial
Vue d'ensemble des tests de volume:
L'image ci-dessous est-elle en corrélation avec nos applications d'une manière ou d'une autre? Oui, c'est exactement ce qui se passe lorsque nous surchargons nos serveurs, bases de données, services Web, etc.
Nous devons tous être conscients des tests fonctionnels et non fonctionnels, mais êtes-vous conscient du fait que les tests non fonctionnels sont aussi importants que les tests fonctionnels? Parfois, dans les versions de courte durée, nous avons tendance à ignorer ces tests non fonctionnels, ce que nous ne devrions idéalement pas faire.
Peu importe que le propriétaire du produit ait donné cette exigence ou non. Nous devrions considérer ces tests comme faisant partie de notre processus de test complet, même pour les petites versions.
Ce tutoriel sur le test de volume vous donne un aperçu complet de sa signification, de son besoin, de son importance, de sa liste de contrôle et de certains de ses outils afin de vous permettre de mieux le comprendre.
Ce que vous apprendrez:
- Qu'est-ce que le test de volume?
- Quand cet impératif de test est-il nécessaire?
- Pourquoi devrais-je viser des tests de volume?
- Quelle est ma liste de contrôle pour ce test?
- Test de volume vs test de charge
- Comment effectuer ce test?
- Outils de test de volume
- Conclusion
- lecture recommandée
Qu'est-ce que le test de volume?
Le test de volume est un type de test non fonctionnel. Ce test est effectué pour vérifier le volume de données géré par la base de données. Les tests de volume, également appelés tests d'inondation, sont des tests non fonctionnels qui sont effectués pour vérifier les performances du logiciel ou de l'application par rapport à d'énormes données de la base de données.
La base de données est étirée jusqu'à un point de seuil en y ajoutant une grande quantité de données, puis le système est testé pour sa réponse.
C'était la partie théorique, laissez-moi vous expliquer avec quelques exemples pratiques pour vous aider à comprendre le 'lorsque' partie des tests de volume.
Quand cet impératif de test est-il nécessaire?
Idéalement, chaque logiciel ou application devrait être testé pour le volume de données, mais dans certains cas où les données ne seront pas lourdes, nous avons tendance à éviter ces tests. Mais dans certains cas où les données sont traitées quotidiennement en Mo ou en Go, un test de volume doit être effectué.
Voici quelques exemples tirés de ma propre expérience de 8 ans qui expliquent la partie «quand»:
Exemple 1:
L'une de mes entreprises était un gros système comprenant à la fois une application Web et une application mobile. Mais l'application Web elle-même avait 3 modules gérés par 3 équipes différentes.
Parfois, même avec nous, la base de données devenait lente lorsque nous ajoutions tous «ensemble» des données pour nos tests. C'était ennuyeux et le travail était entravé à cause de l'énorme volume de données et pour faciliter le travail que nous devions nettoyer la base de données assez fréquemment.
Les données traitées par le système «en direct» étaient d’environ 1 Go. Par conséquent, par rapport à l’application mobile, l’application Web était très fréquemment testée pour le volume de données. Les équipes d'assurance qualité des applications Web disposaient de leurs propres scripts d'automatisation qui s'exécutaient la nuit et effectuaient ces tests.
Exemple 2:
Un autre exemple de mon entreprise était un écosystème qui avait non seulement une application Web, mais aussi une application SharePoint et même un installateur. Tous ces systèmes communiquaient avec la même base de données pour les transferts de données. Les données gérées par ce système étaient également très énormes et si pour une raison quelconque la base de données devenait lente, même le programme d'installation cesserait de fonctionner.
Par conséquent, un test de volume a été effectué régulièrement et les performances de la base de données ont été observées minutieusement pour tout problème.
De même, nous pouvons prendreExemplesde quelques applications que nous utilisons quotidiennement pour faire des achats, réserver des billets, des transactions financières, etc. qui traitent des transactions de données lourdes et nécessitent donc un test de volume.
D'un autre côté, un test de volume idéal n'est pas toujours réalisable car il a ses propres limites et défis.
Peu de ses limites et défis incluent:
- Il est difficile de créer la fragmentation exacte de la mémoire.
- La génération de clé dynamique est délicate.
- Créer un environnement réel idéal, c'est-à-dire la réplique du serveur en direct, peut être délicat.
- Les outils d'automatisation, le réseau, etc. affectent également les résultats des tests.
Maintenant, nous avons compris quand nous devons faire ce type de test. Comprenons aussi 'Pourquoi' nous devrions faire ce test comme dans, l'objectif ou le but de réaliser ce test.
Pourquoi devrais-je viser des tests de volume?
Les tests de volume peuvent vous aider à comprendre dans quelle mesure votre système est adapté au monde réel et à économiser votre argent qui sera ensuite dépensé à des fins de maintenance.
Voici quelques raisons possibles pour effectuer ce test:
- Le besoin le plus élémentaire est d’analyser les performances de votre système par rapport à des données accrues. Créer un énorme volume de données vous aidera à comprendre les performances de votre système en termes de temps de réponse, de perte de données, etc.
- Identifiez les problèmes qui se produiront avec des données volumineuses et le seuil.
- Au-delà du point de durabilité ou de seuil, le comportement du système, c'est-à-dire si la base de données tombe en panne, devient irresponsable ou expire.
- Mettre en œuvre des solutions pour la surcharge de base de données et même les vérifier.
- Trouver le point extrême de votre base de données (qui ne peut pas être corrigé) au-delà duquel le système échouera et donc des précautions doivent être prises.
- Dans le cas de plusieurs serveurs de base de données, découvrir les problèmes de communication de base de données, c'est-à-dire les plus sujets à l'échec, etc.
Nous connaissons maintenant l'importance et la raison de réaliser ces tests.
OU nne expérience que je voudrais partager ici est qu'en termes d'applications mobiles, les tests de volume peuvent ne pas être nécessaires car une seule personne utilise l'application à la fois et les applications mobiles sont conçues pour être simples .
Donc, à moins que vous n'ayez une application très complexe avec beaucoup d'implication de données, les tests de volume peuvent être ignorés.
Une fois que vous savez ce qui doit être vérifié pour votre système ou application, la prochaine chose à faire est de créer une liste de contrôle pour votre application à définir 'Quel' doit être testé.
Quelle est ma liste de contrôle pour ce test?
Avant d'entrer dans quelques exemples pour créer une liste de contrôle pour votre application ou un système, laissez-nous d'abord comprendre quelques conseils à garder à l'esprit lors de la création d'une liste de contrôle pour le test de volume ou l'approche avant de commencer le test.
Points à retenir:
- Tenez les développeurs informés de votre plan de test, car ils en savent beaucoup sur le système et peuvent vous fournir des informations et même des goulots d'étranglement.
- Comprenez bien l'aspect physique comme dans les configurations du serveur, la RAM, le processeur, etc. avant d'élaborer une stratégie de test.
- Comprenez dans toute la mesure du possible les complexités de la base de données, des procédures, des scripts de base de données, etc. afin de pouvoir décrire la complexité de votre système dans son ensemble.
- Préparez de l'informatique, c'est-à-dire des graphiques, des fiches techniques, etc., si possible pour le volume normal de données et la qualité du système, cela vous aidera à vous assurer qu'avant de stresser la base de données, les performances sont bonnes pour une charge de données normale. Cela vous aidera également à vous assurer, avant de passer à la partie stressante, qu'il n'y a aucun problème qui nécessitera un correctif pour votre test de volume.
Voici quelques exemples que vous pouvez ajouter ou utiliser dans votre liste de contrôle:
- Vérifiez l'exactitude des méthodes de stockage des données.
- Vérifiez si le système dispose des ressources mémoire nécessaires ou non.
- Vérifiez s'il existe un risque de volume de données supérieur à une limite spécifiée.
- Vérifiez et observez la réponse du système au volume de données.
- Vérifiez si les données sont perdues pendant le test de volume.
- Vérifiez que si les données sont écrasées, cela est fait avec les informations préalables.
- Identifiez les zones qui s'étendent au-delà de la plage normale comme un grand nombre d'attributs (interrogeables), énorme non. de tables de recherche, de nombreux mappages d'emplacement, etc.
- Comme mentionné précédemment, créez d'abord une ligne de base en obtenant des résultats pour le volume normal, puis continuez avec le stress.
Avant de passer aux autres exemples, cas de test et outils, voyons d'abord en quoi ce test diffère du test de charge.
Test de volume vs test de charge
Voici quelques-unes des principales différences entre les tests de volume et de charge:
S.No. | Test de volume | Test de charge |
---|---|---|
un | Le test de volume est effectué pour vérifier les performances de la base de données par rapport à un grand volume de données dans la base de données. | Le test de charge est effectué en modifiant les charges utilisateur pour les ressources et en vérifiant les performances des ressources. |
deux | L’objectif principal de ces tests est les «données». | L’objectif principal de ces tests est les «utilisateurs». |
3 | La base de données est soumise à une contrainte maximale. | Le serveur est soumis à une contrainte maximale. |
4 | Un exemple simple peut être la création d'un fichier de grande taille. | Un exemple simple peut être la création d'un grand nombre de fichiers. |
Comment effectuer ce test?
Ce test peut être effectué à la fois manuellement ou en utilisant n'importe quel outil. En général, l'utilisation d'outils nous fera gagner du temps et des efforts mais en cas de test de volume, selon mon expérience l'utilisation d'outils peut vous donner des résultats plus précis par rapport aux tests manuels.
Avant de démarrer l'exécution de votre scénario de test, assurez-vous que:
- L'équipe a accepté le plan de test pour ces tests.
- Les autres équipes de votre projet sont bien informées des modifications de la base de données et de son impact sur leur travail.
- Les bancs de test sont définis pour les configurations spécifiées.
- La base de référence pour les tests est préparée.
- Les volumes de données spécifiques pour les tests (scripts de données ou procédures, etc.) sont prêts. Vous pouvez en savoir plus sur les outils de création de données sur notre page de génération de données.
Voyons quelques exemples de cas de test que vous pouvez utiliser lors de l'exécution:
Vérifiez ceci pour tous les volumes de données sélectionnés pour les tests de volume:
- Vérifiez si l'ajout de données peut être effectué avec succès et si cela se reflète dans l'application ou le site Web.
- Vérifiez si la suppression des données peut être effectuée avec succès et si elle se reflète dans l'application ou le site Web.
- Vérifiez si la mise à jour des données peut être effectuée avec succès et si elle se reflète dans l'application ou le site Web.
- Vérifiez qu'il n'y a pas de perte de données et que toutes les informations sont affichées comme prévu dans l'application ou le site Web.
- Vérifiez que l'application ou les pages Web n'expirent pas en raison d'un volume de données élevé.
- Vérifiez que les erreurs de plantage ne sont pas affichées en raison d'un volume de données élevé.
- Vérifiez que les données ne sont pas écrasées et que les avertissements appropriés sont affichés.
- Vérifiez que les autres modules de votre site Web ou de votre application ne se bloquent pas ou n'expirent pas avec un volume de données élevé.
- Vérifiez que le temps de réponse du DB se situe dans la plage acceptable.
Outils de test de volume
Comme indiqué précédemment, les tests d'automatisation permettent de gagner du temps et donnent même des résultats précis par rapport aux tests manuels. Un autre avantage de l’utilisation d’outils de test de volume est que nous pouvons exécuter les tests de nuit et que le travail des autres équipes ou des membres de l’équipe ne sera pas affecté par le volume de données de la base de données.
Nous pouvons programmer les tests le matin et les résultats seront prêts.
Voici une liste de quelques outils de test de volume open source:
# 1) DbFit:
Il s'agit d'un outil open source qui prend en charge le développement piloté par les tests.
DbFit Le framework de test est écrit sur Fitness, les tests sont écrits à l'aide de tables et peuvent être exécutés à l'aide de n'importe quel outil Java IDE ou CI.
# 2) HammerDb:
HammerDb est également un outil open-source qui peut être automatisé, multi-thread et permet même le script d'exécution. Il peut fonctionner avec SQL, Oracle, MYSQL etc.
# 3) JdbcSlim:
JdbcSlim Les commandes peuvent être facilement intégrées dans Slim Fitness et il prend en charge toutes les bases de données qui ont un pilote JDBC. L'accent est mis sur la conservation séparée de la configuration, des données de test et des requêtes SQL.
# 4) NoSQLMap:
Cette est un outil Python open source conçu pour injecter automatiquement des attaques et perturber les configurations de base de données pour analyser la menace. Cela ne fonctionne que pour MongoDB.
# 5) Spécification Ruby-PLSQL:
Le PLSQL peut être testé unitaire en utilisant Ruby car Oracle est disponible en tant qu'outil open-source. Cette utilise essentiellement deux bibliothèques: Ruby-PLSQL et Rspec.
Conclusion
Les tests de volume sont des tests non fonctionnels qui sont effectués pour analyser les performances de la base de données. Cela peut être fait manuellement ainsi qu'à l'aide de certains outils.
Si vous êtes un QA qui est nouveau dans ce test, je vous suggère de jouer avec l'outil ou d'exécuter d'abord certains cas de test. Cela vous aidera à comprendre le concept de test de volume avant de vous lancer dans les tests.
assurance qualité logicielle en génie logiciel
Ce test est assez délicat et présente ses propres défis, il est donc très important d'avoir une connaissance approfondie du concept, de la création du banc de test et du langage DB avant de l'exécuter.
J'espère que ce tutoriel aurait augmenté votre volume de connaissances sur ce sujet :)
lecture recommandée
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)
- Tutoriel de test par paires ou de test toutes paires avec outils et exemples
- Test fonctionnel vs test non fonctionnel
- Tutoriel de test de configuration avec des exemples
- Téléchargement de l'e-book 'Testing Primer'
- Tutoriel sur les tests destructifs et les tests non destructifs
- 11 meilleurs outils d'automatisation pour tester les applications Android (outils de test des applications Android)
- Meilleurs outils de test IVR: Tutoriel de test CYARA et HAMMER