REX : tout savoir sur comment tester les données de votre Data Lake ?

Dans cet article, rédigé par une de nos ingénieures de test logiciel, vous découvrirez l’univers du Big Data dans le domaine du CRM.
Nous vous dévoilerons ce qu’est un système d’informations utilisant le Big Data, les problématiques engendrées par le test de très gros volumes de données ainsi que le respect de la législation du RGPD. Nous vous présenterons également les outils et les méthodes que notre collaboratrice a utilisé sur un de ses projets client.

Big Data-Test-CRM

Sommaire :

  1. Qu’est-ce que le Big Data Testing et pourquoi en avons-nous besoin ?
  2. Comment adapter les tests Big Data ?
  3. Un aperçu du traitement de Big Data au quotidien dans le domaine du CRM
  4. Les avantages des tests Big Data
  5. Les besoins de l’environnement de test
  6. Ingestion et flux de données en temps réel dans l’utilisation de Nifi & Kafka dans un vrai CRM
  7. Un scénario de validation des données de test à l’aide de critères d’acceptation des utilisateurs
  8. Les défis du Big Data Testing dans notre projet
  9. Comment nous essayons de les surmonter ?
  10. Le RGPD et le Big Data ?
  11. Fournir des données réalistes pour nos tests de logiciels

1. Qu’est-ce que le Big Data Testing et pourquoi en avons-nous besoin ?

Dans le monde technologique actuel, les données sont obtenues trop rapidement et on s’appuie régulièrement sur ces données. De plus, à la vitesse à laquelle les données sont fournies, il devient impossible de stocker toutes les données sur un serveur. Il est donc important de noter comment nous pouvons surmonter les défis liés à cette technologie. Cet article met en lumière la façon dont nous traitons les tests de Big Data dans le domaine de CRM dans une maison de couture bien connue.

L’analyse de Big Data aide efficacement de différentes opérations à devenir plus efficaces. Cela aide à améliorer les bénéfices de l’entreprise. Les outils d’analyse de Big Data contribuent à réduire le coût du stockage ce qui augmente encore l’efficacité de l’entreprise.

« L’une des utilisations les plus importantes du Big Data est de générer de petites données. Les petites données se réfèrent aux données qui n’ont pas de problèmes de volume, de vitesse et de variété ».

2. Commenter adapter les tests Big Data ?

Tester l’application Big Data consiste davantage à vérifier son traitement des données qu’à tester les fonctionnalités individuelles du logiciel. En ce qui concerne les tests Big Data, les performances et les tests fonctionnels sont les clés. Dans les tests de Big Data, les ingénieurs QA vérifient le succès du traitement des 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 tests car le traitement est très rapide. Le traitement peut être de plusieurs types.

  • La validation des données est très importante pour que les données collectées à partir de différentes sources soient vérifiées puis rajoutées au système.
  • Validation de la logique métier et validation des paires valeur / clé
  • Validation OutPut, comprenant l’intégration et la validation des données comme résultat de l’application correcte des règles de transformation.

3. Un aperçu du traitement de Big Data au quotidien dans le domaine du CRM

Le traitement des données par lot est un moyen efficace de traiter de gros volumes de données concernant le groupe de transactions collecté sur une période donnée. Les données sont collectées, saisies, traitées puis les résultats du lot sont produits.

Le traitement par lot nécessite des programmes distincts pour l’entrée (input), le processus (process) et la sortie (output). Un exemple est l’analyse du trafic et des cibles pour les entreprises avec une grande quantité de données collectées sur une période précise.

En revanche, le traitement des données en temps réel implique une entrée, un traitement et une sortie continus des données. Les données doivent être traitées dans un court laps de temps ou presque en temps réel. La création de clients ou l’évaluation des stocks sont des exemples en temps réel.

4. Les avantages des tests Big Data

Les tests Big Data vous aident à trouver les données qualitatives, précises et intactes. Les données collectées auprès de différentes sources et canaux sont confirmées, ce qui permet l’amélioration de l’application. Voici quelques-uns des principaux avantages des tests Big Data:

  • Précision des données
  • Rentabilité en termes de coût, de stockage, prise de décision et stratégie business (Cost-effective, Storage-Effective, Decision-making and Business Strategy)
  • Les données réelles au moment précis
  • Réduction du déficit et augmentation des bénéfices

5. Besoins de l’environnement de test

L’environnement de test doit dépendre du type d’application que vous testez. Pour les tests Big Data, l’environnement de test :

  • Doit avoir suffisamment d’espace de stockage et traiter une grande quantité de données
  • Doit avoir un cluster avec des nœuds et des données distribués
  • Doit avoir une utilisation minimale du processeur et de la mémoire pour maintenir les performances élevées

6. Ingestion et flux de données en temps réel dans l’utilisation de Nifi & Kafka dans un vrai CRM

Je travaille en tant qu’ingénieur de test Big Data dans un domaine CRM pour une maison de couture bien connue. Chaque jour, nous traitons une grande partie des données. J’ai essayé d’esquisser une architecture en champ réel.

Nous prenons les données réelles et les stockons pendant quelques jours, puis nous exécutons le lot et parfois nous utilisons NiFi ou Kafka pour le suivi en temps réel. Ensuite, en utilisant le l’echosystème Spark, nous insérons les données dans Cassandra et Solr.

Alors maintenant, la question est de savoir pourquoi nous alimentons les données dans deux bases de données lorsque le stockage dans une seule est suffisant.

Permettez-moi d’expliquer en bref :

Les données peuvent être écrites directement dans Cassandra, puis mises à jour de l’indicateur Solr. Les données sont réparties selon l’empreinte numérique des clés et le facteur de réplication dans Cassandra. Ainsi, les données peuvent enfin être lues directement dans Cassandra ou via l’API Solr. Cassandra donne une lecture rapide tandis que Solr est une recherche basée sur le texte intégral.

