Page MenuHomePhabricator

Create integration tests for portal (to prevent regressions with A/B testing)
Closed, ResolvedPublic6 Estimated Story Points

Description

As we make changes and implement A/B tests on the wikipedia.org portal, it's important to create tests to prevent regressions. Initially, integration tests will be created for event-logging across each section of the page and for each A/B testing scenario. Integration tests will also be created for new features as necessary.

Integration (end-to-end) Testing Framework
Integration tests will be decoupled from the implementation and carried out by a headless webkit browser (phantomjs).
The casperjs testing & navigation framework will be used to simulate user interaction on the page, and tests will pass or fail based on the expected outcomes of these interactions. Tests will be carried out on the development version of the page, so that event-logging events are not passed to the production servers.

Some integration tests that are common across each A/B test include:

  • making sure an event-logging 'landing' event is sent on page load.
  • an event-logging 'click-through' event is sent when a user clicks on a link.
  • search form works when clicking the submit button or pressing enter.
  • an event-logging event is sent when the search form is submitted.

limitations
Integration testing is not cross-browser testing. Cross browser testing will be done manually either in browserstack, on local machines and devices, or through virtual machines.

Event Timeline

Jdrewniak claimed this task.
Jdrewniak raised the priority of this task from to Needs Triage.
Jdrewniak updated the task description. (Show Details)
Jdrewniak subscribed.
Jdrewniak set Security to None.
Jdrewniak edited a custom field.

Change 267077 had a related patch set uploaded (by Jdrewniak):
Adding Integration test to verify event-logging on wikipedia.org portal.

https://gerrit.wikimedia.org/r/267077

debt renamed this task from Create tests for portal to Create integration tests for portal (to prevent regressions with A/B testing).Feb 2 2016, 11:44 PM

Change 267077 merged by jenkins-bot:
Adding Integration test to verify event-logging on wikipedia.org portal. Tests are run with casper.js and require phantomjs.

https://gerrit.wikimedia.org/r/267077