Introduction to the benefits of automating the testing of BI Solutions. Some samples with the open-source framework NBi. Automate the automation with genbi and genbiL.
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
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
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
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
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
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