SlideShare a Scribd company logo
An Introduction to
Performance Testing
Richard Bishop
Trust IV Ltd
• This session aims to:
• Explain what performance testing is
….and why it is so important
• Explain performance test terminology
• Help you to understand the performance testing process
Objectives
• The process of executing a procedure or program or system with
the intent of finding errors.
• Should be part of all phases of SDLC.
What is Software Testing?
• Unit testing is the phase of software testing in which individual
units of source code are tested to determine whether they
are fit for use.
• Integration testing is the phase of software testing in
which individual software units are combined and
tested as a group.
• System testing of software or hardware is testing
conducted on a complete, integrated system to
evaluate the system's compliance with its specified
requirements.
Performance testing is appropriate in all of these test phases.
Just doing it at the end of the lifecycle causes problems.
Some Testing definitions

Recommended for you

QA. Load Testing
QA. Load TestingQA. Load Testing
QA. Load Testing

Load testing is done to determine system limits, verify response times under high load, check stability, and predict future needs. Open source tools like JMeter, Yandex Tank, and Taurus can be used. With JMeter, a test plan is created with thread groups, HTTP requests, and listeners to start load testing. Issues like slow responses or server crashes are identified. Short term fixes include restarting servers or tuning configurations, while long term solutions involve moving to the cloud, using caching, or splitting applications into microservices. Other commercial load testing tools are also available from companies like SOASTA and BlazeMeter.

testingloadblazemeter
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing

Performance testing help to establish the scalability, speed, and stability of apps. It includes numerous testing types that simulate user scenarios and analyze app performance. To learn more about performance testing, visit: https://www.kiwiqa.com/load-performance-testing.html

performance testingapp testingsoftware testing
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter

This document provides an agenda and overview for a performance testing training with JMeter. It begins with an introduction to performance testing, including the purpose and types of performance testing. It then covers getting started with JMeter, including installation, setup, and running JMeter. The remainder of the document outlines the content to be covered, including building test plans with JMeter, load and performance testing of websites, parameterization, adding assertions, and best practices. The goal is to teach participants how to use JMeter to perform various types of performance testing of applications and websites.

jmeterperformanceperformance testing best practices
• Functional Testing
• Usually done first, to test application functionality not
performance.
• Very Comprehensive! Tries to cover all aspects of a
system/application.
• Tests at the Presentation Layer or user Interface (UI) level.
• Performance Testing
• Once the application passes functional testing, it is generally
submitted for performance testing
• During this process, the system/application is stressed to see how
well it performs when used by many users simultaneously
• Usually tests at the Protocol or Middleware level although more
modern techniques test at the UI.
Comparing Functional & Performance Testing
Comparing Functional & Performance Testing
Functional Testing Performance Testing
1
Tests the application’s
user interface, usability, and front-end
functionality
Does not test the application’s front-end
functionality
2
Does not test an application’s scalability or
resource usage
Tests an application’s scalability and monitors
resource usage
3
Can not determine how an application/system
will perform over time
Designed to determine how an
application/system will perform over time
4 Does not require a fully-functional application
Requires a fully-functional application for given
scenarios
5 One user Multiple users
• Quantification of risk
• Determine likelihood that application performance will meet the
business SLA’s
• Does not mitigate risk directly, but through identification and
quantification of risk, presents tuning opportunities
• Validation of application infrastructure
• Determine if the deployment environment is adequately sized for
the application to meet business SLA’s.
• Minimize extraneous hardware, software and the associated cost
of ownership
What is the Purpose of a Performance Test?
• How the application's response time changes if you increase
or decrease the number of users/transactions.
• How many users/transactions can simultaneously work with
the application without a perceptible slowdown.
• What load can crash the application.
• How hardware and software changes affect application
performance.
Performance Testing Helps to Determine

Recommended for you

Types of performance testing
Types of performance testingTypes of performance testing
Types of performance testing

Performance testing validates an application's responsiveness, stability, and other quality attributes under various workloads. It involves load testing, stress testing, endurance testing, spike testing, volume testing, availability testing, and scalability testing. The key parameters analyzed are response time, throughput, and memory utilization. Performance testing helps determine an application's speed, scalability, stability, and ability to handle changes in load and traffic over time.

performance testingspike testingperformance testing types
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro

