SlideShare a Scribd company logo
Best Practices & Tips For
Applications Performance
Testing
Bhaskara Reddy Sannapureddy, Senior Project Manager @Infosys, +91-7702577769
What is Application Performance
Testing? - Introduction
 Proper performance testing will help determine if a system meets certain acceptable criteria for both
responsiveness and robustness while under reasonable load. Although responsiveness varies—it
could be the reaction time to user input or the amount of latency between server request/response
cycles—it’s typically something that can be measured directly.
 Robustness also varies by system, but it typically translates into a measurement of stability,
scalability, and overall system reliability.
 Instead of dealing with the subjective, a successful approach to performance testing involves precise
plans and well-thought-out goals.
 Start by defining test plans that include load testing, stress testing, endurance testing, availability
testing, configuration testing, and isolation testing. Couple these plans with precise metrics in terms of
goals, acceptable measurements thresholds, and a plan to deal with performance issues for the best
results.
 This should include measurements such as average response time over predefined timeframes,
graphs of standard deviation, absolute timings, average latency, and request/response outliers,
among others.
Best Practices
1. Test Early and Often
Performance testing is often an afterthought, performed in haste late in the development cycle, or only
in response to user complaints. Instead, take an agile approach using iterative based testing throughout
the entire development lifecycle. The agile methodology has become popular due to the advantages of
frequent iteration, the involvement of all stakeholders, and the continuous course of corrections it
provides. The advantages compound when you take a continuous testing approach, involving more
than development, which takes us to the second and related performance testing best practice.
2. Take a DevOps Approach
Soon after the lean movement inspired agile, IT organizations saw the need to unify development and
IT operations activities. The result is the DevOps approach, where developers and IT work together to
define, build, and deploy software as a team. Just as agile organizations often embrace a continuous,
test-driven development process, DevOps should include developers, IT operations, and testers
working together to build, deploy, tune and configure applicable systems, and execute performance
tests against the end-product as a team.
Best Practices
3. Consider Users, Not Just Servers
Performance tests often focus on the results of servers and clusters running
software. Don’t forget that real people use software, and that performance tests
should measure the human element as well. For instance, measuring the
performance of clustered servers may return satisfactory results, but users on a
single overloaded or troubled server may experience an unsatisfactory result.
Instead, tests should include the per-user experience of performance, and user
interface timings should be captured systematically in conjunction with server
metrics.
To illustrate, if only one percent of one million request/response cycles are latent, ten
thousand people—an alarming number—will have experienced poor performance
with your application. Driving your performance testing from the single user point of
view helps you understand what each user of your system will experience before it’s
an issue.
Best Practices
4. Understand Performance Test Definitions
It’s crucial to have a common definition for the types of performance tests that should
be executed against your applications, such as:
• Single User Tests. Testing with one active user yields the best possible
performance, and response times can be used for baseline measurements.
• Load Tests. Understand the behavior of the system under average load, including
the expected number of concurrent users performing a specific number of
transactions within an average hour. Perform common tests with added system load,
additional concurrent users, and so on. Measure system capacity, and know the true
maximum load of the system while it still meets performance goals.
• Peak Load Tests. Understand system behavior under the heaviest usage
anticipated for concurrent number of users and transaction rates.
• Endurance (Soak) Tests. Determine the longevity of components, and if the
system can sustain average to peak load over a predefined duration. Memory
utilization should be monitored to detect potential leaks. The testing will also ensure
that throughput and response times after sustained activity continue to meet
performance goals.
Best Practices
• Stress Tests. Understand the upper limits of capacity within the
system by purposely pushing it to its breaking point. This helps to
determine the system’s robustness in terms of extreme load
and helps identify both potential scalability issues and breaking
points.
• High Availability Tests. Validate how the system behaves during
a failure condition while under load. There are many operational
use cases that should be included, such as:
 Seamless failover of network equipment, hardware,
application servers, and databases
 Rolling server restarts
 Loss of a server within a cluster
Best Practices
 Seamless addition and removal of nodes
 Seamless patch or upgrade of software and firmware
where applicable
 System functionality and performance during a server
failover before it happens in production
 The impact of network bandwidth variation, such as during
