Integrated D365 and Magento 2.x in QA Life Cycle

COMMENTS (0)
Tweet

 

GOALS:

  • The understanding of ERP and E-commerce integration as a QA Engineer.
  • How to apply Requirement Elicitation techniques in this area of Software Development.
  • As Quality Engineer how we can perform Component and Integration testing between D365 (ERP) and Magento 2.x (e-commerce).
  • Magento to D365 integration for TJM SA 4×4 Equipped.

Integration Of D365 and Magento 2.x

Involved Systems:

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
catalog-management tools.

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.

Involvement as a QA Engineer:

As QA Engineers we need to understand the total number of systems that are integrated
into this Development life cycle.

  • Magento E-commerce platform is a separate system ( It has its services and Rest
    APIs with unique attributes, Database, and configurations)
  • D365 ERP also acts as a separate system (It has its own Microsoft services, Database tables, and configurations for all sorts of finance and operations)
  • Folio3 ComAX connector which acts as a data sync portal between D365 and
    Magento (It has its User interface which can be viewed through URL, separate
    connections for D365 entities mapped with Magento store views, separate jobs
    for synchronization services and configurations)
  • We also need to understand the workflows and data synchronization between all
    these systems having separate databases and Services.

Requirement Elicitations for Integrated Systems

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:

  • Weekly scrums with stakeholders and customers.
  • Separate client meetings for discussion of new services and projects.
  • Brainstorming can be used by QA / Requirement Engineers for complex
    requirements.
  • Daily internal scrums will also help in the synchronization of the requirement
    gathering process for both systems.
  • Prototyping can also be done if the customers are not having a clear vision of the
    system.

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.

For Example:
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.

System-level Integration Testing For Integrated D365 and Magento 2.x

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
two stages.

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.

Magento to D365 integration for TJM SA 4×4 Equipped.

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.

The Problem :

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
platforms.

The Solution :

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:

● Customer Relationship Management (CRM) :

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.

● ORDERS and Sales Quotations :

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.

● Product and Inventory :

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.

● Discounts and Pricing :

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.

● Payments :

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.

CALL

USA408 365 4638

VISIT

1301 Shoreway Road, Suite 160,

Belmont, CA 94002

Contact us

Whether you are a large enterprise looking to augment your teams with experts resources or an SME looking to scale your business or a startup looking to build something.
We are your digital growth partner.

Tel: +1 408 365 4638
Support: +1 (408) 512 1812