Why performance testing is important? Introduction to performance testing. Load profiles, metrics Performance testing tools Implementation process Performance testing engineer skills JMeter intro LINKS: About performance testing: http://docplayer.net/29696161-Performance-matters-key-consumer-insights.html http://www.softwaretestingclass.com/what-is-performance-testing/ https://www.blazemeter.com/blog http://revolutionit.com.au/performance-testing-digital-projects-dont-leave-it-to-the-developers/ https://www.youtube.com/embed/61Kkgnx-zF8?list=PLSjEh0z5QH9lKpMO4Nf3buFiP7tt0gTRN Concurrent users calculation: https://blog.xceptance.com/2013/07/26/concurrent-users-the-art-of-calculation/ https://techbeacon.com/how-many-virtual-users-do-i-need-load-testing https://www.webperformance.com/library/tutorials/CalculateNumberOfLoadtestUsers/ Browser performance: https://www.slideshare.net/nicjansma/measuring-real-user-performance-in-the-browser Books for start: “Web Load Testing For Dummies”, Scott Barber with Colin Mason “JMeter Cookbook”, Bayo Erinle

performance testingloadperformance
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeter

Presentation is added to know what is performance and required parameter to measure it. How load testing with Jmeter and its elements.

performance testingperformance parameterjmeter
When Should You Consider Performance?
Production phase
What are the reasons
for degradations in
system performance? Deployment phase
Is the system reliable enough
to go into production?
Development phase
Does the system response
time meet SLA requirements?
Planning and Design phase
What is the best configuration to support
1000 users?Forecasting
How many users can
be added without
affecting system
performance?
At Every
Phase!
Why Consider Performance at Every Phase?
Because the cost of fixing software defects is much higher the later
they occur in the software development life cycle
£0
£1,000
£5,000
£125,000
Design Coding Unit Integration System Release to
production
Maintenance
£25,000
Why Performance Matters
0
1
2
3
4
5
6
7
8
9
1999 2003 2006 2009 2012
Acceptable Response Time (s)
“1 second” is the new “4 seconds”
• Validate the application to determine if it fulfills its performance goal or targets
• Identify the point at which the load becomes so great that the application fails
to meet performance requirements
• Determine if the application will support typical (normal) production load
conditions
• Tune the application for maximum performance by identifying the optimal
system configuration
• Reduce hardware / SaaS platform costs
• Locate bottlenecks including those in I/O, server, network, and database
Performance Testing Objectives

Recommended for you

Performance Testing
Performance TestingPerformance Testing
Performance Testing

The document summarizes a training session on performance testing using LoadRunner. It discusses planning load tests, the components of LoadRunner, creating scripts and scenarios, and enhancing scripts. Key points covered include the purpose of different types of tests, goals for performance testing, the workflow of a load test using LoadRunner, and developing scripts using Virtual User Generator.

Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka

** Selenium Certification Training: https://www.edureka.co/testing-with-selenium-webdriver ** This Edureka PPT on Performance Testing Tutorial gives a complete insight on performance testing, its types, and how to do performance testing with the help of JMeter. Below topics are covered in this PPT: 1:07 - Performance Testing Overview 3:03 - Performance Testing Types 3:54 - Performance Testing Problems 6:14 - Performance Testing Process 9:24 - Performance Testing examples 10:33 - Tools of Performance Testing 13:16 - Jmeter Demo Follow us to never miss an update in the future. Instagram: https://www.instagram.com/edureka_learning/ Facebook: https://www.facebook.com/edurekaIN/ Twitter: https://twitter.com/edurekain LinkedIn: https://www.linkedin.com/company/edureka

performance testing using jmeterperformance testing tutorial for beginnersjmeter performance testing tutorial for beginners
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeter

This document discusses performance testing tools and techniques. It defines performance from the perspectives of developers, infrastructure, and end users. Key aspects covered include defining realistic user scenarios, available tools like JMeter, ApacheBench, Gatling and Locust, and the importance of continuous performance testing. The document recommends using the Apdex score as part of your definition of done, specifying good test scenarios, running tests simultaneously, choosing the right tool for your needs, and considering tools like Taurus that enable continuous performance testing.

drupaljmeterperformance
Application infrastructure
Web Servers
App Servers
DB Servers
External Users
Internal Users
Bad SQL
Slow Methods
Capacity limits
Contention Issues
WAN Sensitivity
Slow transactions
Performance Testing helps Identify
Configuration Issues
• Baseline
• Load
• Stress
• Soak
• Isolation
• Configuration
Basic types of Performance Test
http://en.wikipedia.org/wiki/Software_performance_testing
Types of performance test
0
20
40
60
80
100
120
10 30 50 70 90 110 130 150 170 190 210 230 250 270 290
vUsers
Elapsed time
“Normal” Load Profile
Ave load Peak load Typical test
0
20
40
60
80
100
120
10 30 50 70 90 110 130 150 170 190 210 230 250 270 290
vUsers
Elapsed time
“Soak Test” Load Profile
Ave load Peak load Soak test
“Normal” load profile
Common in performance tests
Soak test
Useful for identifying problems
which occur over time
Types of performance test
0
20
40
60
80
100
120
10 30 50 70 90 110 130 150 170 190 210 230 250 270 290
vUsers
Elapsed time
Load Profile
Ave load Peak load Spike test
0
50
100
150
200
250
300
350
10 30 50 70 90 110 130 150 170 190 210 230 250 270 290
vUsers
Elapsed time
Load Profile
Ave load Peak load Break test
“Stress/Break” test
Commonly requested
“Spike” test
Commonly requested