a communications link failure
• Configuration/Tuning Tests. Assess the effect of changing
system parameters or software versions. A reasonable goal is to
maintain 80 percent to 85 percent optimal performance during, for
example, an application server upgrade.
Best Practices
• Isolation Tests. Measure the performance of typical silo
components, such as service oriented architecture (SOA)
systems, user interfaces, and legacy systems. Include
virtualization-based testing for web services, REST services,
message-oriented middleware solutions, and others, where the
actual systems need not be included in the tests.
Best Practices
5. Build a Complete Performance Model
Measuring your application’s performance includes understanding
your system’s capacity. This includes planning what the steady
state will be in terms of concurrent users, simultaneous
requests, average user sessions, and server utilization during
peak periods of the day. Additionally, you should define
performance goals, such as maximum response times, system
scalability, user satisfaction marks, acceptable performance
metrics, and maximum capacity for all of these metrics.
It’s crucial to define related thresholds that will alert you to
potential performance issues as you pass those thresholds.
Multiple thresholds need to be defined with increasing levels of
risk.
Best Practices
 The associated levels of alerts can be used not only to define a
response to a potentially escalating performance problem, but also
help you work with DevOps to further tune the environment and
refine your production system monitoring. True to the agile approach,
capacity planning and measurement creates a feedback loop that
improves both your application’s performance and your monitoring
and measurement of that performance.
 An effective planning processing includes the definition of success
criteria, such as:
 Key Performance Indicators (KPI), including average latency,
request/response times, and server utilization
 Business Process Completion Rate, including transactions per
second, and system throughput load profiles for average, peak, and
spike tests
 Hardware metrics, including CPU usage, memory usage, and
network traffic
Best Practices
6. Include Performance Testing in Development Unit Tests
Waiting until a system is mostly built or complete to run performance
tests can make it harder to isolate where problems exist. It’s often
more costly to correct performance issues later in the development
process, and more risky to make changes if functional testing has
already been completed.
As a result, developers should include performance testing as part
of their unit tests, in addition to dedicated performance testing.
There’s a significant difference in the testing approaches, as unit
testing often focuses on sections of code, not just application
functionality or the integrated system. This means developers will be
intimately involved with the performance of their code throughout the
development process, and everyone will have a leg up on knowing
how to monitor individual components for issues in production.
Best Practices
7. Define Baselines for Important System Functions
In most cases, QA systems don’t match production systems.
Having baseline performance measurements of each system
can give you reasonable goals for each environment used for
testing. They specifically provide an important starting point for
response time goals where there are no previous metrics,
without having to guess or base them on other applications.
Baseline performance tests and measurements, such as single-
user login time, the request/response time for individual screens
and so on, should occur with no system load.
Best Practices
8. Perform Modular and System Performance Tests
Modern applications are composed of many individual complex
systems, including databases, application servers, web services,
legacy systems, and so on. All of these systems need to be
performance tested individually and together. This helps expose
the weak links, learn which systems adversely affect others, and
understand which systems to isolate for further
performance tuning.
Best Practices
9. Measure Averages, but Include Outliers
When testing performance, you need to know average response
time, but this measurement can be misleading by itself. For example,
if you strictly measure the average response time for your application
at less than five seconds, and this is within target, your related
performance tests will pass. However, some of those responses may
have been at or well beyond five seconds, leading to a poor
experience for those affected users. Be sure to include other metrics
such as 90th percentile or standard deviation to get a better view of
system performance.
Best Practices
KPIs can be measured by looking at the average and standard
deviations. For example, set a performance goal at the average
response time plus one standard deviation beyond it. In many
systems, this improved measurement affects the pass/fail criteria of
the test, matching the actual user experience more accurately.
Transactions with a high standard deviation can be tuned to reduce
system response time variability and improve overall user
experience.
Best Practices
10. Consistently Report and Analyze the Results
Performance test design and execution are important, but test reports
are important as well. Reports communicate the results of your
application’s behavior to everyone within your organization, and can
even serve as bragging rights for project owners and developers.
Analyzing and reporting results consistently also helps to define
attack plans for fixes. Remember to consider your audience, since
reports for developers should differ from reports sent to project
owners, managers, corporate executives, and even customers if
applicable. With each report, note obvious software changes made
(enhancements, bug fixes, and so on) as well as any other changes
tested (third-party software upgrades, changes to environment,
hardware, and so on).
Tips to Avoid
In addition to following a set of best practices for performance testing,
there are common mistakes to avoid. These include:
Not allowing enough time. Build time into the schedule up front.
Throwing software “over the wall.”
Keep developers involved by including performance in unit testing
efforts.
Using a QA system that differs greatly from production in terms of
size, configuration, and/or underlying hardware.
Insufficient software tuning.
Failing to define a troubleshooting plan. This includes having known
responses to performance issues, and production run books for error
or failover situations.
Takeaways
 The best practices for performance testing include proper
