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
- 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 data and client actions have occurred in production and reflect realistic production conditions.
- 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.
- You can test a wider range of conditions than those that have occurred in production.
- 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 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.
- 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 DiffusionData 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 client requests to Diffusion are real.
- You do not need to create tools to record and playback or to simulate production traffic.
- 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 DiffusionData 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. DiffusionData provides Professional Services that can work with you to create these tools. Email [email protected] for more information.