Recommended for you

Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best Practices

Load Testing Best Practices: Application complexity is increasing, yet the stringent requirements for web performance is increasing exponentially. Learn more about the three major types of load testing, determine which you need and how to conduct them.

load testingweb performanceweb application
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter Presentation

Load testing simulates multiple users accessing an application simultaneously to evaluate performance under different load scenarios. There are three main types of load testing: 1. Performance testing gradually increases load to determine the maximum number of users/requests per second an application can handle. 2. Stress testing pushes load beyond normal limits to identify the breaking point and ensure error handling. 3. Soak testing subjects an application to high load over an extended period to check for resource allocation problems, memory leaks, and server overloading. The tool JMeter is commonly used for load testing and allows simulating many users and transactions. It can test HTTP, databases, and other components. Plugins extend its functionality and distributed testing improves load

load testingapachejmeter
Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement Gathering

The document discusses gathering requirements for performance testing an application. It lists questions to ask about the application type and architecture, test environment, workload model, and performance goals. Key information needs include the application technology, database and server used, network details, protocols, user sessions and load over time, and goals for response times and system utilization under load. The requirements gathered will help determine the appropriate performance tests and pass/fail criteria.

performance testingjmeterloadrunner
• 1 user for a set period of time or number of iterations
e.g. to determine pacing / think time
• A test at “normal load” to establish a baseline
for comparison with future tests
e.g. higher load or under different conditions
Baseline Test
Response time – 1 CPU 4GB RAM
Response time – 2 CPU 4GB RAM
• The “Classic” performance test
• Validates the system/application to determine if it meets the performance
targets.
• Provide information that will assist in performance tuning under various
workload conditions, hardware configurations, and database sizes
Load Test
• Helps identify key performance
data such as:
• Capacity
• Latency
• Response time
• Throughput
• Memory Management
SLA
Number of users
ResponseTime
Typically response time increase as virtual user numbers increase
1
10
20
25
10 50 100 200 500 1000 2000
5
15
30
35
40 Response Time
Load Test
• Identifies capacity limits of the system/application or infrastructure
• Identifies potential problems before going live
• Determines whether app can provide acceptable response times and
throughput under extreme conditions
Stress/Break Test
0
50
100
150
200
250
300
350
10 30 50 70 90 110 130 150 170 190 210 230 250 270 290
vUsers
Elapsed time
Load Profile
Ave load Peak load Break test

Recommended for you

Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing

The document discusses performance testing using Apache JMeter. It covers topics like an overview of performance testing, the purpose of performance testing, key types of performance testing like load testing and stress testing. It also discusses pre-requisites of performance testing, the performance testing life cycle, challenges of performance testing and how to record and playback tests using JMeter.

jmeterapache jmeterperformance testing
Jmeter
JmeterJmeter
Jmeter

This document discusses performance testing and tools for performance testing like JMeter. It provides details on how JMeter can be used to perform load testing and performance testing on different protocols. It outlines the steps to build test plans to test the performance of web applications and databases using JMeter including adding users, requests, listeners and more.

Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1

Slides from a session presented by Fadi Stephan from Kaizenko at the 2019 Global Scrum Gathering in Austin, TX on 05/20/2019 DC. Also see the blog series on Agile Testing at https://www.kaizenko.com/agile-testing/ Abstract: Many teams struggle with fitting in testing activities inside of a Sprint. They end up doing primarily development activities in a Sprint and push testing activities to run in dedicated testing Sprints following the coding Sprints or have a coding and testing Sprint running in parallel. However, in Scrum, the output of every Sprint is a potentially shippable product increment. This means the product increment should be well tested within the Sprint and ready to be delivered. Come to this presentation to learn how to tackle testing on an Agile team, what kind of tests to execute, what to automate and what not to automate, the different test responsibilities, and when to run which tests. Leave with a testing strategy that you can start applying the next day to gradually get a team to start testing from day 1 of the Sprint and deliver a true product increment at the end of each Sprint.

