SlideShare a Scribd company logo
Automating the testing of
your BI solutions with NBi
Cédric L. Charlier
Agenda
‱ Why automating is a must?
‱ Tests with queries (Sql/Mdx/Dax)
‱ Tests with ETL packages (SSIS)
‱ Testing multidimensional and tabular models (SSAS)
‱ 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
Allow testing to
happen more
frequently
Speed up
testing to
accelerate
releases
Improve test
coverage
Ensure
consistency
Tests automation
doesn’t apply to
Business Intelligence
Wednesday, November 24, 2012Est. 1869 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,
Member of the Asscoiated Press .
Aenean commodo ligula eget dolor.
Aenean. Aenean commodo ligula eget
dolor. Aenhswse. Cejhciebce fcdcdcd.
ILLUSTRATED WEEKLY NEWSPAPER
We haven’t
time to create
these tests
Time to execute a test-suite
1.0 1.1 1.2 1.3 1.4 1.5
Elapsedtime
Release
Manual
Automate
Exponential
slope
Why?
- New objects
- Old objects
Time to write a test-suite
1.0 1.1 1.2 1.3 1.4 1.5
Elapsedtime
Release
Manual
Automated
With Framework
Initial gap
No existing framework
for test automation
dedicated to BI

 I’m not proficient
enough in C#
This framework
exists: NBi
No C#, just xml
syntax
Open-
source
Agenda
‱ Why automating is a must?
‱ Tests with queries (Sql/Mdx/Dax)
‱ Tests with ETL packages (SSIS)
‱ Testing multidimensional and tabular models (SSAS)
‱ Automate the creation of test-suites
Compare queries 
 result-sets
System-under-test Assert
Previous
release
Two different releases of
a same data warehouse
Tabular model versus Csv fileDAX

 or any brilliant idea
Cube and data
warehouseMDX SQL
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
‱ Sample: all the cells have effectively 2 digits after the decimal separator
and this separator is a comma.
Check calculations in your query
‱ Assert a logical test, row by row, for you result-set
‱ Sample: Calculate the total price from the unit price, quantity and
discount percentage.
‱ If at least one row doesn’t validate this logical test, the whole test shift
to red
Agenda
‱ Why testing automation is a must?
‱ Tests with queries (Sql/Mdx/Dax)
‱ Tests with Etl packages (SSIS)
‱ Testing multidimensional and tabular models (SSAS)
‱ Automate the creation of test-suites
Demo SSIS
‱ Assert the execution status of an ETL
‱ Alternatively test performances
Inside this ETL
Dimension
City
Dimension
Scientist
Factless fact
Birth/Death
insert insertUnique
index
violation
Setup and Cleanup
‱ Setup:
‱ 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
Agenda
‱ Why automation is a must?
‱ Testing queries (Sql/Mdx/Dax)
‱ Testing Etl packages (SSIS)
‱ Testing multidimensional and tabular models (SSAS)
‱ Automate the creation of test-suites
Testing dimension’s members
‱ “Germany” is a member of dimension “Country”
‱ “Europa” is not a member of dimension “Country”
‱ 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)
‱ 

Testing structure
‱ Assert that a dimension, hierarchy, measure, 
 is visible for end-
