Performance Testing is carried out to verify that the application’s response time is appropriate and not degraded with increase in the load for the current and the forecasted requirements. Performance Testing monitors the performance of the various components of the applications on the Client and Server by simulating the desired load using virtual users. They are different tools used to generate the Virtual users in certain pattern and tools to monitor the Client and Server Components of the Application. Performance is critical across all levels of business as stated below.
Application Faster response timesSupport for increasing number of usersStability on wide range of workload patternsError-free executions
Infrastructure CPU and memory usage below pre-configured levelsImproved disk read /write activityOptimum network utilization
Management Higher ROILower running costsBetter customer satisfaction by catering to increasing business demand
Performance Testing Types
The different types of Performance Testing is carried to meet certain performance objectives and they are
Load Test – To determine the scalability of the application under real world scenarios
Stress Test – To determine the breaking point of the server
Volume Test – To test the performance of the application at high volumes of data
Endurance Test/ Soak Test -To determine the stability of the application by executing the load test for an extended period of time
Spike Test -To determine whether the application sustains sudden increase in load during abnormal conditions
Performance Testing Methodology
Novature Tech follows a standard and proven Performance Testing Methodology. Performance Testing Methodology defines 5 different phases namely Requirements Analysis Phase, Test Plan phase, Test Design phase, Test Scripting Phase, Test Execution phase and Delivery. The below diagram clearly depicts the key activities that are carried out across the phases.
We have a well-defined Questionnaire that would help our Client to document the Performance Testing requirement if the Performance Testing requirements are not Cleary defined in the Requirement documents.
Tools – We have expertise on different Performance Testing and Monitoring tools but our focus is on Open Source tools like Jmeter to reduce the cost of Performance Testing. We help our Clients to migrate to Jmeter from Licensed tools like Load Runner or Performance Center. Some of the Tools we use are. Performance Testing – Apache JMeter, Load Runner, WebLoad, BlazeMeterPerformance Monitoring Tools – Perfmon, Jconsole, Visual VM
Performance Test Metrics
Performance Test Metrics is very crucial for different stake holders to identify the root cause of the Performance issue and resolve the issue. It also helps the management team to take informed decisions. Novature Tech measures and reports the below mentioned statistics irrespective on the type of Performance Testing Carried out.
Client Side Statistics Running VusersHits per secondThroughputHTTP status codeHTTP responses per secondPages downloaded per secondTransaction response timePage Component breakdown timeComponent size analysisError statisticsTotal successful / failed transactions
Server Side Statistics System resources CPU, memory, disk i/oWeb server resources Threads, cache hit ratioApplication server resources Heap size, JDBC connection pool Database server resources Wait events, SQL queriesTransaction profiling
Network Parameter Bandwidth utilizationNetwork delay timeNetwork segment delay time