definition and planning, scheduling time upfront, remaining agile
in your approach, testing early and often, getting as much of the
organization involved as possible, testing all components
together and separately end-to-end, considering failure
scenarios, measuring thoroughly, and reporting results properly.
 Additionally, remember to avoid throwing software “over the wall”
to a separate testing organization, and ensure that your QA
platforms match production as closely as possible.
 As with any profession, your efforts are only as good as the tools
you use. Be sure to include a mix of manual and automated
testing across all systems.
THANK YOU

More Related Content

What's hot

Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeterBhojan Rajan
 
Performance testing
Performance testingPerformance testing
Performance testing
Jyoti Babbar
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
Mykola Kovsh
 
Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement Gathering
Atul Pant
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testingsonukalpana
 
Performance testing presentation
Performance testing presentationPerformance testing presentation
Performance testing presentation
Belatrix Software
 
Performance testing and reporting with JMeter
Performance testing and reporting with JMeterPerformance testing and reporting with JMeter
Performance testing and reporting with JMeter
jvSlideshare
 
Selenium Automation Testing Interview Questions And Answers
Selenium Automation Testing Interview Questions And AnswersSelenium Automation Testing Interview Questions And Answers
Selenium Automation Testing Interview Questions And Answers
Ajit Jadhav
 
Load testing with J meter
Load testing with J meterLoad testing with J meter
Load testing with J meter
Manoj Shankaramanchi
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance TestingAtul Pant
 
Load Testing with k6 framework
Load Testing with k6 frameworkLoad Testing with k6 framework
Load Testing with k6 framework
Svetlin Nakov
 
Data Driven Testing
Data Driven TestingData Driven Testing
Data Driven TestingMaveryx
 
Window Desktop Application Testing
Window Desktop Application TestingWindow Desktop Application Testing
Window Desktop Application Testing
Trupti Jethva
 
Stlc ppt
Stlc pptStlc ppt
Stlc ppt
Bhavik Modi
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
SWAAM Tech
 
Apache jMeter
Apache jMeterApache jMeter
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
Tharinda Liyanage
 
Testing check list
Testing check listTesting check list
Testing check listAtul Pant
 
Presentation on Apache Jmeter
Presentation on Apache JmeterPresentation on Apache Jmeter
Presentation on Apache Jmeter
Sabitri Gaire
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka
Edureka!
 

What's hot (20)

Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
 
Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement Gathering
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
 
Performance testing presentation
Performance testing presentationPerformance testing presentation
Performance testing presentation
 
Performance testing and reporting with JMeter
Performance testing and reporting with JMeterPerformance testing and reporting with JMeter
Performance testing and reporting with JMeter
 
Selenium Automation Testing Interview Questions And Answers
Selenium Automation Testing Interview Questions And AnswersSelenium Automation Testing Interview Questions And Answers
Selenium Automation Testing Interview Questions And Answers
 
Load testing with J meter
Load testing with J meterLoad testing with J meter
Load testing with J meter
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
 
Load Testing with k6 framework
Load Testing with k6 frameworkLoad Testing with k6 framework
Load Testing with k6 framework
 
Data Driven Testing
Data Driven TestingData Driven Testing
Data Driven Testing
 
Window Desktop Application Testing
Window Desktop Application TestingWindow Desktop Application Testing
Window Desktop Application Testing
 
Stlc ppt
Stlc pptStlc ppt
Stlc ppt
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
 
Apache jMeter
Apache jMeterApache jMeter
Apache jMeter
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Testing check list
Testing check listTesting check list
Testing check list
 
Presentation on Apache Jmeter
Presentation on Apache JmeterPresentation on Apache Jmeter
Presentation on Apache Jmeter
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka
 

Similar to Best Practices for Applications Performance Testing

Performance testing methodologies
Performance testing methodologiesPerformance testing methodologies
Performance testing methodologiesDhanunjay Rasamala
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabad
shaikmadarbi3zen
 
