Skip to main content

Ecommerce Testing | Shopify Store - Testing an ecommerce platform

· 10 min read
Divya Manohar
Co-Founder and CEO, DevAssure

Shopify is an ecommerce platform that allows users to create, customise and manage their online stores. It consists of inbuilt tools that assist with product listings, inventory management, managing payment gateways and more. In summary, it's an all in one platform for building and maintaining online stores.

Testing Shopify apps is similar to testing any ecommerce platform. In this blog, we will focus on designing, creating and automating test cases for a Shopify app.

What is E-commerce Testing?

E-commerce testing involves evaluating an e-commerce application across multiple factors, including UI/UX design, functionality, accessibility, and integrations like SMS and email notifications. When selecting an e-commerce testing tool, it's crucial to consider aspects such as implementation time, setup time, and overall efficiency to ensure seamless and effective testing.

Why is Ecommerce Testing Important?

Testing any application is crucial, a high quality application depicts product maturity which in turn helps generating revenue. With ecommerce or Shopify applications, it's all the more important because the whole revenue depends on the data validity, content and layout of the application. And for this, ecommerce testing plays an important role. Furthermore, Ecommerce testing is just not restricted to UI/UX. APIs, database, performance, accessibility, 3rd party integrations, asynchronous operations need to be validated.

Some of the Key Components of a Shopify Store Include -

  1. Web App (Admin and customer facing)
  2. Mobile App
  3. Payment gateway APIs
  4. Integration with 3rd party systems
  5. Monitoring infrastructure
  6. Services for product listings
  7. Services for inventory management

So end to end use cases would involve testing various scenarios across these different components. This plays a huge factor in ecommerce testing.

Test Case Template

Here's a sample test case template that could be used for creating test cases and perform seamless ecommerce testing.

ecommerce test case template

Testing Types for a Shopify Application (Ecommerce Store)

The following testing types are required to ensure that the Shopify store is of high quality -

  1. Functional testing
  2. UI / UX Testing
  3. Accessibility
  4. Performance testing
  5. Security testing
  6. Email testing
  7. Localization testing
  8. Edge cases
  9. Backward compatibility testing

Functional Testing

Test cases need to be added to validate the functionality of all the components across different pages across multiple browsers and devices.

  1. Validate sign ups and sign ins - Validate admin and customer account creation flows. Validate SSO logins (if available) like Google sign in.
  2. Validate page redirects - If the customer is not already logged in, validate if the users are being redirected to the sign in page post the checkout page.
  3. Validate menu items and other navigation links - Write test cases to validate if clicking on the menu items navigate the user to the appropriate components or pages. Based on the data from inventory management, validate if the right categories and subcategories are being displayed.
  4. Validate multiple pages across the application - Test cases need to be written for multiple pages like Product Listing Page, Item Page, Cart Page, Checkout Page, Payments Page, Order Confirmation Page
  5. Validate data associated with the pages, specifically item listing page - Test cases need to be written if the correct images are being rendered, transition between the images, and the right product details like title, description, amount, quantity and any promotional offers are being displayed. This will require API calls or Database queries to be executed to validate the data integrity.
  6. Validate payment gateway - Validate transactions through multiple gateways. Shopify has "Bogus Gateway" that helps to test the payments without the transactions actually going through.
  7. Validate if PII information being shared by the customers are being saved in the right databases.

UI / UX Testing

For ecommerce platforms customers will access the application across multiple browsers, OS, and devices. Its important to test the respective ecommerce application across all the latest platforms.

  1. Cross browser compatibility - Validate if the pages, modals, menu items, navigation bars, images and content are being rendered correctly across browsers. The CSS should be validated against the mockups. The experience should be the same for all browsers.
  2. Cross platform compatibility - Besides browsers, it's important to validate the compatibility of the application across multiple platforms like MACOS and windows and also devices. If its mobile application test cases should be written to validate the app across multiple devices. If it's only a web based application then it's important to validate the compatibility across mobile web browsers as well.
  3. Usability testing - Besides validating the UX against the mock ups, QA engineers should also focus on validating the usability, discoverability and the intuitiveness of the application.

Accessibility

The goal here is to ensure that people with visual, auditory, motor, or cognitive impairments can use the application.

  1. Validate if all the WCAG guidelines are addressed - The Web Content Accessibility Guidelines (WCAG) are a set of recommendations for making web content more accessible to people with a wide range of disabilities.
  2. Validate the application using a screen reader - Test if the screen reader is able to read all the content and interpret the images and other forms of content on the application.
  3. Validate navigating the application using voice over or using the keyboard - like pressing the tab key to access all the links and buttons on the application.
  4. Validate the colour contrast ratio across the application.

Performance Testing

