Microsoft Dynamics 365 and Business central are Enterprise Resource Planning
systems that will help your business process to streamline all of your core business
activities like (accounts receivable, account payable, sales and marketing, HRMS, etc)
and workflows on a single platform where all of your business direct stakeholders can
easily analyze them and can keep track of your business progress.
On the other hand Adobe Magento 2.x is an open-source e-commerce platform that allows you to control your online shopping store without any compromise and will
provide your customers with an authentic shopping experience. Apart from that, it will
provide you with several useful features and plugins which include SEO, Marketing, and
Folio3 provides one of the best Erp to Ecom integration tools
known as ComAX connector which we are using in multiple Erp integrated projects, for
Magento and D365 we are using the same connector which allows the completed data
sync from D365 to Magento and vice versa. Products, Customers, inventories,
quotations, Sale Orders, Purchase Orders, Transfer Orders are all included in the
complete automated synchronization process that also includes all types of CRUD
operations between two integrated systems.
As QA Engineers we need to understand the total number of systems that are integrated
into this Development life cycle.
The requirement gathering for such a complicated and complex system should start from the initial phase of the development life cycle. As a part of agile development
methodology, the techniques that are used for requirement gathering, also having a huge
amount of impact on these types of integrated systems are as follows:
The main aim to adopt these techniques is to assist and obtain the functional and
non-functional requirements. Non-functional requirements like performance, security, and
Scalability are only limited for each system. The functional requirements are always
linked together with each other and for one requirement both three systems will get
affected by the change.
For each functional requirement, we will have to discuss and analyze the change in API
calls for D365, Magento and the change of attributes and their mapping through
connector will also be analyzed by the engineering team.
Suppose we need to add an attribute in items or products on the front end
of the online store. For this as the main master system for items to be synced is D365, we
also need to add those attributes in D365 and the requirements will not end here. The
API calls for both Magento and D365 will also get new attributes which will get connector
based on configurations from D365 and then posted to Magento admin.
As this one change will affect all three systems therefore Requirements and QA
Engineers need to make sure that they properly analyze every new requirement and
their impacted areas keeping in my that we have three separate systems working
together in an integrated manner.
According to the international standards testing board, integration testing is a level of
software testing that can be implemented on different components and systems. In our
scenario, we are focusing on complete system integration when component level testing
is completed for ERP (D365) and Ecom (Magento) which will be divided into the following
API Testing for the integrated system :
API testing is performed for both integrated systems in which we check the API calls for
Magento and D365 for one single job and process. We also check the Attribute naming
and its impact areas in case of syncing back to D365 and vice versa. All of these
scenarios and functionality can be verified using the ComAX connector which will contain
all the activity logs in case of live feed and packet logs for both Dynamics 365 and
Magento in JSON format.
Each test case and RTM will be tested according to the requirements by QA
Engineers for Dynamics and Magento team. All of these scenarios once fulfilled the user
requirements will move to the API Automation in case of Regression testing in the
Maintainance Phase of the Development Life cycle.
Tools Used: POSTMAN , Notepad ++ , Jira , Soap UI.
Performance Testing for the integrated system :
Performance testing is a very crucial part of integration testing because it is a platform
where multiple jobs and services are interacting with each other continuously. Failure of
one system or API call will create problems for customer business and sales.
Performance testing which includes load, stress, spike, and endurance testing is
performed by QA Engineers for both platforms separately with a specific amount of
threads to see their behavior according to real-world scenarios. After that complete
integration of performance is tested on connector level where we use the number of API
hits and use with increased Ramp Up time to see the performance and endurance of
both systems on the connector.
Tools Used: Jmeter, Gatling, Soap UI.
About TJM :
TJM SA is Adelaide’s leading supplier and installer of 4×4 equipment & accessories. TJM
has been Australia’s leading 4WD store for over 35 years.
There are 2 TJM SA stores in Adelaide: Nailsworth and St Marys. Both are independently
owned businesses servicing the needs of clients throughout South Australia in both
private and business/fleet applications.
TJM required integration between their Magento Ecom web store and Microsoft
Dynamics 365 so that Customers, Products, Inventory, Pricing, Orders, Payments,
Shipments, and Store credit-related information can be synced between the two
Folio3 implemented the D365 and Magento integration through the automated
connector in the production environment of TJM.
The integration scope covered the following out of box functionalities:
The following tasks were integrated into the Customer module:
1. Customer and Prospect creation from D365 to Magento and vice versa.
2. Customer Groups and TAX group integration.
3. Customer billing and shipping address integration.
The following tasks were integrated into the Order module:
1. Sales Order and Quotes creation from Magento to D365.
2. Sales order status fulfillment (delivered and invoice).
3. Sales Order cancellation.
The following tasks were integrated into the Product and inventory module:
1. Product Creation and Update.
2. Bundle product creation.
3. Inventories syncing from D365 to Magento.
4. Warehouse management and automated syncing.
5. Delivery dates syncing from Purchase orders
6. Barcode integration from D365 to Magento.
The following tasks were integrated into the Pricing and Discount module:
1. Discount groups syncing between two systems.
2. Trade agreements syncing as Discounts and base prices.
3. Line discounts and special price syncing from D365 to Magento.
4. Price update and deletion.
The following tasks were integrated into the Payments module:
1. Free text invoices syncing from Magento to D365.
2. Payment settlements for credit card payments from D365 to Magento.