We attempt to ensure quality by testing on our supported browsers during development of new features, running all code changes through code review, executing automated tests as part of our continuous integration test suite, collecting and following up on production bug reports via crash catch logs and user complaints
We support the latest versions of all evergreen browsers: Chrome on desktop and mobile, Safari on desktop and mobile, Edge on desktop, Firefox on desktop.
We also still test on IE11
Using progressive enhancement patterns to make sure that features can fail gracefully is helpful when there are bugs or we want to utilize features not supported by older browsers.
Any code change will be made as a pull request, all engineers on the team are invited to review the update so we can keep up to date with the codebase, spot bugs and learn from each other.
We have automated end to end tests that run on every pull request. These interact with the site using a headless browser engine so they can check that pages have rendered completely and that client side code like google analytics events triggered on user clicks are firign.
We follow the error tracking method specified by philip walton which sends error reports to google analytics. This helps by collecting error reports in an existing location and prevents us from having to install and deliver a separate error tracking library.
Per page user feedback is available at the bottom of every page. We have live views of this available for review by the editorial content team and filter the reports by page assignment. We receive quite a bit of user feedback on every url every day, user pain points are identified and addressed.