SlideShare ist ein Scribd-Unternehmen logo
1 von 35
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_FRANCE 
/GUSS 
/GUSS.FR
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écifiques à SSAS 
 Automatisation de la création de test-suites 
SQLSaturday 323 – Paris 2014
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Concepts de Genbi 
Fichier 
chargé 
Variables à remplacer dans Genbi 
par le contenu d’un 
test-case 
SQLSaturday 323 – Paris 2014
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
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
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 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
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

Weitere ähnliche Inhalte

Andere mochten auch (8)

Recomendações de Literatura BI Open Source
Recomendações de Literatura BI Open SourceRecomendações de Literatura BI Open Source
Recomendações de Literatura BI Open Source
 
Desvendando o Microsoft Datazen
Desvendando o Microsoft DatazenDesvendando o Microsoft Datazen
Desvendando o Microsoft Datazen
 
Alta Disponibilidade TechEd
Alta Disponibilidade TechEdAlta Disponibilidade TechEd
Alta Disponibilidade TechEd
 
Workshop SQL Server 2012
Workshop SQL Server 2012Workshop SQL Server 2012
Workshop SQL Server 2012
 
Ferramentas gerenciais totvs protheus
Ferramentas gerenciais totvs protheusFerramentas gerenciais totvs protheus
Ferramentas gerenciais totvs protheus
 
Carreiras em Business Intelligence e Big Data
Carreiras em Business Intelligence e Big DataCarreiras em Business Intelligence e Big Data
Carreiras em Business Intelligence e Big Data
 
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
 
Totvs bi
Totvs biTotvs bi
Totvs bi
 

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

[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
Christophe HERAL
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation Server
Philippe Sentenac
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
PimpMySharePoint
 

Ähnlich wie SQLSaturday Paris 2014 - Automatisez les tests de vos développements BI grâce à NBi (20)

Automatiser les tests des développements BI grâce à NBi
Automatiser les tests des développements BI grâce à NBiAutomatiser les tests des développements BI grâce à NBi
Automatiser les tests des développements BI grâce à NBi
 
SQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSASSQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSAS
 
Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013
Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013
Ce que tout DBA doit savoir sur SQL Server et SharePoint 2013
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...
SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...
SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...
 
SQLSaturday Paris 2014 - Bien choisir sa plate-forme de données
SQLSaturday Paris 2014 - Bien choisir sa plate-forme de donnéesSQLSaturday Paris 2014 - Bien choisir sa plate-forme de données
SQLSaturday Paris 2014 - Bien choisir sa plate-forme de données
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmedia
 
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
 
Boostez vos applications en migrant vos bases vers SQL Server 2012 !
Boostez vos applications en migrant vos bases vers SQL Server 2012 !Boostez vos applications en migrant vos bases vers SQL Server 2012 !
Boostez vos applications en migrant vos bases vers SQL Server 2012 !
 
MS Cloud Summit Paris 2017 - Azure Stack
MS Cloud Summit Paris 2017 - Azure StackMS Cloud Summit Paris 2017 - Azure Stack
MS Cloud Summit Paris 2017 - Azure Stack
 
MS Cloud Summit Paris 2017 - Azure Stack
MS Cloud Summit Paris 2017 - Azure StackMS Cloud Summit Paris 2017 - Azure Stack
MS Cloud Summit Paris 2017 - Azure Stack
 
USI 2013 : 7 changements nécessaires pour sauver vos SI décisionnels
USI 2013 : 7 changements nécessaires pour sauver vos SI décisionnelsUSI 2013 : 7 changements nécessaires pour sauver vos SI décisionnels
USI 2013 : 7 changements nécessaires pour sauver vos SI décisionnels
 
SharePoint et Azure premiers pas - SharePoint Days Casablanca
SharePoint et Azure premiers pas - SharePoint Days CasablancaSharePoint et Azure premiers pas - SharePoint Days Casablanca
SharePoint et Azure premiers pas - SharePoint Days Casablanca
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation Server
 
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideRetour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
 
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybrideRetour d'expérience : rendre votre IT agile grâce au cloud hybride
Retour d'expérience : rendre votre IT agile grâce au cloud hybride
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
CV_Frederick_VARANGO
CV_Frederick_VARANGOCV_Frederick_VARANGO
CV_Frederick_VARANGO
 
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage - Charles-Hen...
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage  - Charles-Hen...J1 T1 1 - Azure Data Platform, quelle solution pour quel usage  - Charles-Hen...
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage - Charles-Hen...
 

Mehr von GUSS

Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
GUSS
 

Mehr von GUSS (20)

GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
 
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
 
JSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a bossJSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a boss
 
GUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the WebGUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the Web
 
JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2
 
JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1
 
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
 
[JSS2015] Power BI Dev
[JSS2015] Power BI Dev[JSS2015] Power BI Dev
[JSS2015] Power BI Dev
 
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
 
[JSS2015] Query Store
[JSS2015] Query Store[JSS2015] Query Store
[JSS2015] Query Store
 
[JSS2015] 3 DMV's pour evaluer les indexs
[JSS2015] 3 DMV's pour evaluer les indexs[JSS2015] 3 DMV's pour evaluer les indexs
[JSS2015] 3 DMV's pour evaluer les indexs
 
[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybrides[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybrides
 
[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale out[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale out
 
[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics
 
[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks
 
[JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics [JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics
 
[JSS2015] - Azure automation
[JSS2015] - Azure automation[JSS2015] - Azure automation
[JSS2015] - Azure automation
 
[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016
 
[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosql[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosql
 
[JSS2015] x events
[JSS2015] x events[JSS2015] x events
[JSS2015] x events
 

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

  • 1. Automatiser les tests des développements BI grâce à NBi Cédric L. Charlier SQLSaturday 323 – Paris 2014
  • 2. Rejoignez la communauté SQL Server Webcasts, Conférences, Afterworks Session donnée lors du http://GUSS.pro @GUSS_FRANCE /GUSS /GUSS.FR
  • 3. Sponsors Gold SQLSaturday 323 – Paris 2014
  • 4. Sponsors Silver et Bronze SQLSaturday 323 – Paris 2014
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Concepts de Genbi Fichier chargé Variables à remplacer dans Genbi par le contenu d’un test-case SQLSaturday 323 – Paris 2014
  • 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. 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. Exemple de macro genbiL Sujet Action paramètres SQLSaturday 323 – Paris 2014
  • 33. Démo de genbiL  Ligne de commande  Via l’interface graphique SQLSaturday 323 – Paris 2014
  • 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. 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