Testing

Ensuring your eCommerce website performs flawlessly.

Magento eCommerce
An array of mobile devices laid out demonstrating websites being used across platforms
An array of mobile devices laid out demonstrating websites being used across platforms

Before your new eCommerce website is signed off, every aspect of it is thoroughly tested. Our skilled developers carry out automated continuous integration tests alongside writing new functionality. This ensures that each feature being built meets its intended purpose and is reliable, stable and compatible with the other features within the site.

User Acceptance

At the centre of the testing regime are user acceptance tests. Acceptance tests are written from your perspective as the website owner, they give you the confidence that the website has the features that you require and that they behave correctly.

The tests are written as simple user stories, which describe the functionality of the site and are designed to show how users would interact with each new feature.

An example user story is:

Feature:

Adding items to the mini cart updates the price.

Scenario:

Adding an item to the mini cart from the product page.

  • Given I am on “product page”
  • When I click on “add to cart”
  • Then the “cart” should be visible
  • And I should see “£1.29” in the “cart total”

Unit Testing

The user stories are used to produce tests which are ran against the website. Each part of the story — the “given”, “when” or “then” — are translated into steps written in code.

In the example, the “Given” tells us that the user is on the “product page” so we must have a step which simulates a user visiting the product page. The “When” is describing the action of the user on the page. The user is adding an item to their cart, so a step must be written to simulate an item being added to the cart. The “Then” step is describing the end result, so a step must check that the cart is visible and the price should be £1.29.

The steps can used for unit tests or integration tests. Unit tests are designed to test specific components of the system in isolation, and integration tests test the system as a whole. Unit tests tell the developers when a component is complete and working correctly. As components are tested and have been shown to be working correctly in isolation they are bought together and tested with integration tests.

We use the following tools to support our testing:

  • Behat
  • PHPUnit
  • Mink
  • Jenkins
  • Selenium

Continuous Integration

As a website is developed, new features are written, tested and integrated. The existing features continue to be tested each time that there is a change to the website, ensuring that new functionality does not introduce any problems with existing features. This continuous integration carries on after the website has gone live as new features are added or existing features are updated.

Performance Testing

Slow site performance consistently ranks highly as an irritation among users. Performance testing is a particular approach to running tests with simulated business scenarios. These tests are executed several times under various technical environments and is designed to identify performance bottlenecks before any real users see them.

Want to discuss a project?

Talk to our Magento experts on 01785 279920

Request a callback