Start testing your SSIS packages with ssisUnit

Slides:



Advertisements
Similar presentations
Virtual techdays INDIA │ august 2010 Building ASP.NET applications using SQL Server Compact Chaitanya Solapurkar │ Partner Technical Consultant,
Advertisements

Created by the Community for the Community BizTalk & Build.
StyleCop Breaking down the barriers to entry Gary Ewan Park Twitter: Blog:
DTS Conversion to SSIS Conversion Best Practices Mike Davis
SQL Server User Group Meeting Reporting Services Tips & Tricks Presented by Jason Buck of Custom Business Solutions.
ADAPTING YOUR ETL SOLUTION TO USE SSIS 2012 Presentation by Devin Knight
Cool Tricks to Pull from Your SSIS Hat Julie Smith.
Copyright 2015 Varigence, Inc. Unit and Integration Testing in SSIS A New Approach Scott @varigence.
[Automated] TDD with SQL Server and nUnit Daniel de Sousa SQL Saturday #468, Sydney 27 th February 2016.
Carlos Bossy Quanta Intelligence SQL Server MCTS, MCITP BI CBIP, Data Mining Real-time Data Warehouse and Reporting Solutions.
Ognjen Bajić Ana Roje Ivančić Ekobit Efficient Application Testing.
Others Talk, We Listen. Managing Database Projects in Visual Studio 2013.
Advanced BIML topics Be a W.I.S.E. A.S.S. Me ! Self-employed BI consultant Author Trainer MCT
Agile BI with SQL Server 2012
DevOps with ASP.NET Core and Entity Framework Core
Analysis Services in times of Continuous Integration
SSIS Templates, Configurations & Variables
BIML: Step by Step Julie Smith.
Stress Free Deployments with Octopus Deploy
SQL Server deployments
How to move a ton of data from the mainframe to the cloud with BIML
Report Builder as Self Service BI Solution
DQS: Business Logic Meets Enterprise Integration
Jeff Hollan / Kevin Lam Program Manager / Principal Program Manager- Microsoft Bringing Logic Apps into DevOps with Visual Studio and monitoring.
Incrementally Moving to the Cloud Using Biml
Solving the Hard Problems
Modernize ConfigMgr OSD with Community Tools
[Automated] TDD with SQL Server using nUnit
Turning Your Checklists
A digital reference guide for database administrators
Where I am at: Swagatika Sarangi MDM Lead PASS Summit SQL Saturdays
Introducing New Team-based Data Integration with SSIS
Using Biml to Automate the Generation of SSIS Packages
Simplifying XEvents Management with dbatools
dbatools! The reason to finally start learning and using Powershell
Populating a Data Warehouse
Automation is NOT Automatic!
Populating a Data Warehouse
Populating a Data Warehouse
Simon Kingaby #SimonKingaby
SQL Saturday #654 - Omaha.
Automating reports with Python
Automating SSIS Design Patterns with Biml
Populating a Data Warehouse
Populating a Data Warehouse
Orchestration and data movement with Azure Data Factory v2
Populating a Data Warehouse
dbatools! The reason to finally start learning and using Powershell
Jeff Hollan / Kevin Lam Program Manager / Principal Program Manager- Microsoft Bringing Logic Apps into DevOps with Visual Studio and monitoring.
PowerShell & PowerBi Reducing DBAs Context Switching
What's New in Visual Studio 2005
Your code is not just…your code
ETL Automation using Biml
Using Biml to Automate the Generation of SSIS Packages
GitHub 101 Using Github and Git for Source Control
SSIS Data Integration Data Warehouse Acceleration
dbatools! The reason to finally start learning and using Powershell
SSIS Data Integration Data Warehouse Acceleration
Michael Wall Senior DBA, Great Western Malting
Bob Duffy 22 years in database sector, 250+ projects
Keeping your SQL Code safe
SSRS – Thinking Outside the Report
Azure Data Factory V2: SSIS in the Cloud or Not?
Introduction to ETL with SQL Server Integration Services
SSIS Data Integration Data Warehouse Acceleration
Continuous Integration and Delivery (CI/CD) in Azure Data Factory
Optimizing the ETL Development process using BIML
Bringing source control to BI world!
Your code is not just…your code
Presentation transcript:

