The following list contains examples of issues that may cause test and production environments to behave differently. The impact of these issues should be considered during testing.
-
The hardware installed in the test environment may be older, less powerful, or virtualized differently.
-
Hardware drivers installed in the test and production environments may be on different versions, even if the hardware is identical. Systems have failed in production due to incorrect device drivers installed on production Web Servers, Application Servers, or the Database Server.
-
Differences between operating system versions or patch levels can create additional challenges that weren't noticed in the test environment.
-
Differences such as anti-virus programs, local security policies, etc. may exist between test and production environments. Additionally, IT staff might not install the same software (e.g., monitoring utilities) in both environments. If these differences interfere with the upgrade version software, it may not be discovered in test.
-
ODBC driver versions may be different. ODBC drivers should always match the target database server, and should generally be patched to the latest stable version.
-
Test servers or workstations may be on different domains with different group policy settings, security configurations, and published applications.
-
Other interoperational systems may be in another test environment, and they may be out of sync with the production target.
-
Shared equipment in the test environment may be very different from shared equipment in the production environment, and the impact on other applications in production may not be testable. For example, database I/O impact on other shared systems may be different between the test and production systems, which can lead to issues when the production environment is upgraded.
-
There may be different backup processes implemented, or a lack of backup processes altogether. This fails to address any impact that could occur when the backup is initiated.
-
Supporting technologies such as network equipment and storage appliances differ, and are configured differently. Varying latencies, saturation points, and irregular demands will occur in production.
-
Time-based anomalies with network, system software, and other systems often differ between the production and test environments.