SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Dernier

Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 

Dernier (20)

Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 

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