agileagile software developmentscrum
• Long Running test, identifies problems over time
– Test usually (not always) involves multiple business transactions
• Measures performance and efficiency of the system
(hardware and software) to:
– determine acceptable performance under load
– identify time-related problems such as memory leaks.
Soak Test
• Repeating a test which was known to cause a fault/defect.
• Used to “home in” on problems revealed by other forms of
performance testing. e.g. deadlocks, problems with specific test data
• May involve repetition of a load, stress or soak test scenario to point of
failure.
• Repeat test whilst changing code / application configuration until defect
can be closed.
Isolation Test
Used to determine optimum settings for configuration items such as:
• Load balancing
• Connection pool allocation
• Web, Mid-tier and Database configuration
• Common in “new build” projects
Configuration Test
Preparation
• Planning & requirements capture
• Determine realistic performance testing goals
• Prepare testing environment
• Prepare test data
• Identify performance testing use cases
• Capture, modify and validate use cases as scripts / scenarios
Performance Testing Process
Execution and Analysis
• Prepare environment / test data
• Execute performance test(s)
• Monitor impact of load on servers/database/networks
• Analyze results
• Submit defects
• System tuning
• Repeat execution and analysis process until
performance testing goals met.

Recommended for you

Performance testing
Performance testingPerformance testing
Performance testing

The document discusses performance testing, which is done to evaluate how a system performs under certain workloads. It aims to determine a system's speed, scalability, stability and other quality attributes. The document outlines different types of performance tests like load testing and stress testing. It explains key performance metrics such as response time, throughput and how performance testing helps improve quality and reduce risks. Overall, performance testing is important to ensure applications meet expectations before release.

important slides
Apache jMeter
Apache jMeterApache jMeter
Apache jMeter

Introduction about jMeter and also shows how to setup jMeter on your system with all type of tests that can be performed using it

apache-jmeterjmeter
Performance testing
Performance testingPerformance testing
Performance testing

The document provides an overview of performance testing, including: - Defining performance testing and comparing it to functional testing - Explaining why performance testing is critical to evaluate a system's scalability, stability, and ability to meet user expectations - Describing common types of performance testing like load, stress, scalability, and endurance testing - Identifying key performance metrics and factors that affect software performance - Outlining the performance testing process from planning to scripting, testing, and result analysis - Introducing common performance testing tools and methodologies - Providing examples of performance test scenarios and best practices for performance testing

performance testingsoftware testingsoftware quality
It is nearly impossible to effectively performance test without automation!
• Manual testing is not manageable!
• Manual testing is not repeatable!
• Manual testing is not accurate!
Automated Testing Tools
Manual Automated

• Performance testing is very difficult without one
• Performance testing without a tool relies on hardware and personnel to
generate load, generally with wildly inaccurate results.
• Without automation the final test reports may be unreliable..
• User responses collected and compiled into a report may contain as
much human error as real data.
• The cost of repeating a 'manual' test is equal to cost of the first test.
When using a performance testing tool, costs go down as you repeat
your tests.
Benefits of an Automated Performance Testing Tool
• Most automated performance testing tools including LoadRunner
have the following components:
• Script Recorder (VuGen)
• Load Injector / Load Generator (Load Agents)
• Test Configuration and Management (Controller)
• Performance Monitor (Controller & other components)
• Analysis
How do Automated Performance Testing Tools Work?
Test Configuration
Client Network
AUT
HTTP
80/443
HTTP
80/443
Listener
443
8080
Controller
LG(s)
HTTP
80/443
LG(s)

Recommended for you

Holiday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness TestingHoliday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness Testing

Best Practices for Successful Holiday Readiness Testing: Are you already thinking of, and planning for Black Friday? Learn which load tests to use and why to load test early and often so that you are prepared for the holidays.

ecommerceblack fridayreadiness
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...

In this Q&A-style webinar, you'll learn: 1. How and why to load test at least three months prior to the holidays 2. How to integrate CI/CD into your holiday load testing 3. How to determine and evaluate load curves

load testingagile performanceholiday readiness
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer

In this presentation we will look at what web performance testing is and the various types of testing that can be performed. We will then dig into Visual Studio 2013 Ultimate to see that the Visual Studio platform is now a real contender in performance testing automation. And we will see how the Visual Studio integration with Visual Studio Online and Azure can take your web performance tests and spin up impressive load tests in a truly useful way.

visual studio onlineload testingweb performance testing
Records end-user activity and generates transaction scripts.
Application Infrastructure
Web Servers
App Servers
DB Servers
End- User
HTTP – XML – SAP
Script Recorder
Script Recorder - VuGen
Generates a realistic application load, based on scripts and test parameters
Application Infrastructure
Web Servers
App Servers
DB Servers
Generated Load
Load Generator aka. Injector
Load Generator
Load Generators can be local or remote
Options to place on AWS, Azure or HP Helion
Can also place on remote sites behind firewalls

Recommended for you

