LiveCreated forAd Your Service

Automatic test environments

Every change to the platform automatically gets a test environment of its own, so mistakes are tested for before the clients who use the platform are bothered by them.

Role
Designed and built from start to finish
Period
June 2026

What it is

Ad Your Service is an online marketing agency that built a platform of its own for its marketing work, and keeps building on it itself. The team is not the only one working with it: clients use the platform too. Every change therefore has to be tested for bugs and other problems before it goes live, so that clients are not affected. I built a solution that automatically gives every change a test environment of its own, with its own address and its own data, which disappears again once the change is live.

A changeProposed by a colleagueNew filter in the overview
Its own test environmentReady to look at
Address
Own link
Data
Own database
After approval
Cleaned up

What it improves

Look first, then live

The team reviews a change in an environment of its own before it goes live. A mistake shows up before it affects the team or a client.

Its own data per test

Every test environment has a database of its own. What a colleague enters or changes there does not end up in the live platform's data.

Connections tried out first too

A connection with an advertising platform works in a test environment too. A change to a connection can therefore be tested beforehand as well, not only on the live platform.

The problem

BEFORE

A change went live straight away

The platform had no separate place to look at a change. What a change did in practice therefore only became clear on the live platform, among the data the team and the clients work with every day. A mistake could go straight to a client.

Live platformAs a client sees itOverviewPeriodChannelNew filterThe overview could not be loaded.
Message from a clientSince this morning our overview won't load. Could you take a look?

The solution

THE ENVIRONMENT

An environment of its own per change

When a colleague proposes a change, the automation builds the platform with that change separately, at an address of its own. The link is posted with the change, so every reviewer can open the test environment.

New filter in the overviewTest environment readyOpen the test environment

THE DATA

A database of its own for every test

Every test environment gets a database of its own, apart from the live platform's, with a sample client to test with.

The test's databaseNew filter in the overviewExample clientSet upEntered while testingStays here

THE CONNECTIONS

Connections work in a test as well

Connections with advertising platforms such as Google or Meta work in a test environment too. So a change to a connection can also be tested before it goes live.

Test environmentGoogleConnectedMetaConnected

THE CLEAN-UP

After approval the environment disappears

Once a change has been approved or withdrawn, the environment and its data are removed automatically. Nothing is left behind for someone to clean up later.

New filter in the overviewApproved
The test environmentRemoved
The test's dataRemoved

KEPT APART

A test environment has logins of its own

Signing in to a test environment is separate from the live platform. Whoever signs in lands in a separate test workspace automatically, so testing stays apart from the daily work.

Test environmentNew filter in the overviewExample clientTestCampaign with new filter
Live platformClients

How it works

From a proposed change to a change on the live platform: along the way, the change passes through four places.

Team → Automation · A proposed change

A colleague proposes a change

A colleague submits a change to the platform for the team to review. To get a test environment, the colleague has nothing else to do.

Automation → Test environment · An environment of its own

The test environment is built

The automation builds the platform separately with the change, with an address of its own and a database of its own in which a sample client is ready.

Test environment → Team · The link

The link is next to the change

The link to the test environment appears next to the change. If the colleague adjusts the change, the automation updates the environment; what was entered during testing is kept.

Team · Trying it out

The team tries the change

The reviewer opens the link and tries the change with the sample client. That also works for a change to a connection with an advertising platform.

Team → Automation · Approved

The team approves the change

Only an approved change goes live. If the change is withdrawn, the test environment disappears without anything going live.

Automation → Live platform · The approved change

The change goes live

The automation puts the change on the live platform and removes the test environment.

What it runs on

  • CI/CD pipelineBuilds a test environment per change, updates it and cleans it up again.
  • Database per environmentIs apart from the live platform's and disappears with the environment.
  • OAuth connections in a test environmentMakes connections with advertising platforms work in a test environment too.
  • Preview link on the pull requestPuts the link to the test environment where the team discusses the change.

The payoff

Ad Your Service has used it since June 2026. The team reviews every change in a test environment of its own first, so it can keep building on the platform itself without clients being affected by a mistake.

Looking at a changeBeforeOnly once it was liveNowBeforehand, in a test environment of its own
The data when testingBeforeThe live platform'sNowA database of its own per change