Remember that exciting online order which you placed and were super excited about the delivery?
Ever wonder what happens in the process of getting your favorite shoe or dress to your doorstep?
There are a series of systems working in sync which communicate and pass-on information regarding an order – from the moment they are placed till the time of delivery i.e., till it is in your mailbox or dropped by a drone at your doorstep. The entire collection of the system(s) right from the web page/app you see till the delivery receipt printing unit is collectively referred under the term – E-Commerce.
This means nothing but the entire commerce business is handled electronically by a sequence of systems working in parallel i.e., a customer can purchase anywhere/anytime irrespective of store availability and proximity. Thus, in today’s digital age, the Retail industry is evolving at breakneck speed and test automation in retail digital transformation has become mandatory to manage huge volumes of tests at increased speed.
The entire functionality of an e-commerce system is validated by the End-to-End Testing Cycle i.e., every possible order and return combination is tested. Therefore an End-to-End test case is nothing but a possible combination of various elements/options using which a customer can place an order.
End-to-end Testing is of the utmost priority since any deviation from the expected behavior would have a direct business impact. Thus, the design of End-to-End test case (s) would require utmost priority and knowledge of all functional units and integrations of the application under test.
Let us consider a simple Order and Return situation/scenario for better understanding.
An Order Placement End-to-End Test case would look like:
“A Guest User orders for Shipping Restricted Product to California which is shipped via Overnight Priority Shipping and is paid using Amex Credit Card”
An Order Return End-to-End Test case would look like:
“A Registered user returns order due to incorrect fit for an order placed for product shipped to home at Connecticut via Express 2-Day Shipping and is paid using Proprietary Payment Card”
The above are very simple and straight forward End-to-End test case(s); some of the variables involved in constructing End-to-End test-cases are:
- Customer Types – Guest and Registered.
- Product Types – Shipping Restriction, CA65 Compliance and Drop Ship.
- Order Types – Gifted, Ship-to-Home and Pickup In-Store
- Proprietary Payment Methods used by the Store/Site.
- Shipping Methods like Overnight, Express and Standard.
- Tax and Address Validations.
- Order Return Reasons.
An effective End-to-End test suite should include all possible combinations of products types available, customer and order types along with address and tax validations. End-to-End Testing would focus on areas like how data flows across the various systems involved in the cycle, various integrations involved and working in-sync with the order creation process (Taxation and Address Validation systems) and the syntax of the data and correctness of the data.
Life-cycle of an Order:
Fulfillment types are nothing but the channel via which the customer receives the product/item ordered.
Two of the major order fulfillment types are:
- Ship to Home: This is the traditional method where the ordered products are shipped using the available shipping options to the Shipping Address mentioned by the Customer.
- Pick up In-Store: In this order fulfillment type, the customer selects the product and completed the payment; but the product is not shipped rather it is picked up by the customer from the store selected by the customer earlier.
Two of the important integrations involved in Order Placement are:
- Address Validation: This integration would work actively work with validating the Shipping Address entered by the customer during Order Creation process which would prevent Order Fulfillment issues in later stages of the Order Life-cycle.
- Tax Validation: This integration would work with Tax calculation by a third-party integration based on the Shipping Address provided by the Customer. This integration would fetch the tax amount of an order based on items purchased and shipping addresses from an external system.
End-to-End Testing involves validating all the data and transmission points to verify that the data is syntactically and semantically correct i.e., the structure of the data being transmitted across the systems and the data being transmitted across the systems should remain consistent. The basic validation would involve verifying that all the above order details remain consistent throughout the Order life-cycle and should be verified in the backend system for correctness.
Order XML File is imported from order processing from the backend system should be verified that it is valid and remains consistent throughout the order life-cycle. The Order XML File is the only medium by which the order details transmit from the backend system to the Order management System; thus a vital area of testing would involve validation of the XML File versus the backend system.
It would take close to 4 weeks of manual testing effort considering the volume of testing necessary to execute a complete End-to-End test-suite; but Aspire Systems’ automated testing tool, DCqaf(Digital Commerce quality automation framework)offers extensive configurable components offering flexibility, supports several third-party integrations to allow seamless delivery.
Automation Solutions provided by DCqaf would provide cost-effective and shorter End-to-End Test Cycles with a combination of Continuous Integrations thereby providing a robust test automation strategy for retailers to keep up with constant innovations.
- Things to consider when writing end-to-end test cases in DW automation - May 28, 2018
- Top 3 Test Automation Challenges in eCommerce - May 31, 2017