We are a very test-centric company and require everything be exceptionally tested. We currently utilise:

What we strive for

We aim for all our tests to incorporate both successgul and unsuccessful conditions. We do not just want to know if logic works, we need to also ensure, if given the wrong data that it effectively deals with it (defensive programming/testing).

We also focus on Constant Refactoring - which without test confidence isn’t really possible.

Unit Testing

We aim to ensure our unit tests are clean and targeting just a single unit, by using effective mocking and eddicient factories.

Feature Testing

Our feature tests do use the database if required, and should always refresh the database state if they do. Feature tests are generally used to test loading endpoints and side effects of performing actions.

Load Testing

We use load testing to test user facing pages, or updates to existing user facing pages - that could potentially affect the load of the site. This way we know that if we make an update that significantly increases load on our servers, we can take time to improve it.