SlideShare a Scribd company logo
1 of 37
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

Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignGeorgina Tilby
 
General Tips for participating Kaggle Competitions
General Tips for participating Kaggle CompetitionsGeneral Tips for participating Kaggle Competitions
General Tips for participating Kaggle CompetitionsMark Peng
 
Kaggle Higgs Boson Machine Learning Challenge
Kaggle Higgs Boson Machine Learning ChallengeKaggle Higgs Boson Machine Learning Challenge
Kaggle Higgs Boson Machine Learning ChallengeBernard Ong
 
Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014Red Gate Software
 
Alexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingAlexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingNeotys_Partner
 
Can we induce change with what we measure?
Can we induce change with what we measure?Can we induce change with what we measure?
Can we induce change with what we measure?Michaela Greiler
 
Dealing with the Three Horrible Problems in Verification
Dealing with the Three Horrible Problems in VerificationDealing with the Three Horrible Problems in Verification
Dealing with the Three Horrible Problems in VerificationDVClub
 
A data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madisonA data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madisonTerry Bunio
 
Babysitting your orm essenmacher, adam
Babysitting your orm   essenmacher, adamBabysitting your orm   essenmacher, adam
Babysitting your orm essenmacher, adamAdam Essenmacher
 
Beginners overview of automated testing with Rspec
Beginners overview of automated testing with RspecBeginners overview of automated testing with Rspec
Beginners overview of automated testing with Rspecjeffrey1ross
 
How to Automate your Enterprise Application / ERP Testing
How to Automate your  Enterprise Application / ERP TestingHow to Automate your  Enterprise Application / ERP Testing
How to Automate your Enterprise Application / ERP TestingRTTS
 
Bdf16 big-data-warehouse-case-study-data kitchen
Bdf16 big-data-warehouse-case-study-data kitchenBdf16 big-data-warehouse-case-study-data kitchen
Bdf16 big-data-warehouse-case-study-data kitchenChristopher Bergh
 
Finding Bugs Faster with Assertion Based Verification (ABV)
Finding Bugs Faster with Assertion Based Verification (ABV)Finding Bugs Faster with Assertion Based Verification (ABV)
Finding Bugs Faster with Assertion Based Verification (ABV)DVClub
 
Lauri Pietarinen - What's Wrong With My Test Data
Lauri Pietarinen - What's Wrong With My Test DataLauri Pietarinen - What's Wrong With My Test Data
Lauri Pietarinen - What's Wrong With My Test DataTEST Huddle
 
Designing, Building, and Maintaining Large Cubes using Lessons Learned
Designing, Building, and Maintaining Large Cubes using Lessons LearnedDesigning, Building, and Maintaining Large Cubes using Lessons Learned
Designing, Building, and Maintaining Large Cubes using Lessons LearnedDenny Lee
 
Enabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial IntelligenceEnabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial IntelligenceLionel Briand
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersSPC Adriatics
 

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

Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case Design
 
General Tips for participating Kaggle Competitions
General Tips for participating Kaggle CompetitionsGeneral Tips for participating Kaggle Competitions
General Tips for participating Kaggle Competitions
 
Kaggle Higgs Boson Machine Learning Challenge
Kaggle Higgs Boson Machine Learning ChallengeKaggle Higgs Boson Machine Learning Challenge
Kaggle Higgs Boson Machine Learning Challenge
 
Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014
 
When Should I Use Simulation?
When Should I Use Simulation?When Should I Use Simulation?
When Should I Use Simulation?
 
Alexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingAlexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance Testing
 
Can we induce change with what we measure?
Can we induce change with what we measure?Can we induce change with what we measure?
Can we induce change with what we measure?
 
Dealing with the Three Horrible Problems in Verification
Dealing with the Three Horrible Problems in VerificationDealing with the Three Horrible Problems in Verification
Dealing with the Three Horrible Problems in Verification
 
A data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madisonA data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madison
 
Babysitting your orm essenmacher, adam
Babysitting your orm   essenmacher, adamBabysitting your orm   essenmacher, adam
Babysitting your orm essenmacher, adam
 
Ml2 production
Ml2 productionMl2 production
Ml2 production
 
Beginners overview of automated testing with Rspec
Beginners overview of automated testing with RspecBeginners overview of automated testing with Rspec
Beginners overview of automated testing with Rspec
 
How to Automate your Enterprise Application / ERP Testing
How to Automate your  Enterprise Application / ERP TestingHow to Automate your  Enterprise Application / ERP Testing
How to Automate your Enterprise Application / ERP Testing
 
QA and scrum
QA and scrumQA and scrum
QA and scrum
 
Bdf16 big-data-warehouse-case-study-data kitchen
Bdf16 big-data-warehouse-case-study-data kitchenBdf16 big-data-warehouse-case-study-data kitchen
Bdf16 big-data-warehouse-case-study-data kitchen
 
Finding Bugs Faster with Assertion Based Verification (ABV)
Finding Bugs Faster with Assertion Based Verification (ABV)Finding Bugs Faster with Assertion Based Verification (ABV)
Finding Bugs Faster with Assertion Based Verification (ABV)
 
Lauri Pietarinen - What's Wrong With My Test Data
Lauri Pietarinen - What's Wrong With My Test DataLauri Pietarinen - What's Wrong With My Test Data
Lauri Pietarinen - What's Wrong With My Test Data
 
Designing, Building, and Maintaining Large Cubes using Lessons Learned
Designing, Building, and Maintaining Large Cubes using Lessons LearnedDesigning, Building, and Maintaining Large Cubes using Lessons Learned
Designing, Building, and Maintaining Large Cubes using Lessons Learned
 
Enabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial IntelligenceEnabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial Intelligence
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 

Recently uploaded

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 

Recently uploaded (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 

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 : daniel.mueller@testingsquad.eu Web : www.testingsquad.eu