During an EDI project, platform validation can be done with different tests. We identify three types that will need to be created, maintained, and executed in different environments by people with different roles.
These are the lowest-level tests whose purpose is to ensure that a specific feature, such as a mapping or verification rule, works as expected. Since this category of tests focuses on a functional subset of the software, these tests are usually written in the programming language available in the platform. They are created, maintained, and run by developers, before promoting their changes (in a code versioning tool for example, or on the platform development environment). Unit tests are primarily functional and are not intended to test the performance or the load of the EDI platform.
These tests focus on the EDI platform as a whole, but isolated from the rest of the IS and its partners. The goal is to verify that the platform delivers the expected service without being connected to the IS. It is usually with the platform tests that we will test if the flows are correctly received, transformed and redirected. For this type of test, it will therefore be necessary to submit input data from the platform and evaluate the results when it is produced. It is also at the platform tests level that the performance, load and safety tests will be performed.
These tests are about making sure that the EDI platform integrates well with the company’s IS and with its partners. It is therefore necessary to test business scenarios to ensure that the information is correctly processed in the various stages of its flow:
- Is the order relayed to WMS, CRM and ERP?
- Is the invoice issued by the ERP correctly sent to the recipient?
These tests are generally very functional: the scenarios are written by business experts to be able to play and replay the various cases related to the activities of the company. The end-to-end tests also validate the correct integration of the EDI platform into the IS: identifiers of connections to other components, connections passing the various protection elements (firewall or the gateway API). Finally, they make it possible to ensure that the deployment of the platform is carried out correctly: disk space or access rights among others.
To write and execute the different types of tests that we have studied, it will be necessary to have several environments dedicated to the testing of the EDI platform. In a future article, we will look at the characteristics of these different environments.