Skip to content

Regression testing

Regression testing

When we make wide-ranging changes to the project - eg a change to a well-used Django model or a basic React component, it is useful to run through a regression test checklist to ensure that no unintended changes have been mad as a result of your work.

Some of the regression steps are ones that are enforced by our peer review system, but others are manual and should be undertaken before creating your PR.

The steps below are split into backend and frontend - obviously if you have made no changes on the backend you only need concern yourself with the frontend steps. The reverse is not true however - major backend changes still require the frontend to be regression tested.

Backend steps

  • add a test for your new functionality, if appropriate
  • ensure the test suite runs with no failures
  • populate your dev database with test data (ask if you are unsure how to do this)
  • run update_agg_pct_batch
  • vagrant destroy; vagrant up

Frontend steps

  • ensure you can log in
  • ensure you can create an event in the Account Config section
  • ensure you can see data in these ten reports with no new console errors:

    • reports/dashboard
    • reports/attribution/lc-vs-attribution
    • reports/attribution/atl-reallocation
    • reports/attribution/direct-reallocation
    • reports/attribution/monthly-performance
    • reports/attribution/landing-page-performance
    • reports/channels/seo/keyword-traffic
    • reports/channels/seo/google-trends
    • reports/user-behaviour/journeys/single-customer-view
    • reports/channels/seo/tech-seo/dashboard
  • ensure you can upload a CSV (of your choice) in Accout Config/External Imports