One challenge in maintaining a complex system like the Claimant Experience Pilot is allowing for quick changes, without putting the quality and stability of the website at risk. One solution is to implement automated, real-time (or near real-time) quality feedback mechanisms. The Claimant Experience Pilot application has the following automated processes in place to safeguard quality. Note that all tools mentioned are open source/free to use.
- Unit tests of our front-end code with Jest.
- Unit tests of our backend code with the Python unittest module.
- End-to-end tests of our entire application using Cypress.
- Automated accessibility testing within our end-to-end tests using pa11y
- Performance testing within our end-to-end tests using Lighthouse CI.
- Requiring at least 90% of our code be covered by tests.
A continuous integration server runs our quality checks whenever we want to merge code into our main development branch. If any of these quality checks fail, our code can't be pushed to production. With these checks in place, we can move quickly and with confidence.
Give the Claimant Experience Pilot source code to your engineers so they can see a reference implementation of the automated quality tests.