Performance Testing Training in Hyderabad
Performance Testing Training in HyderabadPerformance Testing Training in Hyderabad
Performance Testing Training in Hyderabad
rajasrichalamala3zen
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabad
aparna3zen
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabad
madhupriya3zen
 
Performance Testing.3zen.pdf
Performance Testing.3zen.pdfPerformance Testing.3zen.pdf
Performance Testing.3zen.pdf
swathi3zen
 
System testing
System testingSystem testing
System testing
Abdullah-Al- Mahmud
 
Non Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar MohanNon Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar MohanSampath kumar Mohan
 
Non-Functional testing
Non-Functional testingNon-Functional testing
Non-Functional testing
Kanoah
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1
Suresh Mishra
 
Testing throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & ImplementationTesting throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & Implementation
yogi syafrialdi
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Modelsnazeer pasha
 
Testing throughout the software life cycle (test levels)
Testing throughout the software life cycle (test levels)Testing throughout the software life cycle (test levels)
Testing throughout the software life cycle (test levels)
tyas setyo
 
Implementing a testing strategy
Implementing a testing strategyImplementing a testing strategy
Implementing a testing strategy
Daniel Giraldo
 
Chapter 1 - Basic Concepts
Chapter 1 - Basic ConceptsChapter 1 - Basic Concepts
Chapter 1 - Basic Concepts
Neeraj Kumar Singh
 
System testing
System testingSystem testing
System testing
Sifat Hossain
 
Mastering performance testing_ a comprehensive guide to optimizing applicatio...
Mastering performance testing_ a comprehensive guide to optimizing applicatio...Mastering performance testing_ a comprehensive guide to optimizing applicatio...
Mastering performance testing_ a comprehensive guide to optimizing applicatio...
kalichargn70th171
 
Performance testing Web Application - A complete Guide
Performance testing Web Application - A complete GuidePerformance testing Web Application - A complete Guide
Performance testing Web Application - A complete Guide
TestingXperts
 
Performance testing interview questions and answers
Performance testing interview questions and answersPerformance testing interview questions and answers
Performance testing interview questions and answers
Garuda Trainings
 
Software Testing Company in India.pptx
Software Testing Company in India.pptxSoftware Testing Company in India.pptx
Software Testing Company in India.pptx
SakshiPatel82
 

Similar to Best Practices for Applications Performance Testing (20)

Performance testing methodologies
Performance testing methodologiesPerformance testing methodologies
Performance testing methodologies
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabad
 
Performance Testing Training in Hyderabad
Performance Testing Training in HyderabadPerformance Testing Training in Hyderabad
Performance Testing Training in Hyderabad
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabad
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabad
 
Performance Testing.3zen.pdf
Performance Testing.3zen.pdfPerformance Testing.3zen.pdf
Performance Testing.3zen.pdf
 
System testing
System testingSystem testing
System testing
 
Non Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar MohanNon Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar Mohan
 
Non-Functional testing
Non-Functional testingNon-Functional testing
Non-Functional testing
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1
 
Testing throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & ImplementationTesting throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & Implementation
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 
Testing throughout the software life cycle (test levels)
Testing throughout the software life cycle (test levels)Testing throughout the software life cycle (test levels)
Testing throughout the software life cycle (test levels)
 
Implementing a testing strategy
Implementing a testing strategyImplementing a testing strategy
Implementing a testing strategy
 
Chapter 1 - Basic Concepts
Chapter 1 - Basic ConceptsChapter 1 - Basic Concepts
Chapter 1 - Basic Concepts
 
System testing
System testingSystem testing
System testing
 
Mastering performance testing_ a comprehensive guide to optimizing applicatio...
Mastering performance testing_ a comprehensive guide to optimizing applicatio...Mastering performance testing_ a comprehensive guide to optimizing applicatio...
Mastering performance testing_ a comprehensive guide to optimizing applicatio...
 
Performance testing Web Application - A complete Guide
Performance testing Web Application - A complete GuidePerformance testing Web Application - A complete Guide
Performance testing Web Application - A complete Guide
 
Performance testing interview questions and answers
Performance testing interview questions and answersPerformance testing interview questions and answers
Performance testing interview questions and answers
 
Software Testing Company in India.pptx
Software Testing Company in India.pptxSoftware Testing Company in India.pptx
Software Testing Company in India.pptx
 

