Azure Automation, Le nouveau service pour automatiser vos tâches
Automatiser les tests des développements BI grâce à NBi
-
Upload
cedric-charlier -
Category
Software
-
view
1.032 -
download
2
description
Transcript of Automatiser les tests des développements BI grâce à NBi
SQLSaturday 323 – Paris 2014
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?
1.0 1.1 1.2 1.3 1.4 1.5
Tem
ps n
écessaire
Release
Temps nécessaire pour l’exécution d’une test-suite
Manuelle
Automatisée
Croissance
exponentielle
Augmentation:
- d’objets à tester
- de regressions
SQLSaturday 323 – Paris 2014
Pourquoi n’automatisons-nous pas les
tests?
1.0 1.1 1.2 1.3 1.4 1.5
Tem
ps n
écessaire
Release
Temps nécessaire pour l’écriture d’une test-suite
Manuelle
Automatisée
Mur initial
SQLSaturday 323 – Paris 2014
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
Previous
release
Deux releases d’un
même data warehouse
(non-regression)
Cube et data
warehouseMDX
Solution Tabular vis-à-vis d’un
fichier de résultats connusDAX
…Ou toute autre combinaison …
SQLSaturday 323 – Paris 2014
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é
dans GenbiVariables à remplacer
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