7. Un scénario de validation des données de test à l’aide des critères d’acceptation des utilisateurs

Supposons que nous souhaitons rechercher et récupérer des données du client à partir de la source afin de pouvoir les utiliser dans mon application. Nous obtenons donc ici les données d’une source d’entreprise par deux flux : temps réel et lot.

  • (Given) Nous vérifions d’abord que notre demande n’a pas un client spécifique comme condition préalable.
  • (Then) Ensuite nous lisons les données dans KAFKA (un support de message middleware) envoyées par la source d’entreprise en temps réel.
  • (Then) Ensuite en exécutant l’echosystème Spark, nous absorbons les données dans Cassandra et Solr.
  • (Then) Ensuite nous vérifions que les données sont correctement injectées dans Cassandra et Solr.
  • (And) Et nous comparons également les données dans la source et la destination pour avoir les données.

8. Les défis des tests Big Data dans notre projet :

Chaque jour, nous devons traiter une grande quantité de données concernant les clients, les ventes, les articles, l’après-vente, les campagnes de marketing.

Tester toutes ces données, conserver toutes les qualités des données et les gérer n’est pas un processus facile à tester.

Les défis rencontrés :

  • Grand volume de données et hétérogénéité.
  • Intégrité des données.
  • Compréhension de l’intégrité des données.
  • Manque d’expertise technique.
  • Délai et coûts allongés.
  • Sélection du bon outil de requête : SQL vs NoSQL.

SQL est devenu la norme en matière de requête de base de données car il permet de nombreuses interrogations du même ensemble d’informations. D’un autre côté, NoSQL est devenu populaire grâce aux géants du Big Data et d’internet comme Facebook et LinkedIn.

NoSQL est excellent pour la flexibilité, il n’a pas de schéma fixe derrière, mais peut simplement évoluer et obtenir de nouvelles propriétés selon les besoins. Il a été conçu pour les données semi-structurées ; ainsi, il peut être facilement mis à l’échelle horizontalement en répartissant les données sur les serveurs.

SQL est déclaratif, la seule a choisi que l’utilisateur doit faire est de demander les bonnes informations, et il obtiendra sous la forme déjà existante dans le système. En revanche, NoSQL, en tant que requête procédurale, demande à l’utilisateur spécifier le type de la réponse finale.

Pour surmonter ce problème, il existe des implémentations SQL qui peuvent interroger les systèmes HDFS, à l’exception de Hive, qui était l’outil de requête d’origine de Hadoop.

Problèmes de sécurité auxquels nous avons été confrontés :

  • Vulnérabilité (fausse génération de données)
  • Présence potentielle d’une cartographie non fiable
  • Problèmes de protection cryptographique
  • Possibilité d’exploration d’informations sensibles
  • Lutte avec le contrôle d’accès granulaire
  • Difficultés de provenance des données
  • Grande vitesse d’évolution des bases de données NoSQL et manque de concentration sur la sécurité.
  • L’absence des audits de sécurité

9. Comment nous essayons de surmonter ces défis ?

Le traitement de Big Data est un domaine très prometteur dans l’environnement commercial complexe d’aujourd’hui.

L’application de la bonne dose de stratégies de test et le respect des meilleures pratiques contribuent à garantir la qualité des tests logiciels. L’idée est de reconnaître et d’identifier les défauts dans les premières étapes des tests et de les corriger.

Cela contribue à la réduction des coûts et à une meilleure réalisation des objectifs de l’entreprise. Grâce à ce processus, les problèmes rencontrés par les testeurs lors des tests de logiciels sont désormais résolus, car les approches de test sont toutes conduites par les données.

10. Le RGPD et le Big Data ?

Le règlement général sur la protection des données (RGPD) – peut-être le règlement sur la confidentialité des données le plus célèbre de tous les temps – est entré en vigueur le 25 mai 2018.

Rappel rapide : le RGPD a redéfini les règles de l’utilisation et l’analyse des données par les entreprises concernant les consommateurs de l’UE. Le RGPD a écarté la responsabilité de la confidentialité des données des consommateurs individuels et l’a recadré pour les entreprises, attirant l’attention mondiale sur la façon dont les entreprises gèrent le traitement des informations personnelles identifiables.

Quelle que soit leur taille, 93% des petites entreprises déclarent qu’elles sont préparées d’une manière ou d’une autre à se conformer à l’anonymisation.

L’anonymisation est la capacité du responsable du traitement à anonymiser les données d’une manière qui est importante.

11. Fournir des données réelles et réalistes pour nos tests de logiciels

L’accélération du processus de test logiciel est essentiel pour améliorer la valeur ajoutée des projets logiciels.

Les outils automatisés peuvent tester le logiciel, mais, en fin de compte, vous avez besoin d’un comportement utilisateur réel incorporé dans des données réelles. Encore une fois, le RGPD facilite l’utilisation de ces données. Car lorsque vous anonymisez les données, elles peuvent être traitées en toute sécurité.

Nous réfléchissons à une autre façon d’anonymiser. Aujourd’hui, les clients sont tous appelés Anonymisé Anonimisé. (Anonymized Anonimized)

Ceci nous permet d’avoir un nom propre (mélange des lettres) pour le nom, l’adresse e-mail et le numéro de téléphone.

Comme les sources d’entreprise ont des contraintes techniques, il sera plus facile pour l’adresse physique de ne conserver que le pays.

Mais cela peut être un problème pour certaines équipes de n’avoir que le pays, et pas de ligne d’adresse, pas de code postal, pas de ville. Nous recherchons une solution efficace pour cela.

Rédacteurs :

Debdatta DEY / Ingénieur QA / All4Test