Just a second...

How to create production usage conditions in your test environment

You can create production usage conditions in your test environment by either recording live production usage and playing it back or by simulating production usage.

Recording production conditions

Recording production conditions involves inserting components within your production system to track specific actions. For example:
  • A recording tool upstream of the Diffusion™ server that records the data stream being fed in to Diffusion topics
  • A recording tool at your load balancer to record incoming connections, where they come from, when they connect, and how long they remain connected.

After this data has been captured in production test tools use the data to replay or simulate identical conditions in your test environment.

The record and playback approach has the following advantages:
  • The data and client actions have occurred in production and reflect realistic production conditions.
The record and playback approach has the following disadvantages:
  • You cannot use the recorded data to test conditions that have not occurred in your production environment, but that you might expect to occur.
  • You must have an existing production environment to capture data from.
  • You must develop the tools to capture and store production conditions. Introducing these components to your production system might effect its behavior.
  • You must develop the tools to replay production conditions in your test environment.

Simulating production conditions

Simulating production conditions involves developing tools or test harnesses that generate data or client behavior in your test environment.

The simulation approach has the following advantages:
  • You can test a wider range of conditions than those that have occurred in production.
The simulation approach has the following disadvantages:
  • There is a risk that the simulation might not create realistic production conditions.
  • You must develop the tools to simulate the conditions you want to test.

Using live production data

You can create production conditions in your data by using the same data stream as the production environment uses to feed into your test environment.

The live production data approach has the following advantages:
  • The data stream being fed in to Diffusion is real.
  • You do not need to create tools to record and playback or to simulate production data.
The live production data approach has the following disadvantages:
  • Depending on the type of client information in the production data and your data protection policies and legal requirements, you might not be permitted to use live production data in a test environment.
  • Depending on the type of client information in the production data and your data protection policies and legal requirements, you might not be permitted to send certain diagnostics to Push Technology when requesting support.
  • You must ensure that nothing in your test environment can affect either the production data or the production environment.
  • You must have an existing production environment to use data from.
  • If you want to test specific data conditions, you are restricted to doing so at the times when these conditions occur.

Using live production traffic

You can simulate production conditions in your client traffic by duplicating client requests coming into your live production environment in your test environment and by suppressing the responses made by the test server from reaching the production client.

The live production traffic approach has the following advantages:
  • The client requests to Diffusion are real.
  • You do not need to create tools to record and playback or to simulate production traffic.
The live production traffic approach has the following disadvantages:
  • Depending on the type of client information in the traffic and your data protection policies and legal requirements, you might not be permitted to use live production traffic in a test environment.
  • Depending on the type of client information in the production traffic and your data protection policies and legal requirements, you might not be permitted to send certain diagnostics to Push Technology when requesting support.
  • You must have an existing production environment to use the traffic from.
  • You must ensure that responses from your test environment do not reach the client.
  • Because the responses from the test environment do not reach the production clients, who instead receive responses from the production environment, the behavior does not accurately reflect server-client interactions.
  • If you want to test specific traffic conditions, you are restricted to doing so at the times when these conditions occur.

These techniques can be used separately or together to give the fullest range of test conditions.

Both involve the development of custom tooling to create the required conditions. Push Technology provides Professional Services that can work with you to create these tools. Email [email protected] for more information.