SlideShare una empresa de Scribd logo
1 de 34
Automatiser les tests des 
développements BI grâce à NBi 
Cédric L. Charlier 
SQLSaturday 323 – Paris 2014
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

Más contenido relacionado

La actualidad más candente

Data Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to MeshData Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to Mesh
Jeffrey T. Pollock
 
Webinar future dataintegration-datamesh-and-goldengatekafka
Webinar future dataintegration-datamesh-and-goldengatekafkaWebinar future dataintegration-datamesh-and-goldengatekafka
Webinar future dataintegration-datamesh-and-goldengatekafka
Jeffrey T. Pollock
 

La actualidad más candente (20)

Data Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to MeshData Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to Mesh
 
Metrics, Risk Management & DLP
Metrics, Risk Management & DLPMetrics, Risk Management & DLP
Metrics, Risk Management & DLP
 
Microsoft Security - New Capabilities In Microsoft 365 E5 Plans
Microsoft Security - New Capabilities In Microsoft 365 E5 PlansMicrosoft Security - New Capabilities In Microsoft 365 E5 Plans
Microsoft Security - New Capabilities In Microsoft 365 E5 Plans
 
Cybersecurity Interview Questions and Answers | CyberSecurity Interview Tips ...
Cybersecurity Interview Questions and Answers | CyberSecurity Interview Tips ...Cybersecurity Interview Questions and Answers | CyberSecurity Interview Tips ...
Cybersecurity Interview Questions and Answers | CyberSecurity Interview Tips ...
 
Azure data factory
Azure data factoryAzure data factory
Azure data factory
 
File000119
File000119File000119
File000119
 
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overview
 
Oracle Cloud Infrastructure Overview Deck.pptx
Oracle Cloud Infrastructure Overview Deck.pptxOracle Cloud Infrastructure Overview Deck.pptx
Oracle Cloud Infrastructure Overview Deck.pptx
 
ENEL Electricity Grids on Neo4j Graph DB
ENEL Electricity Grids on Neo4j Graph DBENEL Electricity Grids on Neo4j Graph DB
ENEL Electricity Grids on Neo4j Graph DB
 
IBM Security Software Solutions - Powerpoint
 IBM Security Software Solutions - Powerpoint IBM Security Software Solutions - Powerpoint
IBM Security Software Solutions - Powerpoint
 
Azure Synapse Analytics
Azure Synapse AnalyticsAzure Synapse Analytics
Azure Synapse Analytics
 
Kerry Group: How Neo4j graph technology is delivering benefits to Kerry Group...
Kerry Group: How Neo4j graph technology is delivering benefits to Kerry Group...Kerry Group: How Neo4j graph technology is delivering benefits to Kerry Group...
Kerry Group: How Neo4j graph technology is delivering benefits to Kerry Group...
 
Microsoft Security Overview
Microsoft Security OverviewMicrosoft Security Overview
Microsoft Security Overview
 
Webinar future dataintegration-datamesh-and-goldengatekafka
Webinar future dataintegration-datamesh-and-goldengatekafkaWebinar future dataintegration-datamesh-and-goldengatekafka
Webinar future dataintegration-datamesh-and-goldengatekafka
 
Introduction to Power BI to make smart decisions
Introduction to Power BI to make smart decisionsIntroduction to Power BI to make smart decisions
Introduction to Power BI to make smart decisions
 
PECB Webinar: Cybersecurity Guidelines – Introduction to ISO 27032
PECB Webinar: Cybersecurity Guidelines – Introduction to ISO 27032PECB Webinar: Cybersecurity Guidelines – Introduction to ISO 27032
PECB Webinar: Cybersecurity Guidelines – Introduction to ISO 27032
 
Cyber security in power sector
Cyber security in power sectorCyber security in power sector
Cyber security in power sector
 
Modeling Cybersecurity with Neo4j, Based on Real-Life Data Insights
Modeling Cybersecurity with Neo4j, Based on Real-Life Data InsightsModeling Cybersecurity with Neo4j, Based on Real-Life Data Insights
Modeling Cybersecurity with Neo4j, Based on Real-Life Data Insights
 
What is Enterprise Security Architecture (ESA)?
What is Enterprise Security Architecture (ESA)?What is Enterprise Security Architecture (ESA)?
What is Enterprise Security Architecture (ESA)?
 
Exploring Cloud Computing with Amazon Web Services (AWS)
Exploring Cloud Computing with Amazon Web Services (AWS)Exploring Cloud Computing with Amazon Web Services (AWS)
Exploring Cloud Computing with Amazon Web Services (AWS)
 

Destacado

2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
Patrick Guimonet
 
RajeswaraRao_Resume_3years
RajeswaraRao_Resume_3yearsRajeswaraRao_Resume_3years
RajeswaraRao_Resume_3years
Rajeswara K
 
01. testing fresher-resume
01. testing fresher-resume01. testing fresher-resume
01. testing fresher-resume
muqtar12
 
Niyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_ResumeNiyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_Resume
Niyati Madad
 

Destacado (20)

alphorm.com - Formation SQL Server 2012 (70-462)
alphorm.com - Formation SQL Server 2012 (70-462)alphorm.com - Formation SQL Server 2012 (70-462)
alphorm.com - Formation SQL Server 2012 (70-462)
 
