Project Description

Sample project demonstrating the use of SSISTester.

What is SSISTester and how it helps me?

SSISTester is the framework that makes unit and integration testing of SSIS packages possible. It is built on top of SQL Server Integration Services. It enables you to test packages, tasks, precedence constraints and inside data flow tasks. It supports unit and integration tests.

SSISTester helps you to develop you ETL process in the test driven manner and to identify errors early in the development process.

Take a look at introductory presentation.

Read the MSDN article about SSIS testing.

Unit and integration tests

Unit tests are performed in 3 steps that enable you to prepare and verify tests, and to do cleanup after a test has executed. Unit tests are designed to test packages or tasks for a specific use cases, therefore you can write more than one unit test to test different aspects of the same package or task.

It is challenging to create realistic test setup and initial conditions needed for a unit test so the package or task being tested behaves like part of the complete ETL process. To overcome this problem SSISTester supports integration tests - also called live tests. Live test is basically a post-condition, defined for a package/task that needs to be satisfied after the package/task has executed. This post-condition corresponds to the verification step of a unit test. You should use live tests to test you whole ETL process.

What package elements can be tested?

Packages as a whole, tasks and precedence constraints can be tested. You can tap paths between data flow components. This enables you to test different paths in a data flow and make sure that expected data comes out at all points. This feature is available for SSIS 2008, 2012 and 2014. Fake source and destination components allow you to eliminate external dependencies.

Highlights

  • Create tests like you do it with Visual Studio and MSTest
  • Create tests by implementing setup, verification and cleanup steps
  • Debug your tests
  • GUI to monitor tests during the execution
  • Use MSTest or ReSharper to execute tests
  • Export test results to HTML as well
  • Intuitive way to access package variables, properties, connections, parameters...
  • Test whole packages, tasks and precedence constraints
  • Use data taps to capture and verify data in data flow streams
  • Use fake source and destination to eliminate external dependencies
  • No need to change or adjust your existing packages
  • Use any of .NET languages to write tests

API Documentation

Documentation

Videos

Video Tutorials

Screenshots

Unit test sample

Debugging a unit test

Unit test monitor

Execute tests with ReSharper test runner

Execute test with VS test runner

Live test sample

Live test monitor

Html report

Test Coverage

Test Coverage report

System requirements

In order to use SSISTester you will need a) SQL Server 2008/2012/2014/2016 with locally installed integration services b) .NET framework 3.5 or newer, c) Visual Studio 2008/2010/2012/2013/2015 and d) Testing Tools for Visual Studio.

Last edited Jul 3, 2016 at 8:10 AM by bytesoftwo, version 6