JMeter
JMeterJMeter
JMeter

- JMeter is an open source load testing tool that can test web applications and other services. It uses virtual users to simulate real user load on a system. - JMeter tests are prepared by recording HTTP requests using a proxy server. Tests are organized into thread groups and loops to simulate different user behaviors and loads. - Tests can be made generic by using variables and default values so the same tests can be run against different environments. Assertions are added to validate responses. - Tests are run in non-GUI mode for load testing and can be distributed across multiple machines for high user loads. Test results are analyzed using aggregated graphs and result trees.

Performance Testing
Performance TestingPerformance Testing
Performance Testing

Performance testing is done to determine a system's responsiveness under different loads. It aims to optimize user experience. Types of performance testing include load, stress, soak/endurance, volume, scalability, and spike testing. The goals are to assess production readiness, compare platforms, evaluate configurations, and check against criteria. Pre-requisites include a stable test environment similar to production. The testing process involves establishing baselines and benchmarks, running tests, and analyzing results to identify bottlenecks and decide on fixes. Common issues relate to servers, databases, networks, and applications. Optimization involves improvements, upgrades, and tuning. Challenges include setting up the test environment and analyzing large amounts of test data.

performance testing
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and Tools

These slides is from a session about load testing. It starts with an introduction to non-functional testing then demonstrating the phases and criteria of load testing with K6.

software engineeringload testingk6
• Mimics client behavior:
• Submits multiple requests to the AUT
• Waits for a period of time after the site sends a reply to the
request (think time) then submits a new request
• Can emulate thousands of concurrent users (virtual users) to test the
application scalability
How does a Load Injector work?
• Virtual User (VUs) mimic the behavior of a real user
• A performance test is valid only if a virtual users' behavior has
characteristics similar to those of actual users:
• Follow patterns similar to real users
• Use realistic think times
Test Configuration and Management
Test Controller manages the performance test and “controls” the action of load generators
Application Infrastructure
Web Servers
App Servers
DB Servers
Generated Load
Test
Control
Capture server and network performance metrics
Application Infrastructure
Web Servers
App Servers
DB Servers
Generated Load
Performance Monitor(s)
Performance Monitor(s)

Recommended for you

General Software Tester Training
General Software Tester TrainingGeneral Software Tester Training
General Software Tester Training

The document provides guidance for testers on how to test software effectively. It outlines different types of testing like black box testing, white box testing, and grey box testing. It emphasizes thinking like a user and trying to break the software in testing. The document also discusses test documentation, regression testing, and tips for testing across browsers and operating systems.

Alexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingAlexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance Testing

Since its beginning, the Performance Advisory Council aims to promote engagement between various experts from around the world, to create relevant, value-added content sharing between members. For Neotys, to strengthen our position as a thought leader in load & performance testing. During this event, 12 participants convened in Chamonix (France) exploring several topics on the minds of today’s performance tester such as DevOps, Shift Left/Right, Test Automation, Blockchain and Artificial Intelligence.

QSpiders - Introduction to JMeter
QSpiders - Introduction to JMeterQSpiders - Introduction to JMeter
QSpiders - Introduction to JMeter

Intoduction to performance testing, Throughput, Response time, Tuning, Benchmarking, Performance Testing Process, Load Testing, JMeter

jmeterperformance & load testingload testing
Post-test analysis of results
Application Infrastructure
Web Servers
App Servers
DB Servers
Generated Load
Analyzing
Data
Analysis Module
Analysis Module
Sample Report
Questions / Wrap up
• Want to have a go?
LoadRunner downloads and getting started guide
https://support.trustiv.co.uk/downloads/
• Want to learn more?
http://blog.trustiv.co.uk/
http://www.perfbytes.com/
http://alexanderpodelko.com/blog/
http://mtomlins.blogspot.co.uk/
http://www.developsense.com/
• Get in touch
@richardbishop
@TrustIV
richard.bishop@trustiv.co.uk
+44 (0) 7590 290646

Recommended for you

HP LoadRunner
HP LoadRunnerHP LoadRunner
HP LoadRunner

In this quality assurance training session, you will learn HP LoadRunner. Topics covered in this course are: • Introduction to Performance Testing • Why do performance testing? • Load Testing • Stress Testing • Volume testing • Performance testing tool • Why LoadRunner • Why LoadRunner • LoadRunner Components • LoadRunner Architecture • How LoadRunner Works • LoadRunner load testing process • The script development process in VUGen To know more, visit this link: https://www.mindsmapped.com/courses/quality-assurance/software-testing-quality-assurance-qa-training-with-hands-on-exercises/

qa trainingonline qa trainingquality assurance training
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1