More from Bhaskara Reddy Sannapureddy

CapEx vs OpEx for IT & Cloud
CapEx vs OpEx for IT & CloudCapEx vs OpEx for IT & Cloud
CapEx vs OpEx for IT & Cloud
Bhaskara Reddy Sannapureddy
 
PMP COST FORMULAE
PMP COST FORMULAEPMP COST FORMULAE
PMP COST FORMULAE
Bhaskara Reddy Sannapureddy
 
Smart CRM through Smart Internet of Things
Smart CRM through Smart Internet of ThingsSmart CRM through Smart Internet of Things
Smart CRM through Smart Internet of Things
Bhaskara Reddy Sannapureddy
 
Oracle Apps - Forms
Oracle Apps - FormsOracle Apps - Forms
Oracle Apps - Forms
Bhaskara Reddy Sannapureddy
 
Groovyscriptingformanualandautomationtestingusingrobotframework 141221014703-...
Groovyscriptingformanualandautomationtestingusingrobotframework 141221014703-...Groovyscriptingformanualandautomationtestingusingrobotframework 141221014703-...
Groovyscriptingformanualandautomationtestingusingrobotframework 141221014703-...
Bhaskara Reddy Sannapureddy
 
Oracle Service Cloud(Rightnow) Integration with EBS and JIRA
Oracle Service Cloud(Rightnow) Integration with EBS and JIRAOracle Service Cloud(Rightnow) Integration with EBS and JIRA
Oracle Service Cloud(Rightnow) Integration with EBS and JIRA
Bhaskara Reddy Sannapureddy
 
Cloud computing and Order Management As A Service (OMAAS)
Cloud computing and Order Management As A Service (OMAAS)Cloud computing and Order Management As A Service (OMAAS)
Cloud computing and Order Management As A Service (OMAAS)
Bhaskara Reddy Sannapureddy
 
What is Cloud DBMS?
What is Cloud DBMS?What is Cloud DBMS?
What is Cloud DBMS?
Bhaskara Reddy Sannapureddy
 
Oracle_Sales_Presales_Fusion CRM_RightNow_OPA_Certificates
Oracle_Sales_Presales_Fusion CRM_RightNow_OPA_CertificatesOracle_Sales_Presales_Fusion CRM_RightNow_OPA_Certificates
Oracle_Sales_Presales_Fusion CRM_RightNow_OPA_CertificatesBhaskara Reddy Sannapureddy
 
Healthcare Cloud Solutions
Healthcare Cloud SolutionsHealthcare Cloud Solutions
Healthcare Cloud Solutions
Bhaskara Reddy Sannapureddy
 
Eloqua Integration with CRM and Oracle Sales Cloud
Eloqua Integration with CRM and Oracle Sales CloudEloqua Integration with CRM and Oracle Sales Cloud
Eloqua Integration with CRM and Oracle Sales Cloud
Bhaskara Reddy Sannapureddy
 
Groovy scripting for manual and automation testing (Using Robot Framework)
Groovy scripting for manual and automation testing (Using Robot Framework)Groovy scripting for manual and automation testing (Using Robot Framework)
Groovy scripting for manual and automation testing (Using Robot Framework)
Bhaskara Reddy Sannapureddy
 
BIG DATA and USE CASES
BIG DATA and USE CASESBIG DATA and USE CASES
BIG DATA and USE CASES
Bhaskara Reddy Sannapureddy
 
Seven Steps to Better Customer Experience Management (CEM)
Seven Steps to Better Customer Experience Management (CEM)Seven Steps to Better Customer Experience Management (CEM)
Seven Steps to Better Customer Experience Management (CEM)
Bhaskara Reddy Sannapureddy
 
What is Machine Learning
What is Machine LearningWhat is Machine Learning
What is Machine Learning
Bhaskara Reddy Sannapureddy
 
What is Graph Database
What is Graph DatabaseWhat is Graph Database
What is Graph Database
Bhaskara Reddy Sannapureddy
 
Predictive Analytics using R
Predictive Analytics using RPredictive Analytics using R
Predictive Analytics using R
Bhaskara Reddy Sannapureddy
 
What is Customer Experience Management (CEM)
What is Customer Experience Management (CEM)What is Customer Experience Management (CEM)
What is Customer Experience Management (CEM)
Bhaskara Reddy Sannapureddy
 

More from Bhaskara Reddy Sannapureddy (20)

