2. AGENDA OF THE DISCUSSION
•
•
•
•
•
•
•
•
•
•
•
•
•
What is Performance Testing
Goals of Performance Testing
Importance of Performance Testing
Types of Performance Testing
Pre-requisites of Performance Testing
Performance Management
Performance Testing Cycle
Performance Testing Activities
Performance Symptoms and Issus
Typical Order of Fixes
Challenges with Performance Testing
Performance Testing Best Practices
Difference Between Performance Testing and Performance
Engineering
3. WHAT IS PERFORMANCE
TESTING??
• Non-Functional testing to determine the
system responsiveness, stability, reliability
and scalability
4. PERFORMANCE TESTING GOALS
• Access production readiness
• Compare two platform to compare which performs
better
• Compare performance characteristics of system
configurations
• Evaluate system against performance criteria
• Discover what parts of the application perform
poorly and under what conditions
• Finding the source of performance problems
• Support system tuning
5. IMPORTANCE OF
PERFORMANCE TESTING
• Most users click away after 8 seconds of delay
• $4.4 billion business revenue loss due to poor web
applications performance
• Failure of US Based Airlines computerized system to
maintain flight plans in Nov 2009
• Aberdeen found that inadequate performance could
impact revenue by up to 9%
• Business performance begins to suffer at 5.1
seconds of delay in response times of web
applications and 3.9 for critical applications
6. IMPORTANCE OF
PERFORMANCE TESTING
• An additional second of waiting on a website
significantly impact customer satisfaction and visitor
conversions
• Page viewers, conversions rate and customer
satisfaction drops 11%, 7% and 16% respectively
10. PRE-REQUISITES OF
PERFORMANCE TESTING
• Stable build free from all major functional defects
• Performance testing environment similar to
production environment
• No other testing should be performed while
Performance testing
• Conduct Performance testing before going live
• Complete understanding and knowledge of the
application
13. REACTIVE APPROACH
• Performance Testing after the System Testing
• Advantages
• Cost effective
• Disadvantages
• Difficult to resolve the performance bottlenecks after the
complete development
• Defect removal cost will exponentially increase
• Whole system can be useless
15. CORE PERFORMANCE TESTING
ACTIVITIES
Identify Test Environment
Identify Performance Acceptance Criteria
Plan and Design Tests
Configure Test Environment
Implement Test Design
Execute Tests
Analyze, Report and Retest
16. PERFORMANCE TESTING
ACTIVITIES
• Identify Test Environment: Performance test environment should be exact
replica of production environment
• Identify Performance Acceptance Criteria: Identification of performance
testing matrices and acceptable value of each matrix
• Plan and Design Test: Identification of user test scenarios based on their
importance, frequency and performance impact
• Configure Test Environment: Test environment setup as identified at first
step
• Implement Test Design: Scripting of user scenarios with the help of a
performance testing tool
• Execute Tests: Execution of scripted user scenarios against different user
sets with different configurations
• Analyze, Report and Retest: Analyze the executed tests results with
identified matrices, report results to stake holders and Retest if tests were not
passed in previous iteration
17. PERFORMANCE
SYMPTOMS AND ISSUES
Symptoms of Web Application
Performance Problems
Database Problems
Web Server Problems
Application Server problems
Network Problems
18. WEB APPLICATIONS
PERFORMANCE
PROBLEMS
•
•
•
•
•
•
•
•
•
•
Long user response time
Memory leaks
High CPU usage
Too many open connections
Length queues for requests
Too many table scans of
database
Database deadlocks
Erroneous data returned
HTTP errors
Pages not available
23. TYPICAL ORDER OF FIXES
Improve current application
design (Algorithms, caching, DB
calls, memory use)
Upgrade hardware (RAM, CPU,
network bandwidth)
Upgrade software infrastructure
(OS, web server, database)
Upgrade system architecture (Client-server
to basic n-tier, software and hardware
changes, Use hardware load balancing /SSL
24. CHALLENGES WITH
PERFORMANCE TESTING
•
•
•
•
•
•
•
•
•
•
Infrastructure Setup
Collection and Analysis of Huge Data
Identifying the Problem Root cause
Team effort required (Product vendors, Architects, Developers,
Testers, Database administrators, Network administrators)
Accuracy of results
Client involvement
Testing inside the firewall
Multidimensional applications (web, SAAS, mobile etc.)
Testing on Live Server
Expensive
25. PERFORMANCE TESTING
BEST PRACTICES
• Use Ramp up approach
• Repeat the tests 2-3 times to confirm the results
• Run tests at different times
• Run individual tests before combining them in a
single test