Performance of an application is measured based on how much time it takes for the web pages to load, how much time will the user have to wait after a certain action has been performed. Poor performance leads to poor customer experience, which leads to a loss in revenue - more because of customer churns.

  1. Validate the load time of the application
  2. Create a simulation where 1000 users access the application at the same time and measure the response time of the APIs and the web pages.
  3. Dump huge amounts of data in the database and validate the query response times, especially where search operations are involved.
  4. Simulate requests simultaneously and measure the performance of the application.

Security Testing

In an ecommerce application, since the data collected from the users like email, address, phone number is PII information - it's important to validate if the data is being stored securely. Additionally the web application needs to go through pen test, vulnerability scanning. This will help prevent issues like executing scripts in any form, which could potentially cause data leakage.

Email and SMS testing

In an ecommerce application a lot of the engagements with the users happens through email and SMS notifications. Users of an ecommerce platform rely heavily on such notifications to track the status of their orders. As part of end-to-end testing of the ecommerce platform it is important to test the complete lifecycle of the user on the platform which includes testing the notifications. Additionally tests need to be carried out on how the application behaves if the email server is down or if the APIs triggering the emails are not functioning as expected.

Localization Testing

For a global presence, generally ecommerce websites (like ebay and Amazon), support rendering the content in the website in the language specific to the location where the content is being rendered. Since different languages have different content lengths, it's important to validate the UX rendering for different languages as supported by the application. Additionally, localized symbols like INR, USD, EUROS etc should also be taken into consideration specifically because its an ecommerce application that deals with transactional data. Similarly, how and where the website is being hosted should also be tested. This also plays an important factor in ecommerce testing.

Edge Cases

Besides the generic cases there are a lot of edge test cases that need to be covered for any ecommerce application. Here are some examples -

  1. Bringing down the the dependent services like payments, and validate how the application responds
  2. Validate cases around failed transactions
  3. Reload, refresh, closing the browser while accessing the payment gateway
  4. Validating scenarios where the catalogue is being updated while users are browsing the catalogue

Backward Compatibility Testing

Because ecommerce applications have a lot of integrations with 3rd party services and dependent services, it's important to test for backward compatibility when any of these services get updated. This is specifically the case for mobile applications - While testing new versions, it's important to validate that the application and the services are functional with previous and the latest release. Test cases need to be identified to ensure that users do not face any data loss when service or application updates happen.

How can DevAssure help in Performing Ecommerce Testing?

Here’s How DevAssure’s AI powered Test Platform can help with ecommerce testing - Creating test cases and creating the test automation framework.

AI Powered Test Case Generation from Design files

DevAssure provides the ability to generate test cases from any one of the following content types -

  1. Figma Mockups, prototypes
  2. Screenshots of the application rendered
  3. Wire frames
  4. PRDs
  5. User Acceptance Criteria
  6. Epics
  7. User Stories
  8. Swagger docs
  9. Use case diagrams

The test cases are generated from the Design documents which is the source of truth for any application.

All the image and textual content are transformed into test cases. Some of the key aspects of the test cases include

  • Adding prioritisation based on the feature specs
  • Tags for ease of test case maintenance and classification
  • End to end use cases are identified
  • Regression test cases are identified
  • All possible feature test cases are identified including the corner cases

AI Test case generation

DevAssure's Intelligent Test Automation Platform

Some of the key benefits of DevAssure's Test Automation Platform include

  1. Low code test automation platform for API, Web Apps and Mobile Apps
  2. Unified platform for all different types of testing
  3. Interleave functional and non functional tests and validations within the same test case
  4. Intelligent locator generators enabling 99.999 % stability of UI automation

No code test automation platform DevAssure

With DevAssure's recorder actions like Hover can also be captured. Most of the menu items in an ecommerce application work on Hover.

DevAssure's recorder follows the page object model and creates the elements with its locators in the appropriate pages. Back up locators are also generated to ensure test stability.

DevAssure Page Object Model and Locators

Here's a breakdown of the various steps that can be added as part of the no code test automation platform.

Interacting with the elements with actions like click and input -

DevAssure no code solution for open, click and input

Extract steps as functions to be reused across multiple test cases -

DevAssure modularity - Functions

Hover on an element -

DevAssure - Hover on an element

Element validations -

DevAssure element validations - no code automation - 1

DevAssure element validations - no code automation - 2

Database Validations -

DevAssure - low code Database validation

Call an API and validate -

DevAssure API validations

Trace network logs and validate the response -

DevAssure trace and validate network logs

Visually compare pages across multiple release cycles - Visual Regression -

DevAssure no code for Visual Testing

Save and handle confidential data like passwords -

DevAssure - maintain secrets

Before and After Test hooks to set up and delete data after execution in a local environment -

DevAssure Before and After test hooks

To experience how DevAssure simplifies test automation, sign up for a free trial.


Furthermore, to have a personalized demo on how the DevAssure test automation platform can leverage your Organization's testing capabilities, please click the button to request a demo session with our team of experts.