Geeks With Blogs

News View Michael Stephenson's profile on BizTalk Blog Doc View Michael Stephenson's profile on LinkedIn

Michael Stephenson keeping your feet on premise while your heads in the cloud BizTalk Testing
Automated Testing of BizTalk HL7 solutions with Specflow
Recently ive been working on a small widget to help with automated testing of BizTalk HL7 implementations. In the below link there is a video which walks through how all of this works. open sourced an assembly and the sample from the video if you would like to play around with thishttps://appfxhl7testing... to hear any feedback on how people get on with it ......

Posted On Sunday, April 20, 2014 11:41 PM

Testing BizTalk 2013 Maps with the Visual Studio Fakes Framework
A few people have been asking me about this since I originally showed this presentation back at the BizTalk bootcamp in Charlotte in May 2013 so I have eventually gotten around to videoing this presentation.Its not a long one but hopefully it will give you some very useful thoughts on how to improve the testing of BizTalk solutionsCheck it out on the below link.... ......

Posted On Monday, August 19, 2013 11:28 AM

BizTalk 2013 Map Unit Testing Gotcha
Ive been trying to get the sample for the BizTalk Map unit testing scenario working. I kept getting the following error:"Transformation Failure" This was happening everytime I executed the test even though you could test the map fine in the Visual Studio IDE.While troubleshooting this I also tried using code which would execute the map in C# outside of the BizTalk Unit Testing feature based on Tommaso's article. When I did this I was getting the following errors:The type initializer for 'Microsoft.BizTalk.Scalable... ......

Posted On Sunday, May 5, 2013 3:59 PM

Testing Reference Data Mappings
Background Mapping reference data is one of the common scenarios in BizTalk development and its usually a bit of a pain when you need to manage a lot of reference data whether it be through the BizTalk Cross Referencing features or some kind of custom solution. I have seen many cases where only a couple of the mapping conditions are ever tested. Approach As usual I like to see these things tested in isolation before you start using them in your BizTalk maps so you know your mapping functions are ......

Posted On Saturday, May 22, 2010 3:46 AM

BizTalk Testing Guide
For a while ive had a bunch of resources of my own and some links to other community resources which are very useful for BizTalk testing. Ive pulled these all together into one chm file which can point you to all of the appropriate resources to make life easier. This is available on the below link: If anyone feels ive missed a good resource please let me know and ill update it ......

Posted On Friday, January 8, 2010 5:59 PM

Bizmonade Followup
Ive been having a few discussions with Christos Karras and Jason Hyland about Bizmonade over the last few days as a followup to some thoughts and questions i posted about Bizmonade. Christos has posted a response to some of my questions on the below link, and i must say i think his plan for Bizmonade looks really good and it should become an important tool in the biztalk development cycle. Check out his response here : ......

Posted On Friday, October 30, 2009 8:35 AM

Testing BizTalk XLANGMessage with the Fakes Framework
Ive been interested in exploring the opportunities around the Fakes Framework for testing BizTalk solutions for a while now, and until recently its been sitting as one of the many blog articles I have intended to write but haven't got around to. This week we have started looking at a BizTalk 2013 project and this presented an excellent opportunity to explore this idea. I decided to look at the common problem people have faced in the past when you want to unit test some code and it has a dependency ......

Posted On Monday, April 29, 2013 12:18 PM

Developing BizTalk Maps with Specflow & BDD
Following on from the BDD articles I will cover how we have been using BDD development techniques to develop BizTalk maps. A BizTalk map is a discreet component in BizTalk which is ideally suited to development based on desired behaviours from the component. It fits well with our practices. If you imagine we are at a point where we have worked with our Business Analyst to work out the data formats required for various systems then we are in a position to work with them to begin understanding how ......

Posted On Friday, July 13, 2012 11:25 AM

BDD section on BizTalk Technet Wiki

Ive just added a new section to the BizTalk area of the technet wiki containing all of the various content about BDD and BizTalk



Posted On Friday, July 13, 2012 8:55 AM

Developing BizTalk Rules the BDD way
Recently we have been looking at changing the way we develop and test BizTalk Business Rules to use a BDD approach and our tool of choice to help with this is Specflow. I wanted to talk through how we do this and also why I think its useful. I feel Business Rules are an excellent candidate for the BDD style approach to development that Specflow encourages. It also promotes a TDD style where you can work with your BA to nicely document your rule requirements as you test and implement them. Some of ......

Posted On Friday, July 13, 2012 7:41 AM

Seeing the ROI in action on our BizTalk BDD initiative
Ive recently really seen some of the benefits in action from the work we have been doing to introduce Behaviour Driven Development techniques into our BizTalk development process.A couple of months ago one of the members of our team was unavailable and he was the expert with one of the BizTalk Applications we had developed. The team was small and we have a lot of processes and this particular application was quite complex and no one had the level of experience that this team member had with the business ......

