Automated Testing Overview

Learn why we run automated testing for Mobify sites.

The goal of our automated tests is to simulate User Acceptance Tests (UAT) as closely as possible. The conversion flow is one of the important pieces that needs to pass the UAT. Examples of this conversion flow for a Mobify site are checkout and reservation flow.

Refer to the testing triangle graphic.

The Testing Triangle

Layers of Automation Read more about the Layers of Test Automation on the QA Matters site.

The Unit Tests are usually written at a very granular level by developers to test single features that are pending items during development. Toward the top of the pyramid, the tests are less granular in nature and demand a more finished project from end-to-end.

Integration testing can be done at any time. However, we recommend in particular that as you develop views, you also write integration tests to ensure that the desktop site transforms into its mobile version correctly. Integration Testing is most useful during development. It also helps with regression testing during maintenance after a site is completed.

To simulate an end-to-end test, we use Nightwatch.js. This implies that the project that we test is in a fairly complete state. We then step through the site and ensure that the visitor can reach the checkout confirmation page.

These tests need to be automated because there are many repeated page elements that need to be tested each time there is a change to the site. For this task, Mobify has developed a fork from Nightwatch.js with Mobify-specific assertions. These assertions enable us to test Adaptive.js sites easily.

Each time that even an incremental update is made to our site, we test for the checkout flow because it is so critical to the success of the site.

Automated Testing on Components Although Nightwatch.js is meant for end-to-end testing, it is also possible to run tests on components (header, footer), or on pages (product listings, etc).

Read the Integration Testing to ensure that your mobile site has been transformed correctly from desktop. Or read the System Testing Overview to write an automated test to simulate user interaction of your mobile site.

Edit in GitHub