Вы находитесь на странице: 1из 26

By Sajid Manzoor

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

WHAT IS PERFORMANCE TESTING??


Non-Functional testing to determine the system responsiveness, stability, reliability and scalability

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

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

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

IMPORTANCE OF PERFORMANCE TESTING

TYPES OF
PERFORMANCE TESTING

Load Testing Stress Testing Soak/Endurance Testing Volume/Spike Testing Scalability Testing Configuration Testing

TYPES OF PERFORMANCE TESTING (COND..)

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

CALL CENTER APPLICATION INFRASTRUCTURE EXAMPLE

TYPES OF PERFORMANCE MANAGEMENT


PERFORMANCE MANAGEMENT

Proactive Approach

Reactive Approach

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

PERFORMANCE TESTING CYCLE

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

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

PERFORMANCE SYMPTOMS AND ISSUES


Symptoms of Web Application Performance Problems Database Problems

Web Server Problems

Application Server problems

Network Problems

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

DATABASE PERFORMANCE PROBLEMS

Insufficient Indexing Fragmented Database Out-of-date Statistics Faulty Application Design

WEB SERVER PERFORMANCE PROBLEMS


High CPU Usage Poor Server Design Memory Problems

APPLICATION SERVER PERFORMANCE PROBLEMS


Poor Database Tuning Poor Cache Management Poor Session Management Poor Security Design

NETWORK PERFORMANCE PROBLEMS

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

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

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

info@swaam.com +92-42-35782346 www.Twitter.com/SwaamTech www.FaceBook.com/SwaamTech

Вам также может понравиться