It is important to have access to an environment dedicated to the tests of your EDI platform, regardless of the platform used. This environment will be used to make the acceptance tests and if necessary the regression tests. To do it right, you need at least 3 development and test environments, meeting the needs of different types of testing.

Development environment

It is used for unit tests (UT). This environment does not need to have up-to-date production data to run the UTs. The EDI platform can be isolated from all other IS components. Since UTs are often the first tests performed in the development cycle, changes to a mapping or configuration may be wrong and may be canceled. So it could be necessary to reset or rebuild this environment. In the case where the platform allows it (resources used, licenses, etc.), it may even be useful to have multiple developer environments to keep maximum flexibility for UTs.

Integration environment

It is used for platform tests (PT) for which we focus on integration tests between flows and possibly non-functional tests (load, performance, etc.). This environment must be fully operational: connectivity and flows properly configured, as well as the latest version of developed mappings installed. However, it does not need to have up-to-date production data to run the PTs. Finally, the EDI platform can be isolated from all other IS components because testing should be independent of these elements.

Pre-production environment

This environment is used for end-to-end testing. It must reproduce as closely as possible the production environment, with a faithful image of its different components: ERP, TMS, CRM. Each component should be regularly updated to ensure that the tests are performed with data and functional treatments as close to the production as possible. This environment will also be used often to test the deployment of the platform before final push to production.

It should be noted that it is sometimes complicated or impossible to set up a relevant pre-production environment that is regularly updated. For example if the EDI platform integrates with a large number of partners who do not provide a test environment (in logistics for example), or if some elements of the IS can not be duplicated (AS / 400) . In this case, PTs and UTs become more important: more effort is needed on each of these types of tests, especially for regression tests.

How about you? Which test environments do you use for your EDI developments?