Start testing your SSIS packages with ssisUnit SQL Saturday Oslo, 1st September 2018

A big thanks to all of our sponsors!

Download the slides and the code http://www.sqlsaturday.com/746/Sessions/Schedule.aspx https://github.com/BartekR/ssisUnitLearning Read more: https://blog.bartekr.net

Bartosz Ratajczyk SQL Server consultant @ 7N, trainer Works with SQL Server for over 12 years Advisory Board member of Data Community Poland SQLDay conference co-organizer Open source contributor (dbatools, ssisUnit) SQL Saturday volunteer @b_ratajczyk https://bartekr.net

„I’m already testing…” Manually setting the parameters Manually running the packages Manually disabling the tasks Manually enabling them again Manually running the code in SSMS Are you sure the table has 0 records? Did you commit with all tasks enabled? Is it setting the variable’s value? Does it work with unexpected parameters?

How about Writing tests for the packages or tasks? Running tests automatically? Using free tools? (or free and paid if you wish)?

My goal (achieved)

SSIS testing options Write your own solution SSISTester BEST (BIML Enabled SSIS Test) ssisUnit BiXpress LegiTest ORAYLIS BI.Quality DbFit BizUnit Write your own: https://kzhendev.wordpress.com/2014/05/21/building-an-ssis-testing-framework/ (Kenneth Ross) https://kevinholditch.co.uk/2017/04/21/integration-testing-ssis-etl-packages/ (Kevin Holditch) https://github.com/kevholditch/SSISIntegrationTesting SSISTester http://bytesoftwo.com https://msdn.microsoft.com/en-us/magazine/dn342874.aspx BEST https://github.com/bimlscript/best Scott Currie (PASS Summit 2014) A New Approach to Unit Testing and Integration Testing in SSIS Reeves Smith (SQL Rally 2015) Reeves Smith_A New Approach to Unit and Integration Testing in SSIS ssisUnit https://github.com/johnwelch/ssisUnit BiXpress / Pragmatic Workbench SSIS Unit LegiTest http://www.legitest.com/ BI.Quality https://archive.codeplex.com/?p=biquality DbFit http://dbfit.github.io/dbfit/ https://blogs.perficient.com/2012/06/07/bi-tools-testing-with-dbfit/ BizUnit https://github.com/BizUnit/BizUnit http://msbistack.blogspot.com/2011/10/automated-unit-testing-for-ssis-using.html LegiTest Green == commercial tool

ssisUnit Why, and what is it?

ssisUnit Testing framework by John Welch Open source, C#, XML With a GUI and an API Released on CodePlex in 2008 Works with SSIS 2005 – 2014 (and 2017) Used in Pragmatic Workbench (only for SSIS 2005 – 2014)

ssisUnit Test Suite Test Suite contains Tests Tests have Asserts (definitions of the expected test outcome) Asserts have Commands (run to get the test outcome) Tests apply to Packages and tasks in the packages Commands can use Connections and Datasets Tests and Test Suite can have Setup and Teardown phases

Commands Project and package parameters Comparing data Working with directories Using files Running programs Package and project properties Running SQL code Operations on variables

Test file structure

Test fragment

Libraries SsisUnitBase.dll (< 20kB) SsisUnit<version>.dll SsisUnit2017.dll (< 150 kB)

DEMO Starting with ssisUnit

Starting simple Parameters Variables Expressions Variables scope Sensitive values ParameterCommand VariableCommand

Getting further Merging data with SQL Task SqlCommand DataCompareCommand

Automation ssisUnit + MSTest + TFS

Why use an additional test framework? ssisUnit has its own test runners (GUI + cmd) Both not suitable for easy automation and analysis Let’s use a test runner from VS! http://www.ravipal.net/2016/03/ssis-unit-testing-with-ssisunit.html https://github.com/rarpal/SampleSSISUnit

DEMO Using ssisUnit with MSTest and TFS

Starting simple with MSTest – [TestMethod]

(and some additional methods)

Getting a bit further – T4 template

Target acquired

Step forward – using ssisUnit API

Summary ssisUnit helps you easily start with testing (GUI) You can integrate it with CI/CD tools You can write the tests in XML or using ssisUnit API

Now, ask me some questions

A big thanks to all of our sponsors!