- Apr 18, 2018
- admin
- 0
Identification of the Performance Test Environment
1) A SUBSET OF THE PRODUCTION SYSTEM WITH FEWER SERVERS OF LOWER SPECIFICATION
This is a very common test environment preparation approach where performance testing is conducted on an already established test environment regardless of its production environment specification. Although testing in such environment can help you identify some application bottlenecks, however complete application and its infrastructure will never be tested.
2) A SUBSET OF THE PRODUCTION SYSTEM WITH FEWER SERVERS OF SAME SPECIFICATION
This is comparatively a quite better approach where testing is done on smaller application infrastructure but the results can be extrapolated to map them on full application scale. Although this environment produces better results but the post testing bottlenecks can be missed very easily in the extrapolation process.
3) AN EXACT REPLICA OF THE PRODUCTION SYSTEM
This is the most desired test environment which is extremely difficult to achieve due to its complexities and financial constraints but if it is achieved, the test results are 100% guaranteed. Some of the challenges which the performance testing teams face while preparing the exact replica of the live system are:
- Replicating the production servers architecture
- Production system network infrastructure replication
- Replicating all application tiers of the production system
- Replicating the production system network bandwidth
- Replicating the production database with all its dataset
- Some of the system components like the third party services, firewall impact, working of load balancers, application internet connection and DNS lookup time etc cannot be tested on the test environment.
4) TESTING ON PRODUCTION SYSTEM
Another approach which is also largely practiced is to conduct the testing on the production system due to the concerns and complexities of the test systems. Although the best way to validate the system performance is to run the test directly on it, however there are numerous concerns about this approach i.e. the system availability during test execution, its impact on actual users, protection and mixing of test and production data etc but if all these issues are handled successfully then the optimal performance test results can be achieved.
- Furthermore, performance testing on production system should be conducted based on its following advantages:
- Test results validation
- Its cost effective
- Helps in testing the database back-ups and post-crash recovery
- Easier to setup the test infrastructure
- The impact of testing on production system on actual users can be minimized by conducting performance testing during off-hours of off-days (i.e. around mid night during the weekends), during maintenance window, before officially realizing the application and by performing read only operations.
- Tools used in performance testing:
LoadRunner – Storm Runner, JMeter- Blaze meter,RPT,Neo Load, Gatling(SCALA), VSTS,Grinder,LoadComplete,Open STA,WebLoad,SOASTA Cloud etc.
Read more about Performance Testing…