Automatiser les tests des développements BI grâce à NBi

2 210 vues

Publié le

Pourquoi et comment automatiser les tests d'une solution BI? Ce slide deck met en avant les possibilités diverses et variées du framework NBi et explique comment réussir son automatisation des tests.

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
2 210
Sur SlideShare
0
Issues des intégrations
0
Intégrations
980
Actions
Partages
0
Téléchargements
16
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Automatiser les tests des 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. Sponsors Gold SQLSaturday 323 – Paris 2014
  3. 3. Sponsors Silver et Bronze SQLSaturday 323 – Paris 2014
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. 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
  23. 23. 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
  24. 24. 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
  25. 25. 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
  26. 26. 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
  27. 27. 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
  28. 28. Concepts de Genbi Fichier chargé Variables à remplacer dans Genbi par le contenu d’un test-case SQLSaturday 323 – Paris 2014
  29. 29. 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
  30. 30. 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
  31. 31. Exemple de macro genbiL Sujet Action paramètres SQLSaturday 323 – Paris 2014
  32. 32. Démo de genbiL  Ligne de commande  Via l’interface graphique SQLSaturday 323 – Paris 2014
  33. 33. 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
  34. 34. 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

×