Tallan's Technology Blog

Tallan's Top Technologists Share Their Thoughts on Today's Technology Challenges

Test Harnesses and the Use of Exception Shapes

While testing an integration it is always important to perform a series of negative test cases to ensure the process can fail gracefully through error handling. It is not always possible for endpoint environments to be set up for quick and easy testing. For this reason, a useful step in the development process is to create test harnesses. These can act as the implementation of abstract test cases beyond simple shape-to-shape testing. Test harnesses are also incredibly useful for regression testing.

In Dell Boomi, the most use shapes for testing will be the Message shape and Exception shape. Although the message shape is useful to any test case, the Exception shape will be mostly utilized in negative test cases. The Message shape can take the place of a connector retrieving input to ensure the input data is consistent between tests.

As an example of the Message shape, we will make a test harness for the sub-process NSToDS.Inventory in the integration below. For the harness, the only relevant shapes are the Set Properties shape and the process call itself. Those can be copied into a separate process with a No Data start shape and a Message shape.

testharness1

Original Process to be tested

testharness2

Test Harness Process

 

The Message shape (labeled Input Data) will contain the test data. The data can be handwritten or taken from a test run of the original process. Ensure that it is in the correct structure. In this case, the structure should adhere to the destination profile of the map.

testharness3

 

 

If extensions are used in the original process, enable the relevant extensions in the test harness and remember to set them in the Test Extensions window. Now the test harness should be ready to test.

 

Negative Test Cases and Exceptions

While testing the negative test cases, it can be at times difficult or tedious to consistently test the same error message. This is where the Exception shape shines. The Exception shape can be used to generate a consistent and predictable try/catch message. The important shape to note in the example below are the Exception and Try/Catch shapes. Each of those Exception shapes is simulating an error that would normally occur in a much larger process, thus allowing quick testing of changes to the catch branch in multiple processes and error cases.

testharness4

 

 

Dell Boomi AtomSphere

The Dell Boomi AtomSphere integration platform is a shared-everything, multi-tenant platform that supports cloud-to-cloud, SaaS-to-SaaS, cloud-to-on-premises, on-premises-to-on-premises and B2B integration. Boomi AtomSphere supports real-time integration and elastically scales to meet high-volume needs in mobile, batch (ETL) and EDI environments. Easily accessed via a browser, it delivers an impressive range of integration, master data management (MDM) and platform extension capabilities.

Tallan Integration Solutions for Dell Boomi
Tallan is a certified Dell Boomi Partner specializing in iPaaS platform integrations. We specialize in Integrations using EDI and Dell Boomi as the iPaaS platform of choice. Leverage Tallan’s vast integration experience for your AtomSphere platform needs.  Our certified architects and developers provide the expertise, best practices, and guidance to deliver a successful integration solution.

We hope this guide will help you in your use of AtomSphere. If you have any questions or comments, or need assistance with any Integrations or development questions, please contact us at integrations@tallan.com.

_________________________________________________________________________________________

To learn more about Tallan’s integration experience with Dell Boomi, CLICK HERE to check out our solutions today! 

No comments

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>