user in a given perspective.
‱ Assert the existence of a relation between a measure-group and
a dimension.
Agenda
‱ Why automation is a must?
‱ Tests with queries (Sql/Mdx/Dax)
‱ Tests with Etl packages (SSIS)
‱ Testing Multidimensional and tabular models (SSAS)
‱ Automating 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 template for
the tests
A set of test-
cases
First steps with Genbi
File loaded
from Genbi
Variables to be
substituted
(surrounded by $)
Demo: Genbi
‱ Load test-cases
‱ 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 test automation
‱ Save Time (Time-on-market)
‱ Better Quality (end-result)
‱ More confidence
‱ NBi
‱ Support large range of different tests
‱ No need of compiler (neither C#)
‱ Good feedback when tests are failing
‱ Open-Source
‱ Automate the creation of your test-suites (genbi / genbiL)
Read further
‱ Website: http://nbi.codeplex.com
‱ Download, documentation,
bugs/Wishes list, support
‱ Blog: http://seddryck.wordpress.com
‱ Twitter: @Seddryck
Partnership
TestingSquad
Rue des Déportés, 47
1200 Bruxelles
phone : +32 470/84.07.47
email : daniel.mueller@testingsquad.eu
Web : www.testingsquad.eu
Automating the testing of your bi solution with n bi

More Related Content

Similar to Automating the testing of your bi solution with n bi (20)

PDF
A data driven etl test framework sqlsat madison
Terry Bunio
 
PDF
Data Warehouse Testing—The Next Opportunity for QA Leaders
Tricentis
 
PDF
Sinha_WhitePaper
Mayank Sinha
 
DOCX
QTP AUTOMATION TESTING SYLLABUS
SHPINE TECHNOLOGIES
 
PPTX
Techniques for effective test data management in test automation.pptx
Knoldus Inc.
 
PDF
Test Automation for Data-Centric Applications
TechWell
 
PPTX
Lynn Winterboer : Test automation
AgileDenver
 
PPTX
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
QueBIT Consulting
 
PDF
Lecture #6. automation testing (andrey oleynik)
Andrey Oleynik
 
PPT
Universal test solutions customer testimonial 10192013-v2.2
Universal Technology Solutions
 
PDF
Discover the power of QA automation testing
Softweb Solutions
 
PDF
Testing Data & Data-Centric Applications - Whitepaper
Ryan Dowd
 
PPTX
Introduction to Test Automation Notes.pptx
PerumalPitchandi
 
PPTX
Integration Testing with Selenium
All Things Open
 
PPTX
Test case management with MTM 2013
Raluca Suditu
 
DOC
Qtp (basics to advanced)
G.C Reddy
 
PPTX
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Michael Larsen
 
PPTX
20220914-MBT-Experiences-SB1-final.pptx
Minh Nguyen
 
PPTX
How to get Automated Testing "Done"
TEST Huddle
 
PPTX
Test Case Management with MTM 2013
Raluca Suditu
 
A data driven etl test framework sqlsat madison
Terry Bunio
 
Data Warehouse Testing—The Next Opportunity for QA Leaders
Tricentis
 
Sinha_WhitePaper
Mayank Sinha
 
QTP AUTOMATION TESTING SYLLABUS
SHPINE TECHNOLOGIES
 
Techniques for effective test data management in test automation.pptx
Knoldus Inc.
 
Test Automation for Data-Centric Applications
TechWell
 
Lynn Winterboer : Test automation
AgileDenver
 
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
QueBIT Consulting
 
Lecture #6. automation testing (andrey oleynik)
Andrey Oleynik
 
Universal test solutions customer testimonial 10192013-v2.2
Universal Technology Solutions
 
Discover the power of QA automation testing
Softweb Solutions
 
Testing Data & Data-Centric Applications - Whitepaper
Ryan Dowd
 
Introduction to Test Automation Notes.pptx
PerumalPitchandi
 
Integration Testing with Selenium
All Things Open
 
Test case management with MTM 2013
Raluca Suditu
 
Qtp (basics to advanced)
G.C Reddy
 
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Michael Larsen
 
20220914-MBT-Experiences-SB1-final.pptx
Minh Nguyen
 
How to get Automated Testing "Done"
TEST Huddle
 
Test Case Management with MTM 2013
Raluca Suditu
 

Recently uploaded (20)

PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPTX
Java Native Memory Leaks: The Hidden Villain Behind JVM Performance Issues
Tier1 app
 
PDF
Salesforce CRM Services.VALiNTRY360
VALiNTRY360
 
PPTX
MiniTool Power Data Recovery Full Crack Latest 2025
muhammadgurbazkhan
 
PPTX
MailsDaddy Outlook OST to PST converter.pptx
abhishekdutt366
 
PPTX
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
 
PDF
GetOnCRM Speeds Up Agentforce 3 Deployment for Enterprise AI Wins.pdf
GetOnCRM Solutions
 
PDF
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
PPTX
Fundamentals_of_Microservices_Architecture.pptx
MuhammadUzair504018
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PPTX
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
PPTX
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PPT
MergeSortfbsjbjsfk sdfik k
RafishaikIT02044
 
PDF
Executive Business Intelligence Dashboards
vandeslie24
 
PPTX
A Complete Guide to Salesforce SMS Integrations Build Scalable Messaging With...
360 SMS APP
 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
Tally software_Introduction_Presentation
AditiBansal54083
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Java Native Memory Leaks: The Hidden Villain Behind JVM Performance Issues
Tier1 app
 
Salesforce CRM Services.VALiNTRY360
VALiNTRY360
 
MiniTool Power Data Recovery Full Crack Latest 2025
muhammadgurbazkhan
 
MailsDaddy Outlook OST to PST converter.pptx
abhishekdutt366
 
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
 
GetOnCRM Speeds Up Agentforce 3 Deployment for Enterprise AI Wins.pdf
GetOnCRM Solutions
 
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
Fundamentals_of_Microservices_Architecture.pptx
MuhammadUzair504018
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
MergeSortfbsjbjsfk sdfik k
RafishaikIT02044
 
Executive Business Intelligence Dashboards
vandeslie24
 
A Complete Guide to Salesforce SMS Integrations Build Scalable Messaging With...
360 SMS APP
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
Ad

Automating the testing of your bi solution with n bi

  • 1. Automating the testing of your BI solutions with NBi CĂ©dric L. Charlier
  • 2. Agenda ‱ Why automating is a must? ‱ Tests with queries (Sql/Mdx/Dax) ‱ Tests with ETL packages (SSIS) ‱ Testing multidimensional and tabular models (SSAS) ‱ Automating the creation of test-suites
  • 3. What’s automated testing? A piece of software written to reproduce steps/actions defined in a manual process
  • 4. Benefits of automation Allow testing to happen more frequently Speed up testing to accelerate releases Improve test coverage Ensure consistency
  • 5. Tests automation doesn’t apply to Business Intelligence
  • 6. Wednesday, November 24, 2012Est. 1869 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, Member of the Asscoiated Press . Aenean commodo ligula eget dolor. Aenean. Aenean commodo ligula eget dolor. Aenhswse. Cejhciebce fcdcdcd. ILLUSTRATED WEEKLY NEWSPAPER
  • 7. We haven’t time to create these tests
  • 8. Time to execute a test-suite 1.0 1.1 1.2 1.3 1.4 1.5 Elapsedtime Release Manual Automate Exponential slope Why? - New objects - Old objects
  • 9. Time to write a test-suite 1.0 1.1 1.2 1.3 1.4 1.5 Elapsedtime Release Manual Automated With Framework Initial gap
  • 10. No existing framework for test automation dedicated to BI 
 I’m not proficient enough in C#
  • 11. This framework exists: NBi No C#, just xml syntax Open- source
  • 12. Agenda ‱ Why automating is a must? ‱ Tests with queries (Sql/Mdx/Dax) ‱ Tests with ETL packages (SSIS) ‱ Testing multidimensional and tabular models (SSAS) ‱ Automate the creation of test-suites
  • 13. Compare queries 
 result-sets System-under-test Assert Previous release Two different releases of a same data warehouse Tabular model versus Csv fileDAX 
 or any brilliant idea Cube and data warehouseMDX SQL
  • 14. Demo: compare queries’ result ‱ Compare cube/operational database ‱ 101 ‱ Compare cube/flat files ‱ Defaults and References ‱ Tolerance ‱ Intervals
  • 15. 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
  • 16. Query’s result and format ‱ Result’s format ‱ Sample: all the cells have effectively 2 digits after the decimal separator and this separator is a comma.
  • 17. Check calculations in your query ‱ Assert a logical test, row by row, for you result-set ‱ Sample: Calculate the total price from the unit price, quantity and discount percentage. ‱ If at least one row doesn’t validate this logical test, the whole test shift to red
  • 18. Agenda ‱ Why testing automation is a must? ‱ Tests with queries (Sql/Mdx/Dax) ‱ Tests with Etl packages (SSIS) ‱ Testing multidimensional and tabular models (SSAS) ‱ Automate the creation of test-suites
  • 19. Demo SSIS ‱ Assert the execution status of an ETL ‱ Alternatively test performances
  • 20. Inside this ETL Dimension City Dimension Scientist Factless fact Birth/Death insert insertUnique index violation
  • 21. Setup and Cleanup ‱ Setup: ‱ Define the state of your testing environment before executing a test ‱ Cleanup: ‱ Remove consequences of your tests on the testing environment
  • 22. 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
  • 23. Demo Setup ‱ Setup to register a clean state before test’s execution ‱ Assert database’s state after the execution of an ETL
  • 24. Agenda ‱ Why automation is a must? ‱ Testing queries (Sql/Mdx/Dax) ‱ Testing Etl packages (SSIS) ‱ Testing multidimensional and tabular models (SSAS) ‱ Automate the creation of test-suites
  • 25. Testing dimension’s members ‱ “Germany” is a member of dimension “Country” ‱ “Europa” is not a member of dimension “Country” ‱ 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) ‱ 

  • 26. Testing structure ‱ Assert that a dimension, hierarchy, measure, 
 is visible for end- user in a given perspective. ‱ Assert the existence of a relation between a measure-group and a dimension.
  • 27. Agenda ‱ Why automation is a must? ‱ Tests with queries (Sql/Mdx/Dax) ‱ Tests with Etl packages (SSIS) ‱ Testing Multidimensional and tabular models (SSAS) ‱ Automating the creation of test-suites
  • 28. Some tests are really repetitive It should be possible to automate the creation
  • 29. It exists! Take a look at Genbi A template for the tests A set of test- cases
  • 30. First steps with Genbi File loaded from Genbi Variables to be substituted (surrounded by $)
  • 31. Demo: Genbi ‱ Load test-cases ‱ From a flat file ‱ Select a template ‱ Generate the test-suite ‱ Grouping option
  • 32. I’m scripting macros to automate the actions performed by genbi 
 With genbiL!
  • 33. Sample for genbiL Subject Action Parameters
  • 34. Demo for genbiL ‱ Command line
  • 35. Conclusions ‱ Benefits of test automation ‱ Save Time (Time-on-market) ‱ Better Quality (end-result) ‱ More confidence ‱ NBi ‱ Support large range of different tests ‱ No need of compiler (neither C#) ‱ Good feedback when tests are failing ‱ Open-Source ‱ Automate the creation of your test-suites (genbi / genbiL)
  • 36. Read further ‱ Website: http://nbi.codeplex.com ‱ Download, documentation, bugs/Wishes list, support ‱ Blog: http://seddryck.wordpress.com ‱ Twitter: @Seddryck Partnership TestingSquad Rue des DĂ©portĂ©s, 47 1200 Bruxelles phone : +32 470/84.07.47 email : [email protected] Web : www.testingsquad.eu