blog

Let's talk about testing

Web testing with Cucumber for ecommerce applications

Since starting spriteCloud we have been setting up test automation suites for our clients using the frameworks Cucumber and Selenium webdriver. We notice that more and more ecommerce companies also show interest in test automation and particularly this test setup.

When we look at the functionality of ecommerce sites in general, we see that every ecommerce application has roughly the same functionality. This typically includes:

  • Shopping basket
  • My account
  • Language/Locale selection
  • Checkout
  • Product list (‘catalogue’) pages
  • Product detail pages
  • Newsletter signup
  • Search

When setting up test automation, we want to have a very clear goal defined for both individual test cases and critical functionality/features. With respect to the list of functions above, the goal for each is roughly the same for each ecommerce site we review. For example, shopping basket functionality can be described as a feature like this:

Feature: Shopping basket
  As a visitor of the ecommerce website
  I want to have a shopping basket
  So that I can see the products and costs of what I want to purchase

Best practice for Cucumber scenarios is to describe behaviour rather than actions. When we apply this to a specific shopping basket test scenario, we get this:

  Scenario: basket01 - Opening the shopping basket
    Given I have added an item to my shopping bag
    When I click the shopping bag icon
    Then I land on the shopping bag page
    And I can see the product in my shopping basket
 
  Scenario: basket02 - Adding a product to basket
    Given I am on a product detail page
    When I select the size/colour/quantity
    And I click the add to basket button
    Then the product is added to my shopping basket

This shopping basket scenario is valid for most ecommerce sites. When we look at the other features we have listed, we find we can describe a standard set of Cucumber test cases for each function which are valid for most ecommerce websites. We have created this ecommerce test suite written in Gherkin and it can can be found here:

For convenience, a small portion of this test suite has been automated for a well known ecommerce site. We have set it up in a way that one test scenario is environment, browser and locale/language independent. The scenario will, for example, be able to run in the Firefox browser on a staging environment in the English language, while at the same time work for a Dutch website on the test environment with the Chrome browser.

We hope you find this interesting!


Comments are closed.

Reputation. Meet spriteCloud

Find out today why startups, SMBs, enterprises, brands, digital agencies, e-commerce, and mobile clients turn to spriteCloud to help improve their customer experiences. And their reputation. With complete range of QA services, we provide a full service that includes test planning, functional testing, test automation, performance testing, consultancy, mobile testing, and security testing. We even have a test lab — open to all our clients to use — with a full range of devices and platforms.

Discover how our process can boost your reputation.