A place for my thoughts and experiences on SQL Server, Business Intelligence and .NET

Agile BI Development: QueryUnit is born!

Having a developer background I’m used to work trying to apply an Agile approach to projects. In these last years I focused my work primary on BI projects, and so I tried to apply an Agile approach also to them, since I really believe that Agile is the path to follow.

While Agile methods in the classic Object-Oriented field are quite widespread nowadays, in the BI field they are basically totally unknown to masses (at least this is my experience). Of course this means also that there is a total lack of tools and instruments to properly adopt Agile in your approach.

Unit-Testing is surely something that is absolutely necessary if you want or need to refactor a solution. Since now, to unit-test staging databases, datawarehouses and cubes was a pain. I needed a tool to automate everything. I searched on the web but I found nothing I really liked. So I started to wrote something by myself.

The first release is more a proof of concept that anything else, but I’ve started to use it in current BI project I’m working one with a lot of satisfaction. Now each time I change something in DWH or Cube I can automatically tests hundreds of queries. If all lights are green I can ask the customer to test the new implementation being sure that all existing reports, cubes, queries and so no will still be working perfectly. Otherwise I have some more work to do [:)].

Here’s a sample screenshot:

As you can see I’m using NUnit as Unit-Testing framework. It will allow to test SQL and MDX queries stored into an XML file, so that no .NET coding is required.

I’m going to release this first release ASAP, hope you’ll enjoy it as much as I am doing, and that you start to embrace Agile also in the DB field, if you’re not already with it. :)

Leave a Comment

About Davide Mauri

Davide Mauri - MCP, MCAD, MCDBA, MCT, MVP on SQL Server - has worked with SQL Server since version 6.5, and his interests cover the whole platform, from the Relational Engine to Analysis Services, from architecture definition to performance tuning. He also has a strong knowledge of XML, .NET and the Object Oriented Design principles, which allows him to have the correct vision and experience to handle development of complex business intelligence solutions. Having worked as a Microsoft Certified Teacher for many years, Davide is able to pass all his knowledge to his co-workers, allowing his team to deliver high-quality solutions. He currently works as a Mentor for SolidQ and can be found speaking in many Italian and internationals events.