Automatiser les tests des 
développements BI grâce à NBi 
Cédric L. Charlier 
SQLSaturday 323 – Paris 2014
Rejoignez la communauté SQL Server 
Webcasts, Conférences, Afterworks 
Session donnée lors du 
http://GUSS.pro 
@GUSS_FRAN...
Sponsors Gold 
SQLSaturday 323 – Paris 2014
Sponsors Silver et Bronze 
SQLSaturday 323 – Paris 2014
Agenda 
 Pourquoi automatiser les tests? 
 Tests de requêtes Sql/Mdx/Dax 
 Tests pour packages SSIS 
 Tests spécifique...
Etat des pratiques 
 Réalise des développements BI 
 Intègre une activité de testing (hors power-users 
ou utilisateurs ...
Activités de tests 
 Ecriture d’une test-suite 
 Activité intellectuelle 
 Une itération 
 Exécution d’une test-suite ...
Pourquoi faut-il automatiser les tests? 
Temps nécessaire pour l’exécution d’une test-suite 
Manuelle 
Automatisée 
1.0 1....
Pourquoi n’automatisons-nous pas les 
tests? 
Temps nécessaire pour l’écriture d’une test-suite 
1.0 1.1 1.2 1.3 1.4 1.5 
...
Comment limiter le mur initial? 
 Définir l’effort de tests à automatiser 
 Utiliser des frameworks existants 
 C’est l...
Fils conducteurs de NBi 
 Pas de programmation/compilateur 
 Syntaxe Xml 
 Analyse détaillée lorsqu’un test échoue 
 A...
Framework NBi 
 Open-Source 
 Pas de licences à payer 
 Accès au code-source 
 Maturité de 2,5 ans 
 Activement maint...
Agenda 
 Pourquoi automatiser les tests? 
 Tests de requêtes Sql/Mdx/Dax 
 Tests pour packages SSIS 
 Tests spécifique...
Structure des tests 
 Fichier Xml 
 System-under-test 
 L’objet que l’on veut tester 
 Assert 
 Le test qu’on veut lu...
Comparaison de résultats de queries 
System-under-test Assert 
Cube et data 
MDX warehouse 
…Ou toute autre combinaison … ...
Démo: comparaison de requêtes 
 Comparaison cube/base de données 
opérationnelle 
 Bases 
 Comparaison cube/fichier pla...
Autres tests SQL/SSAS 
 Performance d’une requête 
 Exécuté en moins de x seconds 
 Gestion du cache 
 Syntaxe d’une r...
Démo: Intégrer avec SSRS 
 Récupérer la requête depuis 
 le fichier rdl 
 La base de données ReportServer 
 Définir le...
Toujours plus de tests SQL/SSAS 
 Format de cellules dans un résultat 
 Expl: toutes les cellules ont bien maximum 3 
ch...
Autres tests SQL/SSAS 
 Vérifier la logique par ligne d’un résultat 
 Expl: Calcul du prix total à partir du prix unitai...
Agenda 
 Pourquoi automatiser les tests? 
 Tests de requêtes Sql/Mdx/Dax 
 Tests pour packages SSIS 
 Tests spécifique...
Démo SSIS (Setup/Cleanup) 
 Tester le statut de l’exécution d’un ETL 
 Tester les effets de l’exécution d’un ETL 
(résul...
Agenda 
 Pourquoi automatiser les tests? 
 Tests de requêtes Sql/Mdx/Dax 
 Tests pour packages SSIS 
 Tests spécifique...
Tests spécifiques à SSAS (Membres) 
 Tests de membres d’une dimension 
 “GUSS” apparait bien comme membre de la 
dimensi...
Tests spécifiques à SSAS (Structure) 
 Tests de structure 
 Vérifier que cette dimension, hiérarchie, mesure, 
… est vis...
Agenda 
 Pourquoi automatiser les tests? 
 Tests de requêtes Sql/Mdx/Dax 
 Tests pour packages SSIS 
 Tests spécifique...
Automatiser la création de test-suite 
 Certains tests (structure – membres) sont 
très répétitifs 
 Il est possible d’a...
Principes de base de Genbi 
 Une liste de test-cases 
 Depuis un fichier CSV ou une requête SQL 
 Un template 
 Struct...
Concepts de Genbi 
Fichier 
chargé 
Variables à remplacer dans Genbi 
par le contenu d’un 
test-case 
SQLSaturday 323 – Pa...
Démo de Genbi 
 Chargement de test-cases 
 Depuis un fichier CSV 
 Depuis une requête SQL 
 Choix du template 
 Génér...
Automatiser encore plus? 
 Utiliser des macros pour remplacer les 
actions manuelles dans Genbi! 
 C’est possible avec l...
Exemple de macro genbiL 
Sujet Action paramètres 
SQLSaturday 323 – Paris 2014
Démo de genbiL 
 Ligne de commande 
 Via l’interface graphique 
SQLSaturday 323 – Paris 2014
Conclusions 
 Gain en automatisant les tests 
 De temps (Time-on-market) 
 De qualité 
 NBi 
 Supporte un très large ...
Plus d’infos 
 Site web: http://nbi.codeplex.com 
 Téléchargement 
 Documentation 
 Bugs/Wishes list 
 Support 
 Blo...
Prochain SlideShare
Chargement dans…5
×

SQLSaturday Paris 2014 - Automatisez les tests de vos développements BI grâce à NBi

340 vues

Publié le

Si vous voulez accélérer le testing de votre solution BI, sans devoir coder en .Net, la meilleure méthode est l’automatisation de tests via un framework dédié. Durant cette session, nous découvrirons la puissance du framework de tests, open-source, nommé NBi (nbi.codeplex.com) aussi bien sur les databases que sur les cubes ou les etls. Les démos nous permettrons de comprendre les meilleures techniques pour vérifier rapidement et sûrement la qualité de vos développements mais aussi comprendre comment minimiser le temps de développement et de maintenance de tels tests en utilisant les richesses de ce Framework. Session présentée lors du SQLSaturday Paris 2014

Publié dans : Données & analyses
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
340
Sur SlideShare
0
Issues des intégrations
0
Intégrations
6
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

SQLSaturday Paris 2014 - Automatisez les tests de vos développements BI grâce à NBi

  1. 1. Automatiser les tests des développements BI grâce à NBi Cédric L. Charlier SQLSaturday 323 – Paris 2014
  2. 2. Rejoignez la communauté SQL Server Webcasts, Conférences, Afterworks Session donnée lors du http://GUSS.pro @GUSS_FRANCE /GUSS /GUSS.FR
  3. 3. Sponsors Gold SQLSaturday 323 – Paris 2014
  4. 4. Sponsors Silver et Bronze SQLSaturday 323 – Paris 2014
  5. 5. Agenda  Pourquoi automatiser les tests?  Tests de requêtes Sql/Mdx/Dax  Tests pour packages SSIS  Tests spécifiques à SSAS  Automatisation de la création de test-suites SQLSaturday 323 – Paris 2014
  6. 6. Etat des pratiques  Réalise des développements BI  Intègre une activité de testing (hors power-users ou utilisateurs finals)  Teste davantage que les points-clés lors de chaque release  Possède une test-suite formelle à haute couverture  Possède une test-suite automatisée à haute couverture SQLSaturday 323 – Paris 2014
  7. 7. Activités de tests  Ecriture d’une test-suite  Activité intellectuelle  Une itération  Exécution d’une test-suite  Activité manuelle  Multiples itérations SQLSaturday 323 – Paris 2014
  8. 8. Pourquoi faut-il automatiser les tests? Temps nécessaire pour l’exécution d’une test-suite Manuelle Automatisée 1.0 1.1 1.2 1.3 1.4 1.5 Temps nécessaire Release SQLSaturday 323 – Paris 2014 Croissance exponentielle Augmentation: - d’objets à tester - de regressions
  9. 9. Pourquoi n’automatisons-nous pas les tests? Temps nécessaire pour l’écriture d’une test-suite 1.0 1.1 1.2 1.3 1.4 1.5 Temps nécessaire Release SQLSaturday 323 – Paris 2014 Manuelle Automatisée Mur initial
  10. 10. Comment limiter le mur initial?  Définir l’effort de tests à automatiser  Utiliser des frameworks existants  C’est là qu’entre en jeu NBi! SQLSaturday 323 – Paris 2014
  11. 11. Fils conducteurs de NBi  Pas de programmation/compilateur  Syntaxe Xml  Analyse détaillée lorsqu’un test échoue  Aide à la comparaison des résultats SQLSaturday 323 – Paris 2014
  12. 12. Framework NBi  Open-Source  Pas de licences à payer  Accès au code-source  Maturité de 2,5 ans  Activement maintenu  Une release par trimestre  Support via forum  Télécharger sur http://nbi.codeplex.com SQLSaturday 323 – Paris 2014
  13. 13. Agenda  Pourquoi automatiser les tests?  Tests de requêtes Sql/Mdx/Dax  Tests pour packages SSIS  Tests spécifiques à SSAS  Automatisation de la création de test-suites SQLSaturday 323 – Paris 2014
  14. 14. Structure des tests  Fichier Xml  System-under-test  L’objet que l’on veut tester  Assert  Le test qu’on veut lui faire subir SQLSaturday 323 – Paris 2014
  15. 15. Comparaison de résultats de queries System-under-test Assert Cube et data MDX warehouse …Ou toute autre combinaison … SQLSaturday 323 – Paris 2014 Previous release Deux releases d’un même data warehouse (non-regression) Solution Tabular vis-à-vis d’un fichier de résultats connus DAX
  16. 16. Démo: comparaison de requêtes  Comparaison cube/base de données opérationnelle  Bases  Comparaison cube/fichier plat  Connexions par défaut  Tolérance  Intervalles SQLSaturday 323 – Paris 2014
  17. 17. Autres tests SQL/SSAS  Performance d’une requête  Exécuté en moins de x seconds  Gestion du cache  Syntaxe d’une requête SQLSaturday 323 – Paris 2014
  18. 18. Démo: Intégrer avec SSRS  Récupérer la requête depuis  le fichier rdl  La base de données ReportServer  Définir les paramètres de la requête SQLSaturday 323 – Paris 2014
  19. 19. Toujours plus de tests SQL/SSAS  Format de cellules dans un résultat  Expl: toutes les cellules ont bien maximum 3 chiffres après le séparateur de décimal (,) SQLSaturday 323 – Paris 2014
  20. 20. Autres tests SQL/SSAS  Vérifier la logique par ligne d’un résultat  Expl: Calcul du prix total à partir du prix unitaire, de la quantité et d’un pourcentage de réduction.  La logique est appliqué à chaque ligne  Si une ligne échoue le test est en échec. SQLSaturday 323 – Paris 2014
  21. 21. Agenda  Pourquoi automatiser les tests?  Tests de requêtes Sql/Mdx/Dax  Tests pour packages SSIS  Tests spécifiques à SSAS  Automatisation de la création de test-suites SQLSaturday 323 – Paris 2014
  22. 22. Démo SSIS (Setup/Cleanup)  Tester le statut de l’exécution d’un ETL  Tester les effets de l’exécution d’un ETL (résultat)  Setup  Charger la table source  Vider la table de destination  Lancer l’ETL SQLSaturday 323 – Paris 2014
  23. 23. Agenda  Pourquoi automatiser les tests?  Tests de requêtes Sql/Mdx/Dax  Tests pour packages SSIS  Tests spécifiques à SSAS  Automatisation de la création de test-suites SQLSaturday 323 – Paris 2014
  24. 24. Tests spécifiques à SSAS (Membres)  Tests de membres d’une dimension  “GUSS” apparait bien comme membre de la dimension “SQL User Group”  La dimension “SQL User Group” comprend plus de 150 membres.  Tous les membres de cette dimension ont bien un label compris entre 4 et 8 lettres …  Les membres de la hiérarchie “date” sont ordonnés chronologiquement  … SQLSaturday 323 – Paris 2014
  25. 25. Tests spécifiques à SSAS (Structure)  Tests de structure  Vérifier que cette dimension, hiérarchie, mesure, … est visible pour l’utilisateur final dans une perspective donnée.  Vérifier qu’il existe une relation entre tel groupe de mesure et telle dimension. SQLSaturday 323 – Paris 2014
  26. 26. Agenda  Pourquoi automatiser les tests?  Tests de requêtes Sql/Mdx/Dax  Tests pour packages SSIS  Tests spécifiques à SSAS  Automatisation de la création de test-suites SQLSaturday 323 – Paris 2014
  27. 27. Automatiser la création de test-suite  Certains tests (structure – membres) sont très répétitifs  Il est possible d’automatiser la génération de ces tests!  Genbi est distribué avec NBi SQLSaturday 323 – Paris 2014
  28. 28. Principes de base de Genbi  Une liste de test-cases  Depuis un fichier CSV ou une requête SQL  Un template  Structure du test (balises xml)  Des emplacements où insérer les éléments du test-case SQLSaturday 323 – Paris 2014
  29. 29. Concepts de Genbi Fichier chargé Variables à remplacer dans Genbi par le contenu d’un test-case SQLSaturday 323 – Paris 2014
  30. 30. Démo de Genbi  Chargement de test-cases  Depuis un fichier CSV  Depuis une requête SQL  Choix du template  Génération du fichier de tests (.nbits) SQLSaturday 323 – Paris 2014
  31. 31. Automatiser encore plus?  Utiliser des macros pour remplacer les actions manuelles dans Genbi!  C’est possible avec le langage genbiL  Un fichier genbiL qui contient la liste des actions  Lancer Genbi avec comme paramètre le fichier genbiL  On obtient notre test-suite! SQLSaturday 323 – Paris 2014
  32. 32. Exemple de macro genbiL Sujet Action paramètres SQLSaturday 323 – Paris 2014
  33. 33. Démo de genbiL  Ligne de commande  Via l’interface graphique SQLSaturday 323 – Paris 2014
  34. 34. Conclusions  Gain en automatisant les tests  De temps (Time-on-market)  De qualité  NBi  Supporte un très large panel de tests  Pas besoin de compilateur  Syntaxe Xml  Bonne analyse des tests en échec  Open-Source  Possibilité d’automatiser la génération de tests (Genbi / genbiL) SQLSaturday 323 – Paris 2014
  35. 35. Plus d’infos  Site web: http://nbi.codeplex.com  Téléchargement  Documentation  Bugs/Wishes list  Support  Blog: http://seddryck.wordpress.com  Twitter: @Seddryck SQLSaturday 323 – Paris 2014

×