2018-05-22 Automated / e2e testing notes

Nimisha Asthagiri (Deactivated) Jeremy Bowman (Deactivated) Ari Rizzitano (Deactivated) Bill Filler (Deactivated) George Babey


Current Status: Bokchoy for e2e tests

Contract based testing

  • 2 services that talk to each other where one is a client. Client contributes test for provider to adhere to contract. Provider can't update until client has updated as to not break. 

Pact - library to handle contract based testing. Started in ruby - python & javascript libraries now available

Some codegen for automation of the tests. State of tooling unknown.

Tests live with the provider. Can run on every commit. Responsible for updating clients if you break the contract. Client also required to update the tests if their needs change.

Contact vs propsType

Spike on tooling for generating tests? Try it out with a few endpoints


Snapshotting

React snapshots render to flat file

React Snapshotting + Contract based testing may get us a lot of the functionality that e2e.

  • Snapshotting - covers rendering issues
  • Contact based testing - covers end to end interaction


Browser Tests

Still value in end to end tests - verifies that the test suite isn't buggy.

roughly 1/3 failures of e2e are true issues. Mostly WL or microsites.

Browser automation for smoke tests

In edx-platform there are some tests that test rendering views without bokchoy, parse html and verify markup