CapEx vs OpEx for IT & Cloud
CapEx vs OpEx for IT & CloudCapEx vs OpEx for IT & Cloud
CapEx vs OpEx for IT & Cloud
 
PMP COST FORMULAE
PMP COST FORMULAEPMP COST FORMULAE
PMP COST FORMULAE
 
Smart CRM through Smart Internet of Things
Smart CRM through Smart Internet of ThingsSmart CRM through Smart Internet of Things
Smart CRM through Smart Internet of Things
 
Oracle Apps - Forms
Oracle Apps - FormsOracle Apps - Forms
Oracle Apps - Forms
 
Groovyscriptingformanualandautomationtestingusingrobotframework 141221014703-...
Groovyscriptingformanualandautomationtestingusingrobotframework 141221014703-...Groovyscriptingformanualandautomationtestingusingrobotframework 141221014703-...
Groovyscriptingformanualandautomationtestingusingrobotframework 141221014703-...
 
R vs python
R vs pythonR vs python
R vs python
 
Oracle Service Cloud(Rightnow) Integration with EBS and JIRA
Oracle Service Cloud(Rightnow) Integration with EBS and JIRAOracle Service Cloud(Rightnow) Integration with EBS and JIRA
Oracle Service Cloud(Rightnow) Integration with EBS and JIRA
 
Cloud computing and Order Management As A Service (OMAAS)
Cloud computing and Order Management As A Service (OMAAS)Cloud computing and Order Management As A Service (OMAAS)
Cloud computing and Order Management As A Service (OMAAS)
 
What is Cloud DBMS?
What is Cloud DBMS?What is Cloud DBMS?
What is Cloud DBMS?
 
Oracle_Sales_Presales_Fusion CRM_RightNow_OPA_Certificates
Oracle_Sales_Presales_Fusion CRM_RightNow_OPA_CertificatesOracle_Sales_Presales_Fusion CRM_RightNow_OPA_Certificates
Oracle_Sales_Presales_Fusion CRM_RightNow_OPA_Certificates
 
Healthcare cloud solutions
Healthcare cloud solutionsHealthcare cloud solutions
Healthcare cloud solutions
 
Healthcare Cloud Solutions
Healthcare Cloud SolutionsHealthcare Cloud Solutions
Healthcare Cloud Solutions
 
Eloqua Integration with CRM and Oracle Sales Cloud
Eloqua Integration with CRM and Oracle Sales CloudEloqua Integration with CRM and Oracle Sales Cloud
Eloqua Integration with CRM and Oracle Sales Cloud
 
Groovy scripting for manual and automation testing (Using Robot Framework)
Groovy scripting for manual and automation testing (Using Robot Framework)Groovy scripting for manual and automation testing (Using Robot Framework)
Groovy scripting for manual and automation testing (Using Robot Framework)
 
BIG DATA and USE CASES
BIG DATA and USE CASESBIG DATA and USE CASES
BIG DATA and USE CASES
 
Seven Steps to Better Customer Experience Management (CEM)
Seven Steps to Better Customer Experience Management (CEM)Seven Steps to Better Customer Experience Management (CEM)
Seven Steps to Better Customer Experience Management (CEM)
 
What is Machine Learning
What is Machine LearningWhat is Machine Learning
What is Machine Learning
 
What is Graph Database
What is Graph DatabaseWhat is Graph Database
What is Graph Database
 
Predictive Analytics using R
Predictive Analytics using RPredictive Analytics using R
Predictive Analytics using R
 
What is Customer Experience Management (CEM)
What is Customer Experience Management (CEM)What is Customer Experience Management (CEM)
What is Customer Experience Management (CEM)
 

Recently uploaded

A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 

Recently uploaded (20)

A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 

