Automating the testing of BI Solutions wih NBi

Slides:



Advertisements
Similar presentations
Introduction to ETL Using Microsoft Tools By Dr. Gabriel.
Advertisements

SQL Server Accelerator for Business Intelligence (SSABI)
SQL Server Integration Services (SSIS) Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server (MVP) Microsoft Certified Technology Specialist.
Wednesday, November 24, 1892 Est Price 6d INSERT YOUR HEADLINE Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget.
Wednesday, November 24, 1892 Est Price 6d SADAKO SASAKI Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
Wednesday, November 24, 1892 Est Price 6 cents INSERT YOUR HEADLINE Title of Article Here you are going to type your own article on the government.
Automating the testing of your BI solutions with NBi Cédric L. Charlier.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
It’s time to refresh your data in Power BI!
ILLUSTRATED WEEKLY NEWSPAPER
<Enter course name here>
List 4 things we learn about Crooks in this paragraph.
Deploying and Configuring SSIS Packages
Automating the testing of BI Solutions wih NBi
Presented by: Warren Sifre
MENTORING PROGRAM PROPOSAL
To use this template sign into your personal gmail account go to:
Put the Brainwave Scanner
Populating a Data Warehouse
Populating a Data Warehouse
ILLUSTRATED WEEKLY NEWSPAPER
ILLUSTRATED WEEKLY NEWSPAPER
To use this template sign into your personal gmail account go to:
Building a data connector for Power BI
ILLUSTRATED WEEKLY NEWSPAPER
Populating a Data Warehouse
Presenter Name Organization, State
Populating a Data Warehouse
Populating a Data Warehouse
ILLUSTRATED WEEKLY NEWSPAPER
ILLUSTRATED WEEKLY NEWSPAPER
PRESENTATION TITLE Presenter Name / Date.
PROJECT COOPERATION TITLE [TREBUCHET >90pt.]
Author Department Date Location
Your Project Name Here      Header goes here Header goes here
ILLUSTRATED WEEKLY NEWSPAPER
ILLUSTRATED WEEKLY NEWSPAPER
Institution’s logo -*optional
Institution’s logo -*optional
ILLUSTRATED WEEKLY NEWSPAPER
Title of Presentation Subtitle can go here. The logo is very crisp at this size.
PPT模板 汇报人:ABC童鞋 部门:ABC.
TITLE OF YOUR THESIS Subtitle Subtitle Subtitle Subtitle (if existent)
SSDT and Database Project Basics
Lorem Ipsum is simply dummy text of the printing
ILLUSTRATED WEEKLY NEWSPAPER
ILLUSTRATED WEEKLY NEWSPAPER
ILLUSTRATED WEEKLY NEWSPAPER
ILLUSTRATED WEEKLY NEWSPAPER
ILLUSTRATED WEEKLY NEWSPAPER
Institution’s logo -*optional
ILLUSTRATED WEEKLY NEWSPAPER
Hexagon Editable Diagram
Introduction Sample Conclusion Introduction Method References Sample 2
Introduction Sample Conclusion Introduction Method Sample 2 References
ILLUSTRATED WEEKLY NEWSPAPER
ILLUSTRATED WEEKLY NEWSPAPER
Unit 4 Resilience – Humanities Workshop 9.
SSIS Data Integration Data Warehouse Acceleration
SSIS Data Integration Data Warehouse Acceleration
A lightweight editor for SSAS Tabular Models built in .NET / WinForms
Linear Fishbone Editable Diagram A. C. E. B. D. F.
<TITLE> <PRESENTER NAME> <ORGANIZATION>
CONTENTS TABLE OF # ## LOREM IPSUM DOLOR SIT AMET. LOREM IPSUM DOLOR.
CONTENTS TABLE OF # ## LOREM IPSUM DOLOR SIT AMET. LOREM IPSUM DOLOR.
CONTENTS TABLE OF # ## LOREM IPSUM DOLOR SIT AMET. LOREM IPSUM DOLOR.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit
SSIS Data Integration Data Warehouse Acceleration
Institution’s logo -*optional
BUSINESS PLAN POWERPOINT TEMPLATE.
Presentation transcript:

Automating the testing of BI Solutions wih NBi Cédric L. Charlier @Seddryck

Open-sources contributions Skills & Interests Cédric L. Charlier @Seddryck In a nutshell Database architecture Data modeling Business intelligence Data warehousing ETL Olap/Tabular No SQL Big data Data analysis Machine learning seddryck.wordpress.com Data & BI architect Agile data warehouse Quality-oriented Automation fanboy Open-sources contributions Testing framework for BI www.nbi.io Other projects on github Deployment SSRS - RsPackage Starting SSIS from .Net - Cassis Toolset for special cases of modeling: ERMine et Tibre And much more Recognitions International speaker Microsoft MVP Data Platform award Experience 15 years avec SQL Server Former consultant, working internally for Elia

Agenda Why automating is a must? Tests with queries (Sql/Mdx/Dax) Tests with ETL packages (SSIS) Testing models (SSAS and DB engine) Automating the creation of test-suites

