Free Trial

Base de Connaissance

Apprenez auprès des experts.
TIPS de la semaine

Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !

Voir l'index

Tests de non régressions

mathieuf
Alteryx
Alteryx
Créé

Notre objectif sera de comparer 2 tables ayant la même structure avant de passer en production le processus (un  workflow Alteryx par exemple) qui alimente la nouvelle table en remplacement de l'ancien.

 

Pour illustrer ce cas d'usage, je vais m'appuyer sur les 2 tables suivantes :

 

Table de production :

mathieuf_0-1643981240157.png

Il est important d'avoir un identifiant unique dans les 2 tables, si ce n'est pas votre cas vous pouvez en créer un avec l'outil ID d'enregistrement.

 

Table de développement :

 

mathieuf_1-1643981334936.png

Les éléments surlignés en jaune sont les éléments non identiques par rapport à la table de production.

 

La préparation dans Designer

 

J'utilise 2 tables de ma base de données SQL Server dans cette démonstration :

 

mathieuf_0-1643981822432.png

 

Je tague ensuite les 2 environnements à l'aide d'une Formule :

 

mathieuf_0-1643984096593.png

Ceci me permettra d'identifier la provenance des données.

 

Et avec un Union à la suite, nous en sommes là :

 

mathieuf_1-1643984289725.png

 

La structure des données est celle-ci (les données de Prod et Dev ont été empilées) :

 

mathieuf_2-1643984350576.png

 

Le pivot magique

A - La théorie

 

Pour bien comprendre cette étape, voici un schéma de la structure des données avant et après.

 

Les données en entrée...

mathieuf_0-1644229116449.png

 

...peuvent être schématisées ainsi :

 

mathieuf_1-1644229189194.png

 

Et les données attendues en sortie...

 

mathieuf_2-1644229227716.png

 

... suivent le schéma ci-dessous :

 

mathieuf_3-1644229257560.png

 

B - La pratique

 

En pratique, nous avons besoin de 2 outils : Transposer et Tableau croisé dynamique

 

mathieuf_0-1644229606398.png

 

Nous fixons l'ID et l'environnement pour faire pivoter le reste des données ainsi :

 

mathieuf_1-1644229639124.png

 

Nos données ont cette structure à présent :

 

mathieuf_2-1644229758022.png

 

Pour le tableau croisé dynamique, nous conservons l'ID et la colonne Name en colonnes.

Les environnements (Dev et Prod) serviront d'en-têtes tandis que les valeurs (dans la colonne value) viendront alimenter le coeur du tableau :

 

mathieuf_3-1644229993172.png

 

Mise en place du contrôle

 

Un tri des données pour plus de clarté et un filtre vérifiant si les données de Dev sont équivalentes aux données de Prod et le tour est joué !

mathieuf_0-1644230279234.png

 

Vous disposez ainsi des données sans regressions (sortie T) et des erreurs (Sortie F).

 

Un partage en self-service ?

 

Pourquoi ne pas partager ce workflow en libre accès sur la Gallery ?

Chaque utilisateur (qu'il utilise Alteryx ou non) pourrait ainsi faire ses tests de non régressions.

 

Pensez aux développeurs qui changent une règle de gestion dans un flux d'alimentation, quid des utilisateurs métier qui doivent faire de la remontée d'information à plusieurs et doivent valider la consolidation ? Les cas d'usages sont nombreux.

 

Transformation en application analytique

 

La première étape consiste à transformer ce workflow en application analytique pour permettre une interaction.

 

Nous ajoutons 2 Zones de texte :

mathieuf_0-1644237556962.png

 

L'action met à jour le nom de la table de la base de données :

 

mathieuf_1-1644237676170.png

 

Sur la Gallery

 

Une fois publiée, l'application peut-être placé dans un District.

Le mien se nomme Self Service by IT.

 

mathieuf_2-1644237781655.png

 

L'application publique est executable par tous :

 

mathieuf_3-1644237838288.png

 

Lors du lancement, je peux choisir les tables à comparer :

 

mathieuf_4-1644237903240.png

 

Et connaître les écarts sur la Gallery :

 

mathieuf_5-1644237932822.png

 

Voilà qui devrait vous aider dans la validation de la conformité de vos données et aussi enrichir les services que proposent votre Gallery.

 

Le workflow est en pièce jointe.

Pièces jointes
contributeurs
Étiquettes