Data Management
20/2/2024

L’importance des tests pour le traitement des données

Photo de Louis-Piotr Labadie
Louis-Piotr Labadie
Data Engineer
Succession de traits bleus et verts

En examinant de près vos processus de traitement, en particulier en confrontant les exceptions et les règles au cas par cas, vous pouvez élaborer une stratégie de test pour garantir la qualité des données à chaque étape. 

Exceptions et règles : freins au traitement de données 

Vous l’avez peut-être déjà vécu, il est parfois impossible de récupérer toutes les données soi-même, et même en le faisant, ce n’est pas garant d’une qualité infaillible : peut-être que la table de fait fournie par une usine a mal été remplie car certains scénarios n’ont pas été prévus. Cela peut aller assez vite !

Exemple de traitement de données

L’apparition d’exceptions et de règles au cas-par-cas est un des facteurs qui peut mener à une perte de qualité de la donnée, particulièrement lorsqu’on cherche à reproduire un processus avec de nombreuses exceptions car il est possible d’en oublier.

Il devient alors important de vérifier en permanence si le résultat reste cohérent, afin d’éviter des écarts entre la réalité et ce qui est indiqué. 

Dans notre cas, si nous voulons faire en sorte que les rapports soient juste, nous avons deux options :

  • Envoyer un email à la personne responsable des données de l’usine pour faire corriger l’erreur, et si possible faire en sorte que cela ne se reproduise plus.
  • Corriger directement ce qui est reçu.

Vous l’aurez compris, aucune des deux solutions n’est optimale, si ce n’est que la seconde sera plus rapide.

Le test : la solution au traitement de données ?

Pour éviter ce genre d’erreur, il faut agir sur le « Traitement des données ». De manière simplifié, celui-ci fonctionne de cette façon : 

Modèle de traitement de données simple

Sur ces 3 étapes, vous pouvez ajouter une étape de vérification.

Pour ce qui est de l’import des données, vous pouvez effectuer des tests spécifiques pour déterminer si les données semblent complètes/cohérentes. Par exemple, vous pourriez vérifier que la colonne des prix n’est jamais nulle, ou encore vérifier l’unicité des numéros de commande.

Plus une étape aura des tests, plus rapidement le problème apparaîtra s’il doit y en avoir un, et plus rapidement il sera corrigé car le test qui échoue montre de manière concise la nature du problème.

Le traitement est la partie qui est en général la plus compliquée à généraliser, car chaque personne cherchera à avoir des résultats différents selon ses besoins. Il y a tout de même certains tests qui peuvent être utilisés telle que « vérifier que la somme en entrée est la même qu’en sortie », autrement il peut être nécessaire de réfléchir à la conception des tests, ce qui nécessite une personne maîtrisant le traitement ainsi que les potentiels points d’échecs.

Pour la mise en distribution, grâce aux étapes précédentes, vous pourrez répondre à la question « Faut-il envoyer ce résultat ? ».

La réponse dépendra des informations suivantes :

  • Est-ce que des tests ont échoué ?
  • Si les tests ont échoué, de quel type d’erreur s’agit-il/quelle ampleur ?

Avec ces réponses, vous pourrez choisir ou non de mettre à jour les informations présentes en production. Il est préférable de ne pas effectuer de mise à jour si on sait par avance qu’il est possible qu’une erreur se soit glissée. 

Le scénario à prioriser pour le traitement des données

Scénario à prioriser pour le traitement de données

Dans de nombreux cas, il vaut même mieux intervenir dès le premier test échoué pour éviter de lancer une chaîne de calculs sur des informations connues comme étant fausses. Cela vous permettra de faire de grandes économies de calculs lorsque l’erreur provient de la source. 

Rond violet avec fleche vers le haut