Best Practices for Applications Performance Testing

  • 1. Best Practices & Tips For Applications Performance Testing Bhaskara Reddy Sannapureddy, Senior Project Manager @Infosys, +91-7702577769
  • 2. What is Application Performance Testing? - Introduction  Proper performance testing will help determine if a system meets certain acceptable criteria for both responsiveness and robustness while under reasonable load. Although responsiveness varies—it could be the reaction time to user input or the amount of latency between server request/response cycles—it’s typically something that can be measured directly.  Robustness also varies by system, but it typically translates into a measurement of stability, scalability, and overall system reliability.  Instead of dealing with the subjective, a successful approach to performance testing involves precise plans and well-thought-out goals.  Start by defining test plans that include load testing, stress testing, endurance testing, availability testing, configuration testing, and isolation testing. Couple these plans with precise metrics in terms of goals, acceptable measurements thresholds, and a plan to deal with performance issues for the best results.  This should include measurements such as average response time over predefined timeframes, graphs of standard deviation, absolute timings, average latency, and request/response outliers, among others.
  • 3. Best Practices 1. Test Early and Often Performance testing is often an afterthought, performed in haste late in the development cycle, or only in response to user complaints. Instead, take an agile approach using iterative based testing throughout the entire development lifecycle. The agile methodology has become popular due to the advantages of frequent iteration, the involvement of all stakeholders, and the continuous course of corrections it provides. The advantages compound when you take a continuous testing approach, involving more than development, which takes us to the second and related performance testing best practice. 2. Take a DevOps Approach Soon after the lean movement inspired agile, IT organizations saw the need to unify development and IT operations activities. The result is the DevOps approach, where developers and IT work together to define, build, and deploy software as a team. Just as agile organizations often embrace a continuous, test-driven development process, DevOps should include developers, IT operations, and testers working together to build, deploy, tune and configure applicable systems, and execute performance tests against the end-product as a team.
  • 4. Best Practices 3. Consider Users, Not Just Servers Performance tests often focus on the results of servers and clusters running software. Don’t forget that real people use software, and that performance tests should measure the human element as well. For instance, measuring the performance of clustered servers may return satisfactory results, but users on a single overloaded or troubled server may experience an unsatisfactory result. Instead, tests should include the per-user experience of performance, and user interface timings should be captured systematically in conjunction with server metrics. To illustrate, if only one percent of one million request/response cycles are latent, ten thousand people—an alarming number—will have experienced poor performance with your application. Driving your performance testing from the single user point of view helps you understand what each user of your system will experience before it’s an issue.
  • 5. Best Practices 4. Understand Performance Test Definitions It’s crucial to have a common definition for the types of performance tests that should be executed against your applications, such as: • Single User Tests. Testing with one active user yields the best possible performance, and response times can be used for baseline measurements. • Load Tests. Understand the behavior of the system under average load, including the expected number of concurrent users performing a specific number of transactions within an average hour. Perform common tests with added system load, additional concurrent users, and so on. Measure system capacity, and know the true maximum load of the system while it still meets performance goals. • Peak Load Tests. Understand system behavior under the heaviest usage anticipated for concurrent number of users and transaction rates. • Endurance (Soak) Tests. Determine the longevity of components, and if the system can sustain average to peak load over a predefined duration. Memory utilization should be monitored to detect potential leaks. The testing will also ensure that throughput and response times after sustained activity continue to meet performance goals.
  • 6. Best Practices • Stress Tests. Understand the upper limits of capacity within the system by purposely pushing it to its breaking point. This helps to determine the system’s robustness in terms of extreme load and helps identify both potential scalability issues and breaking points. • High Availability Tests. Validate how the system behaves during a failure condition while under load. There are many operational use cases that should be included, such as:  Seamless failover of network equipment, hardware, application servers, and databases  Rolling server restarts  Loss of a server within a cluster
  • 7. Best Practices  Seamless addition and removal of nodes  Seamless patch or upgrade of software and firmware where applicable  System functionality and performance during a server failover before it happens in production  The impact of network bandwidth variation, such as during a communications link failure • Configuration/Tuning Tests. Assess the effect of changing system parameters or software versions. A reasonable goal is to maintain 80 percent to 85 percent optimal performance during, for example, an application server upgrade.
  • 8. Best Practices • Isolation Tests. Measure the performance of typical silo components, such as service oriented architecture (SOA) systems, user interfaces, and legacy systems. Include virtualization-based testing for web services, REST services, message-oriented middleware solutions, and others, where the actual systems need not be included in the tests.
  • 9. Best Practices 5. Build a Complete Performance Model Measuring your application’s performance includes understanding your system’s capacity. This includes planning what the steady state will be in terms of concurrent users, simultaneous requests, average user sessions, and server utilization during peak periods of the day. Additionally, you should define performance goals, such as maximum response times, system scalability, user satisfaction marks, acceptable performance metrics, and maximum capacity for all of these metrics. It’s crucial to define related thresholds that will alert you to potential performance issues as you pass those thresholds. Multiple thresholds need to be defined with increasing levels of risk.
  • 10. Best Practices  The associated levels of alerts can be used not only to define a response to a potentially escalating performance problem, but also help you work with DevOps to further tune the environment and refine your production system monitoring. True to the agile approach, capacity planning and measurement creates a feedback loop that improves both your application’s performance and your monitoring and measurement of that performance.  An effective planning processing includes the definition of success criteria, such as:  Key Performance Indicators (KPI), including average latency, request/response times, and server utilization  Business Process Completion Rate, including transactions per second, and system throughput load profiles for average, peak, and spike tests  Hardware metrics, including CPU usage, memory usage, and network traffic
  • 11. Best Practices 6. Include Performance Testing in Development Unit Tests Waiting until a system is mostly built or complete to run performance tests can make it harder to isolate where problems exist. It’s often more costly to correct performance issues later in the development process, and more risky to make changes if functional testing has already been completed. As a result, developers should include performance testing as part of their unit tests, in addition to dedicated performance testing. There’s a significant difference in the testing approaches, as unit testing often focuses on sections of code, not just application functionality or the integrated system. This means developers will be intimately involved with the performance of their code throughout the development process, and everyone will have a leg up on knowing how to monitor individual components for issues in production.
  • 12. Best Practices 7. Define Baselines for Important System Functions In most cases, QA systems don’t match production systems. Having baseline performance measurements of each system can give you reasonable goals for each environment used for testing. They specifically provide an important starting point for response time goals where there are no previous metrics, without having to guess or base them on other applications. Baseline performance tests and measurements, such as single- user login time, the request/response time for individual screens and so on, should occur with no system load.
  • 13. Best Practices 8. Perform Modular and System Performance Tests Modern applications are composed of many individual complex systems, including databases, application servers, web services, legacy systems, and so on. All of these systems need to be performance tested individually and together. This helps expose the weak links, learn which systems adversely affect others, and understand which systems to isolate for further performance tuning.
  • 14. Best Practices 9. Measure Averages, but Include Outliers When testing performance, you need to know average response time, but this measurement can be misleading by itself. For example, if you strictly measure the average response time for your application at less than five seconds, and this is within target, your related performance tests will pass. However, some of those responses may have been at or well beyond five seconds, leading to a poor experience for those affected users. Be sure to include other metrics such as 90th percentile or standard deviation to get a better view of system performance.
  • 15. Best Practices KPIs can be measured by looking at the average and standard deviations. For example, set a performance goal at the average response time plus one standard deviation beyond it. In many systems, this improved measurement affects the pass/fail criteria of the test, matching the actual user experience more accurately. Transactions with a high standard deviation can be tuned to reduce system response time variability and improve overall user experience.
  • 16. Best Practices 10. Consistently Report and Analyze the Results Performance test design and execution are important, but test reports are important as well. Reports communicate the results of your application’s behavior to everyone within your organization, and can even serve as bragging rights for project owners and developers. Analyzing and reporting results consistently also helps to define attack plans for fixes. Remember to consider your audience, since reports for developers should differ from reports sent to project owners, managers, corporate executives, and even customers if applicable. With each report, note obvious software changes made (enhancements, bug fixes, and so on) as well as any other changes tested (third-party software upgrades, changes to environment, hardware, and so on).
  • 17. Tips to Avoid In addition to following a set of best practices for performance testing, there are common mistakes to avoid. These include: Not allowing enough time. Build time into the schedule up front. Throwing software “over the wall.” Keep developers involved by including performance in unit testing efforts. Using a QA system that differs greatly from production in terms of size, configuration, and/or underlying hardware. Insufficient software tuning. Failing to define a troubleshooting plan. This includes having known responses to performance issues, and production run books for error or failover situations.
  • 18. Takeaways  The best practices for performance testing include proper definition and planning, scheduling time upfront, remaining agile in your approach, testing early and often, getting as much of the organization involved as possible, testing all components together and separately end-to-end, considering failure scenarios, measuring thoroughly, and reporting results properly.  Additionally, remember to avoid throwing software “over the wall” to a separate testing organization, and ensure that your QA platforms match production as closely as possible.  As with any profession, your efforts are only as good as the tools you use. Be sure to include a mix of manual and automated testing across all systems.