Automating the testing of your bi solution with n bi
Automating the testing of your bi solution with n biAutomating the testing of your bi solution with n bi
Automating the testing of your bi solution with n bi
 
Obtenez votre brevet de pilotage de l’efficacité énergétique avec la BI Micro...
Obtenez votre brevet de pilotage de l’efficacité énergétique avec la BI Micro...Obtenez votre brevet de pilotage de l’efficacité énergétique avec la BI Micro...
Obtenez votre brevet de pilotage de l’efficacité énergétique avec la BI Micro...
 
Création de visuels personnalisés avec Power BI Visuals CLI
Création de visuels personnalisés avec Power BI Visuals CLICréation de visuels personnalisés avec Power BI Visuals CLI
Création de visuels personnalisés avec Power BI Visuals CLI
 
Real Time Power BI
Real Time Power BIReal Time Power BI
Real Time Power BI
 
Création de visuels personnalisés avec Power BI Visuals CLI
Création de visuels personnalisésavec Power BI Visuals CLICréation de visuels personnalisésavec Power BI Visuals CLI
Création de visuels personnalisés avec Power BI Visuals CLI
 
2008-09-30 Présentation Générale SQL Server 2008
2008-09-30 Présentation Générale SQL Server 20082008-09-30 Présentation Générale SQL Server 2008
2008-09-30 Présentation Générale SQL Server 2008
 
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
 
2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédible2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédible
 
Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des tests
 
RajeswaraRao_Resume_3years
RajeswaraRao_Resume_3yearsRajeswaraRao_Resume_3years
RajeswaraRao_Resume_3years
 
01. testing fresher-resume
01. testing fresher-resume01. testing fresher-resume
01. testing fresher-resume
 
Partager et collaborer avec Power BI - SQL Saturday Montreal 2017
Partager et collaborer avec Power BI - SQL Saturday Montreal 2017Partager et collaborer avec Power BI - SQL Saturday Montreal 2017
Partager et collaborer avec Power BI - SQL Saturday Montreal 2017
 
Groupe Montreal Modern Excel and Power BI 2016 2017
Groupe Montreal Modern Excel and Power BI 2016 2017Groupe Montreal Modern Excel and Power BI 2016 2017
Groupe Montreal Modern Excel and Power BI 2016 2017
 
Niyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_ResumeNiyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_Resume
 
Manual Testing
Manual TestingManual Testing
Manual Testing
 
La BI Microsoft en mobilité sur tous les devices
La BI Microsoft en mobilité sur tous les devicesLa BI Microsoft en mobilité sur tous les devices
La BI Microsoft en mobilité sur tous les devices
 
Database Schema Management & Deployment using SQL Server Data Tools (SSDT)
Database Schema Management & Deployment using SQL Server Data Tools (SSDT)Database Schema Management & Deployment using SQL Server Data Tools (SSDT)
Database Schema Management & Deployment using SQL Server Data Tools (SSDT)
 
Les 4 phases du management de projet
Les 4 phases du management de projetLes 4 phases du management de projet
Les 4 phases du management de projet
 
Afterworks présentation de la stack bi de microsoft
Afterworks présentation de la stack bi de microsoftAfterworks présentation de la stack bi de microsoft
Afterworks présentation de la stack bi de microsoft
 

Similar a Automatiser les tests des 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
 

Similar a Automatiser les tests des développements BI grâce à NBi (20)

SQLSaturday Paris 2014 - Automatisez les tests de vos développements BI grâce...
SQLSaturday Paris 2014 - Automatisez les tests de vos développements BI grâce...SQLSaturday Paris 2014 - Automatisez les tests de vos développements BI grâce...
SQLSaturday Paris 2014 - Automatisez les tests de vos développements BI grâce...
 
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
SQLSaturday Paris 2014 - Et hop, ma base migre dans AzureSQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
 
Sql saturday 323 paris 2014 azure migration iaas et paas
Sql saturday 323 paris 2014   azure migration iaas et paasSql saturday 323 paris 2014   azure migration iaas et paas
Sql saturday 323 paris 2014 azure migration iaas et paas
 
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
 
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
 
[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...
 
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 !
 
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...
 
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 ...
 
Valtech - Décollage d’une plateforme digitale vers le Cloud Azure
Valtech - Décollage d’une plateforme digitale vers le Cloud AzureValtech - Décollage d’une plateforme digitale vers le Cloud Azure
Valtech - Décollage d’une plateforme digitale vers le Cloud Azure
 
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
 
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
 
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
 
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
 

Automatiser les tests des 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. Sponsors Gold SQLSaturday 323 – Paris 2014
  • 3. Sponsors Silver et Bronze SQLSaturday 323 – Paris 2014
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Concepts de Genbi Fichier chargé Variables à remplacer dans Genbi par le contenu d’un test-case SQLSaturday 323 – Paris 2014
  • 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. 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. Exemple de macro genbiL Sujet Action paramètres SQLSaturday 323 – Paris 2014
  • 32. Démo de genbiL  Ligne de commande  Via l’interface graphique SQLSaturday 323 – Paris 2014
  • 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. 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