Testing is an incredibly time-consuming but essential step that has to be done in order to deliver reliable software.
Using modern tools for automated end-to-end testing helps to greatly reduce the amount of time the quality assurance team has to spend on repetitive tasks like checking the usual user flows. The time saved can be used to focus on doing manual testing in more specific user flows and interactions that are not easy to program with AI or automated testing tools.
We are using a test framework called Cypress to test each new change in the code so that we can ensure that nothing is broken and that the Ocean Builders admin dashboard is behaving correctly.
Cypress allows you to define and sort interactions with your web app and to build full end-to-end user flows to be tested. This includes logging in a user and playing around with different elements of the admin dashboard until achieving a specific goal.
When Cypress is integrated as part of the CI/CD setup there is a batch of scenarios that are tested automatically with each commit of code that we add to our GitHub repo. This gives us a very smooth deployment process and allows us to do quality assurance. Manual testing is then done in our staging environment which is as similar as possible to the production environment.
In the video below you can watch a demo of how Cypress runs a short battery of tests on the admin dashboard. (Apologies about the audio quality, some of us are not well experienced or equipped for audio recording yet)