The document introduces performance testing basics and methodology using Oracle Application Testing Suite. It covers types of performance testing like load testing, stress testing, and volume testing. It emphasizes the importance of setting up realistic user scenarios and test scripts. The testing environment should replicate production and use dedicated agent machines to generate load. Performance testing helps identify bottlenecks and determine scalability.

Types of Testing
Types of TestingTypes of Testing
Types of Testing

The document provides information on types of software testing, test strategy and planning, and test estimation techniques. It describes various types of testing including functional, system, end-to-end, load, security, and others. It also discusses test strategy, test planning, and creating test plans. Finally, it outlines several techniques for estimating testing efforts such as best guess, analogies, work breakdown structure, three-point estimation, and function point analysis.

qa trainingquality assurance trainingsoftware testing training

More Related Content

What's hot

Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testing
Qualitest
 
Performance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingPerformance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance Testing
KostCare
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
sharadkjain
 
QA. Load Testing
QA. Load TestingQA. Load Testing
QA. Load Testing
Alex Galkin
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
KiwiQA
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
Prashanth Kumar
 
Types of performance testing
Types of performance testingTypes of performance testing
Types of performance testing
NaveenKumar Namachivayam
 
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 testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeter
Rachappa Bandi
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
sharmaparish
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka
Edureka!
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeter
Mikael Kundert
 
Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best Practices
Apica
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter Presentation
Neill Lima
 
Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement Gathering
Atul Pant
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
Atul Pant
 
Jmeter
JmeterJmeter
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
Kaizenko
 
Performance testing
Performance testingPerformance testing
Performance testing
Ranpreet kaur
 
Apache jMeter
Apache jMeterApache jMeter

What's hot (20)

Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testing
 
Performance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingPerformance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance Testing
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
 
QA. Load Testing
QA. Load TestingQA. Load Testing
QA. Load Testing
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
 
Types of performance testing
Types of performance testingTypes of performance testing
Types of 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 testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeter
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeter
 
Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best Practices
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter Presentation
 
Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement Gathering
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
 
Jmeter
JmeterJmeter
Jmeter
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Apache jMeter
Apache jMeterApache jMeter
Apache jMeter
 

Similar to Introduction to performance testing

Performance testing
Performance testingPerformance testing
Performance testing
Chalana Kahandawala
 
Holiday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness TestingHoliday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness Testing
Apica
 
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...
Apica
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
Andrew Siemer
 
JMeter
JMeterJMeter
Performance Testing
Performance TestingPerformance Testing
Performance Testing
Anu Shaji
 
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and Tools
Muhammad Shehata
 
General Software Tester Training
General Software Tester TrainingGeneral Software Tester Training
General Software Tester Training
Chris Scofield
 
Alexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingAlexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance Testing
Neotys_Partner
 
QSpiders - Introduction to JMeter
QSpiders - Introduction to JMeterQSpiders - Introduction to JMeter
QSpiders - Introduction to JMeter
Qspiders - Software Testing Training Institute
 
HP LoadRunner
HP LoadRunnerHP LoadRunner
HP LoadRunner
Fayis-QA
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1
Suresh Mishra
 
Types of Testing
Types of TestingTypes of Testing
Types of Testing
Murageppa-QA
 
Performance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsPerformance Assurance for Packaged Applications
Performance Assurance for Packaged Applications
Alexander Podelko
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
Bhojan Rajan
 
QA Basics and PM Overview
QA Basics and PM OverviewQA Basics and PM Overview
QA Basics and PM Overview
Ajay Mani Paudel
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
Shivakumara .
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool Overview
ANKUR-BA
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
Sachin-QA
 
Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...
ChithraCegon
 

Similar to Introduction to performance testing (20)

Performance testing
Performance testingPerformance testing
Performance testing
 
Holiday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness TestingHoliday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness Testing
 
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
 
JMeter
JMeterJMeter
JMeter
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and Tools
 
General Software Tester Training
General Software Tester TrainingGeneral Software Tester Training
General Software Tester Training
 
Alexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingAlexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance Testing
 
QSpiders - Introduction to JMeter
QSpiders - Introduction to JMeterQSpiders - Introduction to JMeter
QSpiders - Introduction to JMeter
 
HP LoadRunner
HP LoadRunnerHP LoadRunner
HP LoadRunner
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1
 
Types of Testing
Types of TestingTypes of Testing
Types of Testing
 
Performance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsPerformance Assurance for Packaged Applications
Performance Assurance for Packaged Applications
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 
QA Basics and PM Overview
QA Basics and PM OverviewQA Basics and PM Overview
QA Basics and PM Overview
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool Overview
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...
 

Recently uploaded

What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 

Recently uploaded (20)

What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 

