Skip to content

E2E Testing Revamp

Wilson Kurniawan edited this page Jun 9, 2021 · 1 revision
  • Priority: Medium
  • Knowledge required: E2E testing
  • Status: Completed

Prior to V7.0.0, browser-based testing in TEAMMATES is used for all levels of testing: unit, integration, and system testing.

Using browser to run tests is resource-intensive, time-intensive, and inherently unstable due to browser quirks and timing issues. Having too many tests using browser adds up to initial setup time, testing time, and debugging time as compared to testing using lightweight libraries (e.g. TestNG).

With the release of V7.0.0, Jest is introduced as the front-end testing library which can offload many of the front-end tests previously done by the browser-based tests. The only place where browser is necessary for testing is E2E (end-to-end) tests which simulates actual user flow.

New E2E tests should be designed and implemented such that they are truly at E2E level (i.e. testing the system as a whole and covering just enough user flows). More extensive testing which covers more branches and conditions are to be left to lower-level unit and integration tests.