Blog

Why did we introduce test automation?

In the world of software development in general and application and data integration software in particular, quality is a crucial aspect. Ensuring the functionality, reliability and predictability of software and the responses is essential for delivering a product that meets user expectations.

Integrations should process messages identically after a software update as it did before the update. A powerful approach to ensuring this quality is automated testing. In this article, we focus on using test situations to test all possible combinations of available options in integration components using testflows in Dovetail together with the popular tool Postman.

Why test automation?

When using the integration components, different options can be used, thus allowing all kinds of combinations to be configured. Manually testing all these combinations can be time-consuming and error-prone. Automating these tests provides a structured approach to cover all possible scenarios. This reduces the chances of missing potential bugs significantly. Automating these test flows not only improves efficiency but also test accuracy.

Postman as test automation tool

Postman is a widely used tool for API development and testing. It provides an intuitive interface that allows developers to create, send and test API requests. Moreover, Postman supports automating test cases through collections and scripts, making it ideal for setting up automated test flows.

Setting up test flows

Setting up tests in Postman requires a profound understanding of the integration components to be tested and their various options. By following a systematic approach, we can identify all possible combinations of these options and create test cases to validate them. The ultimate goal is to test all possible scenarios.

A common technique is to use message headers and the message body to invoke the appropriate flow within the components under test. By dynamically adjusting these parameters in our test cases, we can simulate different scenarios and check that the components respond correctly.

Besides testing all possible options and combinations of integration component settings, it is also important to test as many data types and within them, combinations of data sets, as possible. Of course, you will understand that there are endless possibilities in this and so it is impossible to test everything imaginable. Especially in the case of message transformations, an attempt should be made to achieve a high possible coverage rate.

The practice

In the tool Postman you are able to create a workspace for all your tests. In this workspace you can create collections. We chose to create a collection in Postman for each component category in Dovetail. So we have a collection of: endpoint, construction, routing and transformation. Since in transformations, the incoming message is even more important than in other categories, many more tests have been created here, so that as many message variations as possible can be tested.

Below is an example of a test situation in Postman. Parameters are set to properly call the flow in Dovetail. The message body is also set here. Multiple expected outcomes can be defined in the test. Examples are available here: https://learning.postman.com/docs/writing-scripts/script-references/test-examples/ 

Postman split json

In Dovetail, the use of a content router allows the parameter sent in by the Postman to follow the correct route. As a result, the correct test situation is addressed. The advantage of this is that if necessary, new test sets can be added. See the example below, which is called by an HTTP call by the Postman test above.

Dovetail split json

Benefits of automated test flows

Conclusion

Setting up test flows in Dovetail that can be automated using Postman provides an effective way to test all possible combinations of options in integration components. By automating these tests, our developers can build confidence in the quality and reliability of their software products, while saving time and resources. Implementing a robust testing system with automated test flows is therefore a crucial step for us in the pursuit of high-quality software development.

Related resources

How to replace a library from 2010?

In Dovetail 4.15 we transitioned to Jackson to ...

If you don’t test restores, you don’t have backups

It is as simple as the title suggests: “If you ...

New release Dovetail 4.15

The aim of this new release is to empower the u...

The flexibility of Dovetail

Dovetail's building blocks provide the freedom ...