The powerful combination of Sixpack and Pumpo#5
You're probably already familiar with Sixpack, but today we'd like to introduce another product of PumpITup. Let's take a look at the powerful combination of Sixpack and Pumpo#5!
Sixpack is a platform that allows any team to create scripts to generate data. Those scripts integrate very easily with Sixpack using our Sixpack SDK.
To create and insert test data into systems, various strategies can exist:
- The naive way is to insert new lines in databases. It is naive because the application logic is skipped and that logic can contain necessary notifications to other applications that something was added.
- On the other side, there is the brute force approach which is about reproducing what users would do, usually automating some UI.
- A good compromise can be to interact with the endpoints that the UI interacts with, so mostly REST interfaces, but sometimes due to external integrations also middleware like Kafka, file transfer protocols, or any other queuing.
This is where our other product, Pumpo#5, may help. Pumpo#5 is a library and framework that allows automating almost any endpoint. It is initially intended for integration and end-to-end tests, but it is written in a way that it can integrate with the Sixpack SDK in Java. Then, some generators can call REST endpoints, others can send messages to Kafka, others can initiate SFTP transfers, and others can automate UI.
The benefit of using Pumpo#5 is related to the synergy between test automation and test data automation. Usually, scripts might be almost identical, but when creating test data, the output is the data, whereas when testing, the output is a pass/fail result.
Pumpox5 includes a feature that allows initiating connectors either as JUnit extensions, injecting those connectors inside test methods, but it also allows initiating those connectors imperatively from any Java code, hence allowing to do the same inside a Sixpack generate method but without JUnit.
Overall, adopting Sixpack and Pumpo#5 is a great combo for integration/end-to-end tests. Sixpack takes care of preparing test data in advance, and Pumpo#5 is the low-level library that serves both the test data generators and automated tests. All can reside in the same Git repository to allow reusing code across both domains.
With Sixpack, the platform becomes a complete solution for test data generation, while Pumpo#5 offers the framework to automate the process across synthetic test data platform requirements. It supports efficient test data as code models, allowing just-in-time test data provisioning in various systems, handling alternatives to test data anonymization and test data masking.