Integration testing infrastructure
Why
Integration testing helps us find regressions and test our code from top to
bottom, testing all parts of the stack. It's automated QA, and our properties
are very user exposed, so browser testing helps us.
Current situation
Tests run on master a couple times a day. Emails are sent to the mailing list.
Really flaky and a lot of noise. Developers don't pay much attention since it's
really hard to diagnose what is really broken and when did it broke.
Stakeholders regularly see failures without clear action being taken.
Objectives
Continuously run browser tests on every patch submitted on development. The
test run will notify in the patch that introduces the code if the tests passed
or not with the log.
- Set up and document testing environment(s).
- Set up and document patch triggers.
- Set up and document test running, logging and submitting results.
- Set up email reporting patches that broke the tests and where merged before the report came back.
- Expose the instance log and dashboard.
Estimated work
2 sprints ~ 50%