Introduction to performance testing

  • 1. An Introduction to Performance Testing Richard Bishop Trust IV Ltd
  • 2. • This session aims to: • Explain what performance testing is ….and why it is so important • Explain performance test terminology • Help you to understand the performance testing process Objectives
  • 3. • The process of executing a procedure or program or system with the intent of finding errors. • Should be part of all phases of SDLC. What is Software Testing?
  • 4. • Unit testing is the phase of software testing in which individual units of source code are tested to determine whether they are fit for use. • Integration testing is the phase of software testing in which individual software units are combined and tested as a group. • System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. Performance testing is appropriate in all of these test phases. Just doing it at the end of the lifecycle causes problems. Some Testing definitions
  • 5. • Functional Testing • Usually done first, to test application functionality not performance. • Very Comprehensive! Tries to cover all aspects of a system/application. • Tests at the Presentation Layer or user Interface (UI) level. • Performance Testing • Once the application passes functional testing, it is generally submitted for performance testing • During this process, the system/application is stressed to see how well it performs when used by many users simultaneously • Usually tests at the Protocol or Middleware level although more modern techniques test at the UI. Comparing Functional & Performance Testing
  • 6. Comparing Functional & Performance Testing Functional Testing Performance Testing 1 Tests the application’s user interface, usability, and front-end functionality Does not test the application’s front-end functionality 2 Does not test an application’s scalability or resource usage Tests an application’s scalability and monitors resource usage 3 Can not determine how an application/system will perform over time Designed to determine how an application/system will perform over time 4 Does not require a fully-functional application Requires a fully-functional application for given scenarios 5 One user Multiple users
  • 7. • Quantification of risk • Determine likelihood that application performance will meet the business SLA’s • Does not mitigate risk directly, but through identification and quantification of risk, presents tuning opportunities • Validation of application infrastructure • Determine if the deployment environment is adequately sized for the application to meet business SLA’s. • Minimize extraneous hardware, software and the associated cost of ownership What is the Purpose of a Performance Test?
  • 8. • How the application's response time changes if you increase or decrease the number of users/transactions. • How many users/transactions can simultaneously work with the application without a perceptible slowdown. • What load can crash the application. • How hardware and software changes affect application performance. Performance Testing Helps to Determine
  • 9. When Should You Consider Performance? Production phase What are the reasons for degradations in system performance? Deployment phase Is the system reliable enough to go into production? Development phase Does the system response time meet SLA requirements? Planning and Design phase What is the best configuration to support 1000 users?Forecasting How many users can be added without affecting system performance? At Every Phase!
  • 10. Why Consider Performance at Every Phase? Because the cost of fixing software defects is much higher the later they occur in the software development life cycle £0 £1,000 £5,000 £125,000 Design Coding Unit Integration System Release to production Maintenance £25,000
  • 11. Why Performance Matters 0 1 2 3 4 5 6 7 8 9 1999 2003 2006 2009 2012 Acceptable Response Time (s) “1 second” is the new “4 seconds”
  • 12. • Validate the application to determine if it fulfills its performance goal or targets • Identify the point at which the load becomes so great that the application fails to meet performance requirements • Determine if the application will support typical (normal) production load conditions • Tune the application for maximum performance by identifying the optimal system configuration • Reduce hardware / SaaS platform costs • Locate bottlenecks including those in I/O, server, network, and database Performance Testing Objectives
  • 13. Application infrastructure Web Servers App Servers DB Servers External Users Internal Users Bad SQL Slow Methods Capacity limits Contention Issues WAN Sensitivity Slow transactions Performance Testing helps Identify Configuration Issues
  • 14. • Baseline • Load • Stress • Soak • Isolation • Configuration Basic types of Performance Test http://en.wikipedia.org/wiki/Software_performance_testing
  • 15. Types of performance test 0 20 40 60 80 100 120 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 vUsers Elapsed time “Normal” Load Profile Ave load Peak load Typical test 0 20 40 60 80 100 120 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 vUsers Elapsed time “Soak Test” Load Profile Ave load Peak load Soak test “Normal” load profile Common in performance tests Soak test Useful for identifying problems which occur over time
  • 16. Types of performance test 0 20 40 60 80 100 120 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 vUsers Elapsed time Load Profile Ave load Peak load Spike test 0 50 100 150 200 250 300 350 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 vUsers Elapsed time Load Profile Ave load Peak load Break test “Stress/Break” test Commonly requested “Spike” test Commonly requested
  • 17. • 1 user for a set period of time or number of iterations e.g. to determine pacing / think time • A test at “normal load” to establish a baseline for comparison with future tests e.g. higher load or under different conditions Baseline Test Response time – 1 CPU 4GB RAM Response time – 2 CPU 4GB RAM
  • 18. • The “Classic” performance test • Validates the system/application to determine if it meets the performance targets. • Provide information that will assist in performance tuning under various workload conditions, hardware configurations, and database sizes Load Test • Helps identify key performance data such as: • Capacity • Latency • Response time • Throughput • Memory Management
  • 19. SLA Number of users ResponseTime Typically response time increase as virtual user numbers increase 1 10 20 25 10 50 100 200 500 1000 2000 5 15 30 35 40 Response Time Load Test
  • 20. • Identifies capacity limits of the system/application or infrastructure • Identifies potential problems before going live • Determines whether app can provide acceptable response times and throughput under extreme conditions Stress/Break Test 0 50 100 150 200 250 300 350 10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 vUsers Elapsed time Load Profile Ave load Peak load Break test
  • 21. • Long Running test, identifies problems over time – Test usually (not always) involves multiple business transactions • Measures performance and efficiency of the system (hardware and software) to: – determine acceptable performance under load – identify time-related problems such as memory leaks. Soak Test
  • 22. • Repeating a test which was known to cause a fault/defect. • Used to “home in” on problems revealed by other forms of performance testing. e.g. deadlocks, problems with specific test data • May involve repetition of a load, stress or soak test scenario to point of failure. • Repeat test whilst changing code / application configuration until defect can be closed. Isolation Test
  • 23. Used to determine optimum settings for configuration items such as: • Load balancing • Connection pool allocation • Web, Mid-tier and Database configuration • Common in “new build” projects Configuration Test
  • 24. Preparation • Planning & requirements capture • Determine realistic performance testing goals • Prepare testing environment • Prepare test data • Identify performance testing use cases • Capture, modify and validate use cases as scripts / scenarios Performance Testing Process Execution and Analysis • Prepare environment / test data • Execute performance test(s) • Monitor impact of load on servers/database/networks • Analyze results • Submit defects • System tuning • Repeat execution and analysis process until performance testing goals met.
  • 25. It is nearly impossible to effectively performance test without automation! • Manual testing is not manageable! • Manual testing is not repeatable! • Manual testing is not accurate! Automated Testing Tools Manual Automated 
  • 26. • Performance testing is very difficult without one • Performance testing without a tool relies on hardware and personnel to generate load, generally with wildly inaccurate results. • Without automation the final test reports may be unreliable.. • User responses collected and compiled into a report may contain as much human error as real data. • The cost of repeating a 'manual' test is equal to cost of the first test. When using a performance testing tool, costs go down as you repeat your tests. Benefits of an Automated Performance Testing Tool
  • 27. • Most automated performance testing tools including LoadRunner have the following components: • Script Recorder (VuGen) • Load Injector / Load Generator (Load Agents) • Test Configuration and Management (Controller) • Performance Monitor (Controller & other components) • Analysis How do Automated Performance Testing Tools Work?
  • 29. Records end-user activity and generates transaction scripts. Application Infrastructure Web Servers App Servers DB Servers End- User HTTP – XML – SAP Script Recorder
  • 31. Generates a realistic application load, based on scripts and test parameters Application Infrastructure Web Servers App Servers DB Servers Generated Load Load Generator aka. Injector
  • 32. Load Generator Load Generators can be local or remote Options to place on AWS, Azure or HP Helion Can also place on remote sites behind firewalls
  • 33. • Mimics client behavior: • Submits multiple requests to the AUT • Waits for a period of time after the site sends a reply to the request (think time) then submits a new request • Can emulate thousands of concurrent users (virtual users) to test the application scalability How does a Load Injector work? • Virtual User (VUs) mimic the behavior of a real user • A performance test is valid only if a virtual users' behavior has characteristics similar to those of actual users: • Follow patterns similar to real users • Use realistic think times
  • 34. Test Configuration and Management Test Controller manages the performance test and ��controls” the action of load generators Application Infrastructure Web Servers App Servers DB Servers Generated Load Test Control
  • 35. Capture server and network performance metrics Application Infrastructure Web Servers App Servers DB Servers Generated Load Performance Monitor(s)
  • 37. Post-test analysis of results Application Infrastructure Web Servers App Servers DB Servers Generated Load Analyzing Data Analysis Module
  • 40. Questions / Wrap up • Want to have a go? LoadRunner downloads and getting started guide https://support.trustiv.co.uk/downloads/ • Want to learn more? http://blog.trustiv.co.uk/ http://www.perfbytes.com/ http://alexanderpodelko.com/blog/ http://mtomlins.blogspot.co.uk/ http://www.developsense.com/ • Get in touch @richardbishop @TrustIV richard.bishop@trustiv.co.uk +44 (0) 7590 290646