Tutoriel de test Big Data : qu'est-ce que c'est, stratégie, comment tester Hadoop
Tests de mégadonnées
Tests de mégadonnées est un processus de test d'une application Big Data afin de garantir que toutes les fonctionnalités d'une application Big Data fonctionnent comme prévu. L'objectif des tests Big Data est de garantir que le système Big Data fonctionne correctement et sans erreur tout en maintenant les performances et la sécurité.
Le Big Data est une collection de grands ensembles de données qui ne peuvent pas être traités à l’aide des techniques informatiques traditionnelles. USP,EP, BP de ces ensembles de données implique divers outils, techniques et cadres à traiter. Le Big Data concerne la création, le stockage, la récupération et l’analyse de données remarquables en termes de volume, de variété et de rapidité. Vous pouvez en savoir plus sur le Big Data, Hadoop et MapReduce ici.
Qu’est-ce que la stratégie de test Big Data ?
Tester une application Big Data consiste davantage à vérifier son traitement des données qu’à tester les fonctionnalités individuelles du produit logiciel. Lorsqu'il s'agit de tests Big Data, tests de performances et fonctionnels sont les clés.
Dans la stratégie de test Big Data, les ingénieurs QA vérifient le traitement réussi de téraoctets de données à l'aide d'un cluster de produits et d'autres composants de support. Cela nécessite un haut niveau de compétences en matière de tests car le traitement est très rapide. Le traitement peut être de trois types
Parallèlement à cela, la qualité des données est également un facteur important dans les tests Hadoop. Avant de tester l'application, il est nécessaire de vérifier la qualité des données et doit être considéré comme faisant partie des tests de la base de données. Il s'agit de vérifier diverses caractéristiques telles que la conformité, l'exactitude, la duplication, la cohérence, la validité, l'exhaustivité des données, etc. Ensuite, dans ce didacticiel Hadoop Testing, nous apprendrons comment tester les applications Hadoop.
Comment tester les applications Hadoop
La figure suivante donne un aperçu général des phases de test des applications Big Data.
Les tests Big Data ou Hadoop peuvent être divisés en trois étapes
Étape 1 : Validation de la mise en scène des données
La première étape de ce didacticiel de test Big Data est appelée étape pré-Hadoop et implique la validation du processus.
- Données provenant de diverses sources comme RDBMS, les blogs, les médias sociaux, etc. doivent être validés pour garantir que les données correctes sont saisies dans le système
- Comparer les données sources avec les données transmises au système Hadoop pour s'assurer qu'elles correspondent
- Vérifiez que les bonnes données sont extraites et chargées dans le bon emplacement HDFS
Des outils comme Talend, Datameer, peut être utilisé pour la validation de la mise en scène des données
Étape 2 : Validation « MapReduce »
La deuxième étape est une validation de « MapReduce ». Au cours de cette étape, le testeur Big Data vérifie la validation de la logique métier sur chaque nœud, puis les valide après exécution sur plusieurs nœuds, garantissant ainsi que le
- Le processus de réduction de carte fonctionne correctement
- Des règles d'agrégation ou de ségrégation des données sont mises en œuvre sur les données
- Des paires clé-valeur sont générées
- Validation des données après le processus Map-Reduce
Étape 3 : Phase de validation des résultats
La dernière ou troisième étape des tests Hadoop est le processus de validation des résultats. Les fichiers de données de sortie sont générés et prêts à être déplacés vers un EDW (Enterprise Data Warehouse) ou tout autre système en fonction des besoins.
Les activités de la troisième étape comprennent
- Pour vérifier que les règles de transformation sont correctement appliquées
- Pour vérifier l'intégrité des données et le chargement réussi des données dans le système cible
- Pour vérifier qu'il n'y a pas de corruption des données en comparant les données cibles avec les données du système de fichiers HDFS
ArchiTest de texture
Hadoop traite de très gros volumes de données et est très gourmand en ressources. Les tests architecturaux sont donc cruciaux pour garantir le succès de votre projet Big Data. Un système mal ou mal conçu peut entraîner une dégradation des performances et le système pourrait ne pas répondre aux exigences. Au moins, Test de performances et de basculement les services doivent être effectués dans un environnement Hadoop.
Test de performance comprend des tests sur le temps d'exécution des tâches, l'utilisation de la mémoire, le débit de données et des mesures système similaires. Alors que l'objectif du service de test de basculement est de vérifier que le traitement des données s'effectue de manière transparente en cas de panne des nœuds de données.
Test de performance
Les tests de performances pour le Big Data comprennent deux actions principales
- Ingestion de données et tout au long: Dans cette étape, le testeur Big Data vérifie comment le système rapide peut consommer des données provenant de diverses sources de données. Les tests consistent à identifier un message différent que la file d'attente peut traiter dans un laps de temps donné. Cela inclut également la rapidité avec laquelle les données peuvent être insérées dans le magasin de données sous-jacent, par exemple le taux d'insertion dans un Mongo et Cassandra base de données.
Approche des tests de performances
Les tests de performances pour les applications Big Data impliquent de tester d’énormes volumes de données structurées et non structurées, et nécessitent une approche de test spécifique pour tester des données aussi volumineuses.
Les tests de performances sont exécutés dans cet ordre
- Le processus commence par la configuration du cluster Big Data dont les performances doivent être testées.
- Identifier et concevoir les charges de travail correspondantes
- Préparer les clients individuels (des scripts personnalisés sont créés)
- Exécuter le test et analyser le résultat (si les objectifs ne sont pas atteints, régler le composant et réexécuter)
- Configuration optimale
Paramètres pour les tests de performances
Divers paramètres à vérifier pour les tests de performances sont
- Stockage des données : comment les données sont stockées dans différents nœuds
- Journaux de validation : la taille du journal de validation peut croître
- Concurrence : combien de threads peuvent effectuer des opérations d'écriture et de lecture
- Mise en cache : ajustez les paramètres de cache « cache de lignes » et « cache de clés ».
- Délais d'expiration : valeurs de délai d'expiration de connexion, de délai d'expiration de requête, etc.
- Paramètres JVM : taille du tas, algorithmes de collecte GC, etc.
- La carte réduit les performances : trie, fusionne, etc.
- File d'attente des messages : débit des messages, taille, etc.
Besoins de l’environnement de test
L'environnement de test doit dépendre du type d'application que vous testez. Pour les tests de logiciels Big Data, l'environnement de test doit englober
- Il doit disposer de suffisamment d’espace pour le stockage et traiter une grande quantité de données
- Il devrait avoir un cluster avec des nœuds et des données distribués
- Il doit avoir une utilisation minimale du processeur et de la mémoire pour maintenir des performances élevées afin de tester les performances du Big Data.
Tests Big Data vs. Tests de bases de données traditionnelles
Propriétés | Tests de bases de données traditionnels | Tests de mégadonnées |
---|---|---|
Date | Le testeur travaille avec des données structurées | Le testeur fonctionne avec des données structurées et non structurées |
Approche de test | L'approche de test est bien définie et éprouvée | L'approche de test nécessite des efforts de R&D ciblés |
Stratégie de test | Le testeur a la possibilité d'effectuer une stratégie « d'échantillonnage » manuellement ou une stratégie de « vérification exhaustive » par l'outil d'automatisation. | La stratégie de « sampling » dans le Big data est un défi |
Infrastructure | Il ne nécessite pas d'environnement de test spécial car la taille du fichier est limitée | Il nécessite un environnement de test spécial en raison de la grande taille des données et des fichiers (HDFS) |
Outils de validation | Le testeur utilise soit le logiciel basé sur Excel macros ou outils d'automatisation basés sur l'interface utilisateur | Aucun outil défini, la gamme est vaste, des outils de programmation comme MapReduce à HIVEQL |
Outils de test | Les outils de test peuvent être utilisés avec des connaissances opérationnelles de base et moins de formation. | Cela nécessite un ensemble spécifique de compétences et de formation pour utiliser un outil de test. De plus, les outils en sont à leurs balbutiements et, au fil du temps, ils pourraient proposer de nouvelles fonctionnalités. |
Outils utilisés dans les scénarios Big Data
Big Data Cluster | Outils de mégadonnées |
---|---|
NoSQL : | CouchDB, Bases de données MongoDB, Cassandra, Redis, ZooKeeper, HBase |
MapReduce : | Hadoop, Ruche, Cochon, Cascade, Oozie, Kafka, S4, MapR, Flume |
Stockage: | S3, HDFS (système de fichiers distribués Hadoop) |
Les serveurs: | Élastique, Heroku, Élastique, Google App Engine, EC2 |
Gestion | R, Yahoo! Tuyaux, Mechanical Turk, BigSheets, Datameer |
Défis des tests Big Data
- Automatisation
Test d'automatisation Le Big Data nécessite une personne possédant une expertise technique. De plus, les outils automatisés ne sont pas équipés pour gérer les problèmes inattendus qui surviennent lors des tests.
- Virtualisation
C'est l'une des phases intégrales des tests. La latence des machines virtuelles crée des problèmes de timing lors des tests de performances Big Data en temps réel. La gestion des images dans le Big Data est également un problème.
- Grand ensemble de données
- Besoin de vérifier plus de données et de le faire plus rapidement
- Besoin d'automatiser l'effort de test
- Besoin de pouvoir tester sur différentes plateformes
Défis des tests de performances
- Un ensemble diversifié de technologies: Chaque sous-composant appartient à une technologie différente et nécessite des tests isolés
- Indisponibilité d'outils spécifiques: Aucun outil ne peut effectuer à lui seul les tests de bout en bout. Par exemple, NoSQL pourrait ne pas convenir aux files d'attente de messages
- Tester les scripts: Un haut degré de scripting est nécessaire pour concevoir des scénarios de test et des cas de test
- Environnement de test: Il nécessite un environnement de test spécial en raison de la grande taille des données
- Solution de surveillance : Il existe des solutions limitées permettant de surveiller l'ensemble de l'environnement
- Solution diagnostique : une solution personnalisée est nécessaire à développer pour explorer les zones de goulot d'étranglement en matière de performances
Résumé
- À mesure que l’ingénierie et l’analyse des données progressent vers un niveau supérieur, les tests Big Data sont inévitables.
- Le traitement du Big Data peut être par lots, en temps réel ou interactif.
- 3 étapes de test des applications Big Data sont la validation de la mise en scène des données, la validation « MapReduce » et la phase de validation des sorties
- ArchiLes tests de configuration constituent la phase importante des tests Big Data, car un système mal conçu peut entraîner des erreurs sans précédent et une dégradation des performances.
- Les tests de performances pour le Big Data incluent la vérification du débit de données, du traitement des données et des performances des sous-composants.
- Les tests Big Data sont très différents des tests de données traditionnels en termes de données, d'infrastructure et d'outils de validation.
- Les défis des tests Big Data incluent la virtualisation, l’automatisation des tests et la gestion de grands ensembles de données. Les tests de performances des applications Big Data constituent également un problème.