276 Part IV The Infrastructure of Integration
Because your EI solution likely will have many layers, your testing
should be designed to test each layer. For instance, an integration
solution might allow a user to create and deploy a business process
on top of a messaging architecture. Set up a number of tests that test
only the business process, and then prepare another set of tests that
monitor only the message capability of the solution.
As a final note, we have found that we can use our integration tools to set
up an automated test environment. For example, you can utilize a BizTalk
Server orchestration to run a set of tests against orchestrations in an integration
solution. Each test can be designed to produce a pass-or-fail response that you
can store in an XML document and transform into HTML by using the transfor-
mation shape in BizTalk Server. Similarly, you can utilize an orchestration to test
business rules created by using the business rules engine. You can call each
rule separately from the orchestration, which will reveal whether business rules
are failing long before you have to debug an orchestration.
Automating your build process is essential to facilitating delivery and reducing
defects in an integration solution. You can do this by establishing a build and
deployment process at the beginning of your project and enforcing that process
throughout the project’s lifetime. Similarly, testing your integration solution
requires an agreed-upon process and a set of principles to follow that allow you
to test effectively. Following these principles and processes can make the dif-
ference between success and failure on any project you undertake.