What’s automated testing? A piece of software written to reproduce steps/actions defined in a manual process

Benefits of automation Speed up testing to accelerate releases Allow testing to happen more frequently Improve test coverage Ensure consistency

Tests automation doesn’t apply to Business Intelligence

More than 33% of BI projects fail to deliver Member of the Asscoiated Press . Aenean commodo ligula eget dolor. Aenean. Aenean commodo ligula eget dolor. Aenhswse. Cejhciebce fcdcdcd. ILLUSTRATED WEEKLY NEWSPAPER Est. 1869 Wednesday, November 24, 2012 Price 6d More than 33% of BI projects fail to deliver Lack of agility. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoqueCum sociis natoqueCum sociis natoque Low quality of deliverables Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturientAenean commodo ligula eget dolor. Aenean massa. Cum sociis natoqueCum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, Simply Too late. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec,

We haven’t time to create these tests

Time to execute a test-suite Exponential slope Why? New objects Old objects

Time to write a test-suite Initial gap

No existing framework for automating tests dedicated to BI … I’m not proficient enough in C#

This framework exists: NBi No C#, just xml syntax This framework exists: NBi Open-source

Agenda Why automating is a must? Tests with queries (Sql/Mdx/Dax) Tests with ETL packages (SSIS) Testing models (SSAS and DB engine) Automate the creation of test-suites

Compare queries … result-sets System-under-test Assert Cube and data warehouse MDX SQL … or any brilliant idea Previous release Two different releases of a same data warehouse Tabular model versus Xmlfile DAX Tabular model versus Csv file DAX

Demo: compare queries’ result Compare cube/operational database 101 Compare cube/flat files Defaults and References Tolerance Intervals

Other testing goals for queries Performance of a query Executed in less than x seconds Cache management Syntax of a query Extract queries from reports and assemblies

Query’s result and format Result’s format Example: all the cells have effectively 2 digits after the decimal separator and this separator is a comma.

Assert row count Assert how many rows are returned in the result-set. Equal, more-than, less-than

Agenda Why automating is a must? Tests with queries (Sql/Mdx/Dax) Tests with ETL packages (SSIS) Testing models (SSAS and DB engine) Automate the creation of test-suites

Demo SSIS Assert the execution status of an ETL Alternatively test performances

Unique index violation Inside this ETL insert Unique index violation Dimension Calendar Dimension Geography Dimension Scientist

Setup and Cleanup Setup: Cleanup: Define the state of your testing environment before executing a test Cleanup: Remove consequences of your tests on the testing environment

Tasks and behaviors Available tasks Truncate/Load tables with csv files Run sql batch, exe or batches Run Etl packages Move or delete files Start/Stop Windows services Run-once: execute only once this set of tasks Parallel: run a set of tasks in parallel

Demo Setup Setup to register a clean state before test’s execution Assert database’s state after the execution of an ETL

Limitations ETLs must be stored SSIS Catalog File share SQL Server Tests must be executed on the server running the ETL No remote testing Supports SQL Server 2008R2, 2012 and 2014

Agenda Why automating is a must? Tests with queries (Sql/Mdx/Dax) Tests with ETL packages (SSIS) Testing models (SSAS and DB engine) Automate the creation of test-suites

Testing dimension’s members “Italy” is a member of dimension “Country” “Italy” is not a member of the set “Nordic countries” Dimension “Country” has more than 190 members. All members of dimension “Country” have at least 4 characters Members of hierarchy “Month” are ordered chronologically (and not alphabetically) Members are equivalent to members of this other instance …

Example: members’ pattern

Testing structure (SSAS) Assert that a dimension, hierarchy, measure, set, … is visible for end-user in a given perspective. Assert the existence of a relation between a measure-group and a dimension.

Testing structure (DB engine) Assert existence of a schema, Table Column Routine (stored procedure or function) Assert the type of a column Full type: decimal(10,3) Light type: decimal

Agenda Why automating is a must? Tests with queries (Sql/Mdx/Dax) Tests with ETL packages (SSIS) Testing models (SSAS and DB engine) Automate the creation of test-suites

Some tests are really repetitive It should be possible to automate the creation

It exists! Take a look at Genbi A set of test-cases It exists! Take a look at Genbi A template for the tests

Variables to be substituted (surrounded by $) First steps with Genbi File loaded from Genbi Variables to be substituted (surrounded by $)

Demo: Genbi Load test-cases Select a template Generate the test-suite From a flat file Select a template Generate the test-suite Grouping option

I’m scripting macros to automate the actions performed by genbi … With genbiL!

Sample for genbiL Subject Action Parameters

Demo for genbiL Command line

Conclusions Benefits of automated tests NBi Save Time (Time-on-market) Better Quality (end-result) More confidence NBi Supports large range of different tests No need of compiler (neither C#) Good feedback when some tests are failing Open-Source Automate the creation of your test-suites (genbi / genbiL)

Read further http://www.nbi.io/ Download releases Read documentation Report bugs Suggest new features