The document discusses the importance of performance testing applications. It notes that 47% of consumers expect a page to load within 2 seconds and 40% will abandon a site that takes over 3 seconds to load. Performance testing is important when high loads are expected, large data volumes are involved, or applications feel sluggish. An example performance testing project is described that aims to support 4000 users with responses under 5 seconds and conduct stress testing. Key aspects of performance testing like load testing, tools, test planning, analysis and best practices are also covered.
3. Some Statistics
47% of consumers expect a web page to load in 2
seconds or less.
40% of people abandon a website that takes more
than 3 seconds to load.
A 1 second delay in page response can result in a 7%
reduction in conversions.
If an e-commerce site is making $100,000 per day, a
1 second page delay could cost $2.5 million in lost
sales a year.
4. Performance Testing is Must When…
High load is expected on application.
Application has large volume of data.
Application is sluggish.
Customer requests it.
5. An Example Project
Scope: Home page, login, search, view profile, edit
profile, article listing, article details, logout.
Goal: To assess that the system is able to support
4000 users with response time less than or equal to 5
seconds.
Additionally, stress testing is to be done to determine
system’s preparedness for high load.
Minimal or no errors during all tests.
6. What is Performance Testing?
Non-functional testing
Performance testing: To validate speed, scalability
and stability.
Load testing: To check application behavior under
normal and peak load.
Stress testing: To evaluate application when it’s
pushed beyond normal conditions.
Special mentions: Volume testing, spike testing,
endurance testing.
8. Performance Testing Approach
Gather requirements.
Prepare a plan.
Select a tool.
Prepare and run your performance script.
Scale your tests if required.
Analyze results and prepare a report.
9. Requirements Gathering
Number of users
Expected response time
Environment and test machines setup
Business critical scenarios to performance test
Test data
10. Preparing Test Plan
Prepare a plan which outlines your performance
testing approach.
Get it reviewed and approved from client.
12. Running and Scaling Tests
Prepare your script and execute it for large number
of users.
Monitor server resource consumption while test is
running.
Use cloud based services like RedLine13 to scale your
performance tests.
13. Analysis and Reporting
Keep target audience in mind while reporting.
Provide detailed analysis based on your observation.
Try to pinpoint performance bottlenecks and suggest
ways to mitigate them.
Provide technical details such as throughput,
resource utilization, test parameters etc.
Report errors if found.
14. Performance Testing Best Practices
Test environment should be identical to production
environment.
Application should be functionally stable.
Monitor server resources consumption.
Try to mimic the real world scenarios.