Posted On Saturday, February 11, 2012 11:44 AM

More on Map Testing
I have been chatting with Maurice den Heijer recently about his codeplex project for the BizTalk Map Testing Framework ( Some of you may remember the article I did for BizTalk 2009 and 2006 about how to test maps but with Maurice's project he is effectively looking at how to improve productivity and quality by building some useful testing features within the framework to simplify the process of testing maps. As part of our discussion we realized that we both had slightly ......

Posted On Saturday, January 29, 2011 5:19 PM

Generating Documentation from BizUnit v2 XML Files
A while back I did the user group sessions and cloud case video about Behaviour Driven BizTalk Development and talked about how you could use SpecFlow with Visual Studio 2010, BizUnit 4 and BizTalk 2010 to create acceptance tests for your solution. The video is on the below link: Part 1: http://cloudcasts.cloudapp.... Part 2: http://cloudcasts.cloudapp.... Of the many advantages of this approach one of the ......

Posted On Thursday, December 1, 2011 12:28 PM

BDD and BizUnit 2 – Not as cool as combining BizUnit 4 & SpecFlow but still works ok
I've been back working with BizTalk 2006 R2 for a customer recently and I've become such a fan of the BDD style acceptance tests I've done in the past with BizTalk 2010 that its quite frustrating working back in Visual Studio 2005 and not being able to use Specflow alongside BizUnit 4 like I described in the recent videos on these subjects BizTalk & BDD Part 1 BizTalk & BDD Part 2 In BizTalk 2006 development your back to the older style xml bizunit tests and we were looking at some old tests ......

Posted On Friday, November 4, 2011 10:40 AM

BDD BizTalk videos on CloudCast

The biztalk videos for BDD and acceptance testing are now on cloudcast

Posted On Friday, August 5, 2011 2:41 AM

Testing Inside BizTalk update
Ive just released an update to the codeplex project so that there are test steps which are also compatible with BizUnit v4 which has recently been released

Posted On Saturday, June 11, 2011 12:14 PM

Testing what is happening inside your BizTalk solution
As BizTalk developers we all know that one of the common challenges is how to test your BizTalk solution once it is deployed to BizTalk. Hopefully most of us are using the BizUnit framework for testing, but we still have the limitation that it's a very Black Box test. I have put together a sample and video to show a technique where I'm using the Logging Framework from the BizTalk CAT Team at Microsoft and where by BizUnit test is able to make assertions against the instrumentation going through the ......

Posted On Tuesday, March 1, 2011 2:06 AM

BizTalk Testing Series - The xpath Function
Background While the xpath function in a BizTalk orchestration is a very powerful feature I have often come across the situation where someone has hard coded an xpath expression in an orchestration. If you have read some of my previous posts about testing I've tried to get across the general theme like test-driven or test-assisted development approaches where the underlying principle is that your building up your solution of small well tested units that are put together and the resulting solution ......

Posted On Sunday, June 13, 2010 4:41 PM

Configuration Manager - New Release
Ive just released a new version of the configuration manager tool which I used in the BizTalk Light and Easy viewing video. This tool is used to help you manage the different settings needed for binding and configuration files across different environments and allows you to connect this with your build process. The tool is available on codeplex at: http://configsettingstool.c... The light and easy video is at: http://blogs.breezetraining... ......

Posted On Friday, August 14, 2009 5:35 PM

Testing BizTalk Maps with Custom XSLT
A while back I wrote a couple of posts about Testing maps in BizTalk. They are at the following links: BizTalk 2006 R2 BizTalk 2009 One possible extension to this might be if you have a map which rather than using the map designer imports a custom XSLT to perform the mapping. (If you are not familiar with this refer to MSDN). So if you have a custom ......

Posted On Thursday, July 9, 2009 4:31 AM

Testing BizTalk Flat File Schemas
I got some feedback a while ago asking for some advice on how we test flat file schemas and have eventually got around to writing this post. The aim of testing schemas which have been created to represent a flat file (positional or delimited) is to be able to test the schema in isolation to ensure that it can be used to parse and assemble a message correctly. The reason testing the schema in isolation is important is that it allows you to ensure it works before the schema is used within BizTalk where ......

Posted On Wednesday, July 8, 2009 3:27 PM

BizTalk Testing Guidance - Stub Of Dynamics AX
Following on from my previous article, one of my old colleagues has written up an article about how a project he worked on was able to simulate the behaviour of Dynamics AX by using one of the approaches I described in my article about how to simulate external systems in testing. Check out Charlies article here: ......

Posted On Wednesday, May 13, 2009 4:57 PM

BizTalk Testing Guidance - Revisited
I've updated my BizTalk Testing Guidance with some new articles based on what we learned today about BizTalk 2009. Please find the latest index below: Title Link Introduction Testing Schemas Testing Maps Testing Pipeline Components ......

Posted On Friday, December 12, 2008 1:42 AM

BizTalk Testing Series – Testing Pipelines and Pipeline Components in BizTalk 2009
A while back in my series of articles about testing with BizTalk I covered a technique for testing pipelines and pipeline components. The background to the approach is still valid in BizTalk 2009, but the technique is improved. To review the previous article refer to the following link: Pipeline Components - Pipelines - In this post although we could ......

Posted On Friday, December 12, 2008 1:33 AM

BizTalk Testing Series – Testing Maps in BizTalk 2009
A while back in my series of articles about testing with BizTalk I covered a technique for testing maps. The background to the approach is still valid in BizTalk 2009, but the technique is improved. To review the previous article refer to the following link: In this post although we could do testing of maps, to be honest it was a little bit of a pain. In the newly released BizTalk 2009 CTP there have been some improvements ......

Posted On Friday, December 12, 2008 12:45 AM

BizTalk Testing Series – Testing Schema in BizTalk 2009
A while back in my series of articles about testing with BizTalk I covered a technique for testing schema. The background to the approach is still valid in BizTalk 2009, but the technique is improved. To review the previous article refer to the following link: In the newly released BizTalk 2009 CTP there have been some improvements in how you can do some of the testing and I would like to demonstrate this. I will walk through ......

Posted On Friday, December 12, 2008 12:43 AM

Detecting BizTalk Event with BizUnit
I came across an annoying one the other day, I havent had time to look into it in more detail, but here are some notes about it. In some of the tests we do with BizUnit we sometimes check the event log to see that certain messages have occured. I came across an example I havent noticed before the other day. In my test I do a bunch of stuff then I wait until a custom event with a specific Event Id is logged to the event log. I use the BizUnit event log check step and it finds my event fine. Later ......

Posted On Wednesday, July 23, 2008 5:48 PM

BizTalk Testing Guidance
I recently did a series of posts providing some guidance on testing for BizTalk projects. The index for this guidance is as follows: Introduction : Testing Schema: Testing Maps: Testing Pipeline Components: ......

Posted On Sunday, April 27, 2008 5:02 PM

BizUnit - Modified FilesExist and EventLogCheck steps
Ive just been looking over a couple of BizUnit steps and have decided to create a couple of custom versions. The main reason that I have modified them is that I can reduce the length of time taken on my build process if the tests are quicker. The changes I have made are as follows: FilesExist In the standard step the executing thread is put to sleep for the timeout duration before looking for the file. In practice you often have to modify this setting as you learn how long your tests take to execute. ......

Posted On Friday, April 18, 2008 6:31 PM

BizTalk Testing Series - Testing overall Processes with BizUnit
Continuing the series, this article will discuss how to test processes which are developed in BizTalk. For the sake of clarity by a process I mean an end to end implementation of a use case in BizTalk. This process may include messaging or orchestration elements and a number of ports, possible rules or BAM elements which will combine to implement the process. Im going to try to keep this post quite short as there is plenty of guidance on this area, but there are a few things I do want to say. This ......

Posted On Tuesday, April 15, 2008 12:06 AM

BizTalk Testing Series - Testing Custom Adapters
Continuing the series on recommendations for testing with BizTalk this post will focus on how to effectively test custom adapters developed by your team and for use within a BizTalk solution. As most of you will be aware adapter development is probably one of the most difficult development tasks in the BizTalk arena because it is often easy to get the functionality of the adapter to work, but once you put it in a production like situation you will often discover a whole new set of problems. Based ......

Posted On Sunday, April 13, 2008 3:51 PM

BizTalk Testing Series - Testing Custom .net Components
This post aims to provide some general guidance on testing for .net components which will be used within a BizTalk project. In terms of .net components I am mainly talking about the following: .net helper classes used by orchestrations .net classes used within Maps I have done seperate posts in this series (or am planning) which covers the following types of .net component which has more specific testing requirements: Custom Pipeline Components Custom Adapters Some recommendations to help you with ......

Posted On Sunday, March 30, 2008 12:20 AM

BizTalk Testing Series - Testing Orchestrations
Continuing the series on testing in BizTalk projects this article is about testing orchestrations. From projects I have seen or through speaking to other developers I have come across the following techniques for testing orchestrations: 1. Testing by debugging them in HAT Im amazed how many times this comes up when I have interviewed people. Ok first thing Debugging != Testing. Secondly the problem here is the "tests" are manual and there for not easily repeatable and prone to error. 2. Manual Testing ......

Posted On Sunday, March 30, 2008 12:18 AM

BizTalk Testing Series - Testing Pipelines
Continuing the series of articles on testing in BizTalk, this time I am going to talk about our approach to testing pipelines. The traditional way to testing pipelines was to use the pipeline.exe tool in the BizTalk SDK. This allows you to use various ways to call this command line tool to execute your pipeline. The key points of this tool are as follows: It is a command line tool so is a bit fiddly to call from a C# test but can be done by using the Process object It takes input and output documents ......

Posted On Sunday, March 30, 2008 12:16 AM

BizTalk Testing Series - Testing Pipeline Components
The next in my series on BizTalk testing will cover testing pipeline components. I will begin this post by discussing some of the traditional ways I have seen pipeline components tested, then continue to 2 more recent techniques which I believe to offer significant advantages. To begin with the traditional techniques are: Traditional Approach 1 - Testing as part of a larger process In this technique the Pipeline component is developed and then deployed along with a BizTalk solution. Tests are then ......

Posted On Sunday, March 30, 2008 12:14 AM

BizTalk Testing Series - Testing Maps
Overview Continuing the series of posts about testing for BizTalk, this post will discuss our approach to testing Maps. Again like with schema the normal approach used for testing maps is to use the Visual Studio menu to test the map with different instances against the map. In my opinion this approach has some limitations: 1. It needs to be done manually and can not easily be automated 2. The output from the map is normally only validated by the developers eye 3. Changes to the map may not be regression ......

Posted On Sunday, March 30, 2008 12:14 AM

BizTalk Testing Series - Testing Schema
Overview In my series of posts about how to improve the quality of BizTalk solutions you deliver I will begin by discussing how we normally test schemas on BizTalk projects I've worked on. Most people seem to simply use the validate instance function within Visual Studio as the main way to test a schema. And although this can do the job I believe the approach has the following limitations: 1. There is a known issue when validate instance sometimes thinks a message is valid when it isnt, see the following ......

Posted On Sunday, March 30, 2008 12:13 AM

BizTalk Testing Series - Introduction
I have decided to do a series of blog posts around the approach to testing I normally try to encourage on BizTalk projects where I am involved. My aim is to do some posts based around the following: 1. Development Testing This will cover the following: - Techniques to unit test various artifacts within a BizTalk solution including Schema, Maps, Custom Components (adapters, pipeline components) - Functional testing with BizUnit - Approaches to stub out external systems 2. Integration Testing This ......

Posted On Sunday, March 30, 2008 12:12 AM

MsTest Code Coverage with BizTalk Projects
Problem If you want to use the standard code coverage that comes with Visual Studio Team Developer to analyse any C# code within your BizTalk solution you will normally come across the problem that when you open the code coverage page within the test run config file the dialog closes itself. This is a bit of a pain in the butt!! Work Around If you want to amend the code coverage page you can do this by temporarily unloading your BizTalk projects within the Solution Explorer. When all of the BizTalk ......

Posted On Friday, March 28, 2008 8:03 PM

Dynamic WCF Step for BizUnit
Ive recently put together a WCF step for BizUnit to help us with predominantly with projects using BizTalk 2006 R2. However remember that BizUnit can be used without BizTalk Anyway this article will provide some information about the how this is implemented. There is also a link to the sample application at the bottom. In the sample I demonstrate how to call the service in a normal test, then how to use dynamic code and reflection to execute the same test. This dynamic code is basically what is implemented ......

Posted On Sunday, February 3, 2008 12:20 AM

Integrating the BizTalk Orchestration Profiler into your MsBuild Process
I have been wanting to include the BizTalk orchestration profiler into our build process for a while and have eventually got around to doing it. Like some of the other recent posts ive produced a simple example demonstrating this. I will begin by discussing the example on how to use the task and then follow this with some comments on the task itself. Using the BizTalk Orchestration Profiler MsBuild Task The idea of the BizTalk Orchestration Profiler Task is that when my build script has ran the BizUnit ......

Posted On Tuesday, January 29, 2008 9:22 PM

Integrating BizUnit & LoadGen
I have been setting up some performance tests using LoadGen today and was having a couple of problems where the message sent by LoadGen wasnt working properly and it was a bit of a pain trying to workout the cause of the problem. After 10 minutes I thought hang on ive got BizUnit tests which do exactly what I want except that I just want to run them a lot of times. This made me think back to something Ewan Fairweather said back at TechEd Barcelona about potentially integrating LoadGen and BizUnit. ......

Posted On Monday, December 10, 2007 9:35 PM

Copyright © Michael Stephenson | Powered by: