%%
date:: [[2021-03-30]], [[2020-09-12]], [[2023-05-09]]
parent::
%%
# [[Production-like environment]]
The main [[Entry Criteria]] for performance testing is that the environment is production-like.
A "production-like" test environment is an instance of the application servers that is integrated, functional, and as similar to the instance used in production. This type of environment is in contrast to most testing environments that are used for more isolated testing, such as unit testing, system testing, or system integration testing.
Performance testing in particular requires a production-like environment because the goal of performance testing is to make conclusions about how the application will behave in production, and deviations of the test instance from the production one are likely to significantly affect those conclusions.
A performance testing environment should be production-like in these ways:
- Size and configuration of servers (including CPU, memory, network)
- Integration of application servers among themselves
- Code build
- Type and quantity of [[Test Data]]
Ways in which performance testing environments may not be strictly production-like:
- Integrations to other systems, especially third-party services or internal ones out of the scope of testing
- The exact test data used will (and, in many cases, should not) be the same as in production.
-