SlideShare uma empresa Scribd logo
1 de 66
Baixar para ler offline
Application Performance,
Test & Monitoring
Prepared by A Dony Riyanto
Telegram @donyriyanto
slideshare.net/donyriyanto
2018
Performance & Load Testing Basics
Part 1
Performance & Load Testing Basics
ü Introduction to Performance Testing
ü Difference between Performance, Load and
Stress Testing
ü Why Performance Testing?
ü When is it required?
ü What should be tested?
ü Performance Testing Process
ü Load Test configuration for a web system
ü Practice Questions
Introduction to Performance Testing
Ø Performance testing is the process of determining the speed or
effectiveness of a computer, network, software program or device.
Ø Before going into the details, we should understand the factors
that governs Performance testing:
ü Throughput
ü Response Time
ü Tuning
ü Benchmarking
Throughput
Ø Capability of a product to
handle multiple transactions
in a give period.
Ø Throughput represents the
number of
requests/business
transactions processed by
the product in a specified
time duration.
Ø As the number of concurrent
users increase, the
throughput increases almost
linearly with the number of
requests. As there is very
little congestion within the
Application Server system
queues.
Throughput
Ø In the heavy load zone or Section B, as the concurrent client
load increases, throughput remains relatively constant.
Ø In Section C (the buckle zone) one or more of the system
components have become exhausted and throughput starts to
degrade. For example, the system might enter the buckle zone
when the network connections at the Web server exhaust the
limits of the network adapter or if the requests exceed operating
system limits for file handles.
Response Time
Ø It is equally important to find
out how much time each of
the transactions took to
complete.
Ø Response time is defined as
the delay between the point
of request and the first
response from the product.
Ø The response time increases
proportionally to the user
load.
Tuning
Ø Tuning is the procedure by
which product performance
is enhanced by setting
different values to the
parameters of the product,
operating system and other
components.
Ø Tuning improves the product
performance without having
to touch the source code of
the product.
Benchmarking
Ø A very well-improved
performance of a product
makes no business sense if
that performance does not
match up to the competitive
products.
Ø A careful analysis is needed
to chalk out the list of
transactions to be compared
across products so that an
apple-apple comparison
becomes possible.
Performance Testing- Definition
Ø The testing to evaluate the response time (speed), throughput
and utilization of system to execute its required functions in
comparison with different versions of the same product or a
different competitive product is called Performance Testing.
Ø Performance testing is done to derive benchmark numbers for
the system.
Ø Heavy load is not applied to the system
Ø Tuning is performed until the system under test achieves the
expected levels of performance.
Difference between
Performance, Load and Stress Testing
Load Testing
Ø Process of exercising the system
under test by feeding it the
largest tasks it can operate with.
Ø Constantly increasing the load
on the system via automated
tools to simulate real time
scenario with virtual users.
Examples:
Ø Testing a word processor by
editing a very large document.
Ø For Web Application load is
defined in terms of concurrent
users or HTTP connections.
Difference between
Performance, Load and Stress Testing
Stress Testing
Ø Trying to break the system under
test by overwhelming its
resources or by taking resources
away from it.
Ø Purpose is to make sure that the
system fails and recovers
gracefully.
Example:
Ø Double the baseline number for
concurrent users/HTTP
connections.
Ø Randomly shut down and restart
ports on the network
switches/routers that connects
servers.
Why Performance Testing
Ø Identifies problems early on before they become costly to resolve.
Ø Reduces development cycles.
Ø Produces better quality, more scalable code.
Ø Prevents revenue and credibility loss due to poor Web site
performance.
Ø Enables intelligent planning for future expansion.
Ø To ensure that the system meets performance expectations such
as response time, throughput etc. under given levels of load.
Ø Expose bugs that do not surface in cursory testing, such as
memory management bugs, memory leaks, buffer overflows, etc.
When is it required?
Design Phase:
Pages containing lots of images and multimedia for reasonable
wait times. Heavy loads are less important than knowing which
types of content cause slowdowns.
Development Phase:
To check results of individual pages and processes, looking for
breaking points, unnecessary code and bottlenecks.
Deployment Phase:
To identify the minimum hardware and software requirements
for the application.
What should be tested?
Ø High frequency transactions: The most frequently used
transactions have the potential to impact the performance of all
of the other transactions if they are not efficient.
Ø Mission Critical transactions: The more important
transactions that facilitate the core objectives of the system
should be included, as failure under load of these transactions
has, by definition, the greatest impact.
Ø Read Transactions: At least one READ ONLY transaction
should be included, so that performance of such transactions
can be differentiated from other more complex transactions.
Ø Update Transactions: At least one update transaction should
be included so that performance of such transactions can be
differentiated from other transactions.
Performance Testing Process
Ø Determine the performance testing objectives
Ø Describe the application to test using a application model
1. Describe the Hardware environment
2. Create a Benchmark (Agenda) to be recorded in Phase 2.
A. Define what tasks each user will perform
B. Define (or estimate) the percentage of users per task.
1.Planning
Record
Ø Record the defined testing activities that will be used as a
foundation for your load test scripts.
Ø One activity per task or multiple activities depending on
user task definition
Modify
Ø Modify load test scripts defined by recorder to reflect more
realistic Load test simulations.
Ø Defining the project, users
Ø Randomize parameters (Data, times, environment)
Ø Randomize user activities that occur during the load test
3.Modify
2.Record
1.Planning
Virtual Users (VUs): Test Goals
Start: 5 Max Response Time <= 20 Sec
Incremented by: 5
Maximum: 200
Think Time: 5 sec
Test Script:
One typical user from login through completion.
4. Execute
Ø Monitoring the scenario: We monitor scenario execution using
the various online runtime monitors. 
Ø Analysing test results: During scenario execution, the tool
records the performance of the application under different loads.
We use the graphs and reports to analyse the application’s
performance.
6. Analyze
5.Monitor
Load Test configuration for a web system
Questions to Review your Skills
Ø What are the factors that governs Performance Testing?
Ø How are Throughput and Response time related with user load?
Ø How do we decide whether the application passed or failed the
load test?
Ø What do you mean by Capacity, Stability and Scalability of an
application.
Ø What is the difference between Performance, Load and Stress
testing?
Ø What is Longevity, endurance, spike and Volume Testing?
Ø At what point in SDLC, performance testing is required?
Ø How to identify the transactions in a complete application for
load testing?
Ø Define the 6 steps involved in Performance Testing Process?
Ø Explain the Load Test configuration of a web system and what is
the role of Load Generators in it?
Load Test Planning
Part 2
Load Test Planning
ü Why Planning
ü Analysing the Application
ü Defining Testing Objectives
ü Gathering Requirements
ü Load Test Checklist
ü Practice Questions
Why Planning
Ø As in any type of system testing, a well-defined test plan is the
first essential step to successful testing.
Planning load testing helps to:
Ø Build test scenarios that accurately emulate your working
environment: Load testing means testing the application
under typical working conditions, and checking for system
performance, reliability, capacity, and so forth.
Ø Understand which resources are required for testing:
Application testing requires hardware, software, and human
resources. Before beginning testing, we should know which
resources are available and decide how to use them effectively.
Ø Define success criteria in measurable terms: Focused
testing goals and test criteria ensure successful testing. For
example, it’s not enough to define vague objectives like “Check
server response time under heavy load.” A more focused
success criterion would be “Check that 50 customers can
check their account balance simultaneously & that server
response time will not exceed 1- minute”
Why Planning
Ø Load test planning is a three-step process:
ü Analyzing the Application
 Analysis ensures that the testing environment we create
using LoadRunner will accurately reflect the environment
and configuration of the application under test.
ü Defining Testing Objectives
 Before testing, we should define exactly what we want to
accomplish.
ü Gathering Requirements
 All the requirements and resources should be evaluated
and collected beforehand to avoid any last minute
hurdles.
Analyzing the Application
Ø Load testing does not require as much knowledge of the
application as functional testing does.
Ø Load tester should have some operational knowledge of the
application to be tested.
Ø Load tester should have the idea on how the application is
actually used in production to make an informed estimate.
Ø Load tester must know the application architecture (Client
Server, Local Deployment, Live URL), Platform and Database
used.
Defining Testing Objectives
Ø Determining and recording performance testing objectives
involves communicating with the team to establish and update
these objectives as the project advances through milestones
Ø Performance, Load or Stress testing: Type and scope of
testing should be clear as each type of testing has different
requirements.
Ø Goal Setting: General load testing objectives should be defined.
Defining Testing Objectives
Ø Common Objectives:
ü Measuring end-user response time
ü Defining optimal hardware configuration
ü Checking reliability
ü Assist the development team in determining the performance
characteristics for various configuration options
ü Ensure that the new production hardware is no slower than
the previous release
ü Provide input data for scalability and capacity-planning
efforts
ü Determine if the application is ready for deployment to
production
ü Detect bottlenecks to be tuned
Defining Testing Objectives
Stating Objectives in Measurable Terms:
Ø Once you decide on your general load testing objectives, you
should identify more focused goals by stating your objectives in
measurable terms.
Ø To provide a baseline for evaluation, determine exactly what
constitutes acceptable and unacceptable test results.
Ø For example:
ü General Objective:
 Product Evaluation: choose hardware for the Web server.
ü Focused Objective:
 Product Evaluation: run the same group of 300 virtual
users on two different servers, HP and NEC. When all
300 users simultaneously browse the pages of your Web
application, determine which hardware gives a better
response time.
Gathering Requirements
Users: Identify all the types of people and processes that can put
load on the application or system.
ü Defining the types of primary end users of the application or
system such as purchasers, claims processors, and sales
reps
ü Add other types of users such as system administrators,
managers, and report readers who use the application or
system but are not the primary users.
ü Add types of non-human users such as batch processes,
system backups, bulk data loads and anything else that may
add load or consume system resources.
Transactions: For each type of user we identified in the previous
step, identify the tasks that the user performs.
Production Environment:
ü Performance and capacity of an application is significantly
affected by the hardware and software components on which
it executes.
Gathering Requirements
Production Environment:
ü Speed, capacity, IP address and name, version numbers and
other significant information.
Test Environment:
ü Should be similar to the production environment as is
possible to be able to get meaningful performance results.
ü It is important that the databases be set up with the same
amount of data in the same proportions as the production
environment as that can substantially affect the performance.
Scenarios:
ü Select the use cases to include
ü Determine how many instances of each use case will run
concurrently
ü Determine how often the use cases will execute per hour
ü Select the test environment
Gathering Requirements
Load test Tool:
ü Ability to parameterize data.
ü Ability to capture dynamic data and use on subsequent
requests.
ü Application infrastructure monitoring.
ü Support for the application's protocols
Load test Lab must include the following:
ü Test Servers.
ü Databases.
ü Network elements, operating systems and clients and server
hardware.
Load Test Check List
Planning
ü Objective goals defined
ü Test plan written and reviewed
Staff Skills
ü Experience in load testing
ü Application knowledge
ü Systems knowledge
ü Communication and people skills
Support Staff
ü Key staff identified and allocated
Load Test Lab
ü Test servers allocated
ü Databases populated
ü Load test tools allocated
Questions to Review your Skills
Ø Why planning is required before starting load test?
Ø What are the three steps involved in load test planning?
Ø What information should be collected about the application to
be load tested?
Ø What are the common testing objectives?
Ø State the following testing objective in measurable term: “Ensure
that the new production hardware is not slower than the
previous release”
Ø Why is the knowledge of Production Environment necessary
before load test?
Ø What are the factors that need to be considered for creating a
scenario?
Ø How to choose a load test tool?
Ø What are the requirements to setup a load test lab?
Ø What are main points in a Load test checklist?
Load Testing Tools
Part 3
Load Testing Tools
ü Manual testing Limitations
ü Benefits of Automation
ü Tools used for Performance Testing
ü Practice Questions
Testers
Load Generation System Under Test
Do you have the testing resources?
• Testing personnel
• Client machines
How do you coordinate and synchronize users?
How do you collect and analyze results?
How do you achieve test repeatability?
Analysis?
123.20
All of you,
click the
GO button
again
Manual Testing Limitations
Web server Database
server
Coordinator
Manual Testing Limitations
Manual Testing Limitations
ü Expensive, requiring large amounts of both personnel and
machinery.
ü Complicated, especially co-ordinating and synchronising
multiple testers
ü Involves a high degree of organization, especially to record and
analyse results meaningfully
ü Repeatability of the manual tests is limited
Load Generation System Under Test
Benefits of Automation
Web server Database
server
Vuser
host
• Controller manages the virtual users
• Analyze results with graphs and
reports
• Replaces testers with virtual users
Solves the resource limitations
• Runs many Vusers on a few machines
Analysis
Controller
Benefits of Automation
Using Automated Tools
ü Reduces personnel requirements by replacing human users with
virtual users or Vusers. These Vusers emulate the behaviour of
real users
ü Because numerous Vusers can run on a single computer, the
tool reduces the amount of hardware required for testing.
ü Monitors the application performance online, enabling you to
fine-tune your system during test execution.
ü It automatically records the performance of the application
during a test. You can choose from a wide variety of graphs and
reports to view the performance data.
ü Because the tests are fully automated, you can easily repeat
them as often as you need.
Tools used for Performance Testing
Open Source
Ø OpenSTA
Ø Diesel Test
Ø TestMaker
Ø Grinder
Ø LoadSim
Ø Jmeter
Ø Rubis
Commercial
Ø LoadRunner
Ø Silk Performer
Ø Qengine
Ø Empirix e-Load
OpenSTA
Ø Developed in C++
Ø HTTP Load Test Application
Advantages:
Ø Open Source Software
Ø A user-friendly graphical interface
Ø The script capture from the browser
Ø The monitoring functionality
Drawbacks:
Ø Only designed for Windows
Ø Only for HTTP
DieselTest
Ø Software designed in Delphi5
Ø For systems under NT Environment
Ø For HTTP/HTTPS applications
Advantages:
Ø Open Source
Ø The quality of the chart
Ø Simple and fast to use
Ø The logging functionality
Drawbacks:
Ø The manual edition of the tests is badly designed
Ø The ambiguity of certain results
Ø Distributed tests are impossible
Ø Specific technology environment (Delphi, NT)
TestMaker
Ø Developed in Java
Ø For HTTP, HTTPS, SOAP, XML-RPC, Mails (SMTP, POP3 and
IMAP) applications
Advantages:
Ø The possibility to build any kind of test agent
Ø The power of Java programming with some Python
simplifications
Ø Open source
Drawbacks:
Ø Familiarity with the Jython scripting language, Java language
and to write it from scratch
Ø The monitoring tools are very basic, since it is limited to the
response analysis
Ø Must pay for distributed testing
Grinder
Ø Generic framework for load testing any kind of target systems,
with scenario in Jython
Ø Developed in Java
Advantages:
Ø Open Source
Ø You can test everything with scripts in Jython
Drawbacks:
Ø Deployment for distributed test
Ø Poor results and graphical interface
LoadSim
Ø LoadSim is an open source software developed in Java, which is
designed for HTTP distributed load testing
Advantages:
Ø Open Source
Ø Generation of script
Ø Each client have a different configuration (user, script…)
Drawbacks:
Ø No graphical interface
Ø Poor results
Ø No graphical representation of result
Ø No monitoring
Jmeter
Ø 100% Java desktop application
Ø For Web and FTP, Java, SOAP/XML-RPC, JDBC applications
Advantages:
Ø Open Source
Ø The distributed testing
Ø Various target systems
Ø Extensibility: Pluggable samplers allow unlimited testing
capabilities
Drawbacks:
Ø Chart representation quite confuse
Ø Terminology not very clear
Ø Necessary to start remote machine one by one
Ø Remote machines must be declared in a property file before
starting application
Rubis
Ø Provided with some load-test tool (designed for Rubis, but some
parts of code could be re-used) and a monitoring system.
Ø Developed in Java.
Advantages:
Ø Open Source
Ø Monitoring capabilities
Ø Charts representations and automatic generation of HTML
report
Drawbacks:
Ø Specific to Unix environment and Rubis application
Empirix eLoad
Ø Accurate testing of the response times and scalability of web
applications and web services
Ø Recording in VBscript
Advantages:
Ø Can simulate hundreds and thousands of concurrent users
Ø Monitoring capabilities and Charts representation
Ø Reasonable Price
Drawbacks:
Ø Complex User Interface
Ø Limitations in recording of complex scenarios
Questions to Review your Skills
Ø What are the limitations of manual load testing?
Ø Why tools are used for automating load test?
Ø List 5 Open Source and 5 Commercial load test tools.
Ø What are the disadvantages of LoadRunner?
Ø Explain the following Load Test tools: Silk Performer, Qengine.
Ø Give a detailed comparison between Empirix E-load and
LoadRunner.
Ø Which other tools are commonly used for load testing?
Using JMeter
Part 4
 Introduction
 What is Jmeter ?
 Why ?
 Preparing tests
 Step 1 Proxy server
 Step 2 Organization
 Step 3 Genericity
 Step 4 Assertions
 Running tests
 Non GUI mode
 Distributed testing
 Analyzing Test
JMeter
Introduction
Ø Definition :
Ø JMeter is an Apache Jakarta project that can be used as a load
testing tool for analyzing and measuring the performance of a
variety of services, with a focus on web applications.
Ø Why ? :
Ø JMeter can be used as a unit test tool for JDBC database connection,
FTP, LDAP, WebServices,J MS, HTTP and generic TCP connections.
JMeter can also be configured as a monitor, although this is
typically considered an ad-hoc solution in lieu of advanced
monitoring solutions.
Proxy Server
Role
Ø Record Http requests run by
users.
Ø Stick to the exact http request
a lambda user .
Ø Record only what is
meaningful.
Ø To be organized.
Ø Warning
Ø Doesn’t record https.
Organization
Thread groups Loop controllers
Ø Determine
Ø How many users, will
concurrently run the tests
Ø How long between 2 launch of
the test
Ø How many times the tests will
be run
Ø Determine in a thread group
Ø How long between 2 launch of
the same sampler
Ø How many times the set of
tests will be run.
Organization
Thread groups Loop controllers
Organization
Throughput Controller
Ø Make variable pause during the
test run to simulate better a client
behavior.
Ø Because the thread group doesn’t
take in count the server, can take
several seconds before responding.
Genericity
Ø Variabilisation :
Ø In order not to modify a test to run it on different machines
Ø Example : user and password changing from a shelf to an other
Genericity
Ø Http default Request
Ø Allows you to put a default ip port and path for all the Http Request
contained in the scope
Ø Gives you an easy way to run your test from a device to an other one
just by changing the default adress.
Genericity
Ø Regular Expression extractor
Ø If the data has to be used several times along the test
Ø Like a sessionId for instance.
Assertions
Ø Response assertion
Ø To match a pattern in the response code
Ø The response code for instance.
Ø Xpath assertion
Ø Using the DOM of the response to check if an element appear.
Ø A research result for instance.
Ø Size assertion
Ø To know if the size of the response received match with the size
expected
Ø To verify if the file received is the good one.
Running tests
Ø Non Gui Mode
Ø Why?
Ø The stress due to test and display is too high when running
distributed tests.
Ø How ?
Ø By running command line
Example : jmeter -n -t my_test.jmx -l log.jtl -H
my.proxy.server -P 8000
Distributed testing
Ø Why ?
Ø To simulate stressed environment with a lot of clients.
Ø How ?
Ø Edit “remote_hosts=127.0.0.1” in jmeter.properties
Ø Start jmeter_server.bat on the host machines
Ø Run jmeter.bat
Analyzing Test
Aggregated graph Result tree
Ø Gives all the statistics concerning
the tests
Ø May be recorded in a specified file
for further treatment (data mining)
Ø Gives in a tree form, all the
samplers results, the requests, and
the sampler data.
Ø May also be recorded in a
specified file for further treatment
Analyzing Test
Aggregated graph Result tree

Mais conteúdo relacionado

Mais procurados

Cloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load TestingCloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load TestingInCycleSoftware
 
Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best PracticesApica
 
Software Testing Interview Q&A – part 1
Software Testing Interview Q&A – part 1Software Testing Interview Q&A – part 1
Software Testing Interview Q&A – part 1Khoa Bui
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testingsonukalpana
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webappAmit Solanki
 
Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement GatheringAtul Pant
 
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]Kamran Khan
 
Performance Bottleneck Identification
Performance Bottleneck IdentificationPerformance Bottleneck Identification
Performance Bottleneck IdentificationMustufa Batterywala
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance TestingSWAAM Tech
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter PresentationNeill Lima
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance TestingKiwiQA
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overviewsharadkjain
 
Using Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solutionUsing Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solutionRuslan Strazhnyk
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance TestingDavid Tzemach
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testingTharinda Liyanage
 
Manual testing interview questions and answers
Manual testing interview questions and answersManual testing interview questions and answers
Manual testing interview questions and answerskaranmca
 

Mais procurados (20)

Performance Testing Overview
Performance Testing OverviewPerformance Testing Overview
Performance Testing Overview
 
Cloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load TestingCloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load Testing
 
Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best Practices
 
Software Testing Interview Q&A – part 1
Software Testing Interview Q&A – part 1Software Testing Interview Q&A – part 1
Software Testing Interview Q&A – part 1
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webapp
 
Performance Requirement Gathering
Performance Requirement GatheringPerformance Requirement Gathering
Performance Requirement Gathering
 
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
Performance Testing using LoadRunner - Kamran Khan [chromeis.com]
 
Performance Bottleneck Identification
Performance Bottleneck IdentificationPerformance Bottleneck Identification
Performance Bottleneck Identification
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter Presentation
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
 
Using Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solutionUsing Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solution
 
performance testing
performance testingperformance testing
performance testing
 
Performance testing
Performance testingPerformance testing
Performance testing
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Manual testing interview questions and answers
Manual testing interview questions and answersManual testing interview questions and answers
Manual testing interview questions and answers
 
How to start performance testing project
How to start performance testing projectHow to start performance testing project
How to start performance testing project
 

Semelhante a Application Performance, Test and Monitoring

Performance testing and j meter overview
Performance testing and j meter overviewPerformance testing and j meter overview
Performance testing and j meter overviewkrishna chaitanya
 
4.3.application performance
4.3.application performance4.3.application performance
4.3.application performanceDrRajapraveenkN
 
Performance testing
Performance testing Performance testing
Performance testing BugRaptors
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Suresh Mishra
 
Performance Testing
Performance TestingPerformance Testing
Performance TestingSelin Gungor
 
Load testing web based applications
Load testing   web based applicationsLoad testing   web based applications
Load testing web based applicationsJitendra Yadav
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabadshaikmadarbi3zen
 
PerformanceTestingWithLoadrunner
PerformanceTestingWithLoadrunnerPerformanceTestingWithLoadrunner
PerformanceTestingWithLoadrunnertechgajanan
 
Performance Testing With Loadrunner
Performance Testing With LoadrunnerPerformance Testing With Loadrunner
Performance Testing With Loadrunnervladimir zaremba
 
Some Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software TestingSome Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software TestingKumari Warsha Goel
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Shivakumara .
 
Performance testing
Performance testing Performance testing
Performance testing ekatechserv
 
Manual testing
Manual testingManual testing
Manual testingAjit Jain
 
Glimpse and Benefits of Testing
Glimpse and Benefits of TestingGlimpse and Benefits of Testing
Glimpse and Benefits of TestingSourabh Kasliwal
 
Performance Testing Training in Hyderabad
Performance Testing Training in HyderabadPerformance Testing Training in Hyderabad
Performance Testing Training in Hyderabadrajasrichalamala3zen
 

Semelhante a Application Performance, Test and Monitoring (20)

QSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load RunnerQSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load Runner
 
QSpiders - Introduction to JMeter
QSpiders - Introduction to JMeterQSpiders - Introduction to JMeter
QSpiders - Introduction to JMeter
 
Performance testing and j meter overview
Performance testing and j meter overviewPerformance testing and j meter overview
Performance testing and j meter overview
 
JMeter
JMeterJMeter
JMeter
 
4.3.application performance
4.3.application performance4.3.application performance
4.3.application performance
 
Performance testing
Performance testing Performance testing
Performance testing
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Load testing web based applications
Load testing   web based applicationsLoad testing   web based applications
Load testing web based applications
 
performance testing training in hyderabad
performance testing training in hyderabadperformance testing training in hyderabad
performance testing training in hyderabad
 
PerformanceTestingWithLoadrunner
PerformanceTestingWithLoadrunnerPerformanceTestingWithLoadrunner
PerformanceTestingWithLoadrunner
 
Performance Testing With Loadrunner
Performance Testing With LoadrunnerPerformance Testing With Loadrunner
Performance Testing With Loadrunner
 
Fundamentals Performance Testing
Fundamentals Performance TestingFundamentals Performance Testing
Fundamentals Performance Testing
 
Some Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software TestingSome Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software Testing
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
 
Performance testing
Performance testing Performance testing
Performance testing
 
Manual testing
Manual testingManual testing
Manual testing
 
Glimpse and Benefits of Testing
Glimpse and Benefits of TestingGlimpse and Benefits of Testing
Glimpse and Benefits of Testing
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Performance Testing Training in Hyderabad
Performance Testing Training in HyderabadPerformance Testing Training in Hyderabad
Performance Testing Training in Hyderabad
 

Mais de Dony Riyanto

KNIME For Enterprise Data Analytics.pdf
KNIME For Enterprise Data Analytics.pdfKNIME For Enterprise Data Analytics.pdf
KNIME For Enterprise Data Analytics.pdfDony Riyanto
 
Implementasi Teknologi Industri 4.0 pada TNI AD
Implementasi Teknologi Industri 4.0 pada TNI ADImplementasi Teknologi Industri 4.0 pada TNI AD
Implementasi Teknologi Industri 4.0 pada TNI ADDony Riyanto
 
Blockchain untuk Big Data
Blockchain untuk Big DataBlockchain untuk Big Data
Blockchain untuk Big DataDony Riyanto
 
Mengenal ROS2 Galactic
Mengenal ROS2 GalacticMengenal ROS2 Galactic
Mengenal ROS2 GalacticDony Riyanto
 
Membuat Desain Roket Amatir dan Menjalankan Simulasi
Membuat Desain Roket Amatir dan Menjalankan SimulasiMembuat Desain Roket Amatir dan Menjalankan Simulasi
Membuat Desain Roket Amatir dan Menjalankan SimulasiDony Riyanto
 
Creating UDP Broadcast App Using Python Socket on WIndows & Linux
Creating UDP Broadcast App Using Python Socket on WIndows & LinuxCreating UDP Broadcast App Using Python Socket on WIndows & Linux
Creating UDP Broadcast App Using Python Socket on WIndows & LinuxDony Riyanto
 
Desain ground control & Sistem Pendukung untuk Male UAV/UCAV
Desain ground control & Sistem Pendukung untuk Male UAV/UCAVDesain ground control & Sistem Pendukung untuk Male UAV/UCAV
Desain ground control & Sistem Pendukung untuk Male UAV/UCAVDony Riyanto
 
Cloud Service Design for Computer Vision, Image & Video Processing+Analytics
Cloud Service Design for Computer Vision, Image & Video Processing+AnalyticsCloud Service Design for Computer Vision, Image & Video Processing+Analytics
Cloud Service Design for Computer Vision, Image & Video Processing+AnalyticsDony Riyanto
 
RealNetworks - SAFR Platform Whitepaper
RealNetworks - SAFR Platform WhitepaperRealNetworks - SAFR Platform Whitepaper
RealNetworks - SAFR Platform WhitepaperDony Riyanto
 
Dl6960 Demo Software User's Guide v1.4
Dl6960 Demo Software User's Guide v1.4Dl6960 Demo Software User's Guide v1.4
Dl6960 Demo Software User's Guide v1.4Dony Riyanto
 
Review of Existing Response System & Technology.
Review of Existing Response System & Technology.Review of Existing Response System & Technology.
Review of Existing Response System & Technology.Dony Riyanto
 
Beberapa Studi Kasus Fintech Micro Payment
Beberapa Studi Kasus Fintech Micro PaymentBeberapa Studi Kasus Fintech Micro Payment
Beberapa Studi Kasus Fintech Micro PaymentDony Riyanto
 
Rencana Pengembangan REST API dan Microservice pada MONEVRISBANG
Rencana Pengembangan REST API dan Microservice pada MONEVRISBANGRencana Pengembangan REST API dan Microservice pada MONEVRISBANG
Rencana Pengembangan REST API dan Microservice pada MONEVRISBANGDony Riyanto
 
Implementasi Full Textsearch pada Database
Implementasi Full Textsearch pada DatabaseImplementasi Full Textsearch pada Database
Implementasi Full Textsearch pada DatabaseDony Riyanto
 
Beberapa strategi implementasi open api untuk legacy system existing app
Beberapa strategi implementasi open api untuk legacy system existing appBeberapa strategi implementasi open api untuk legacy system existing app
Beberapa strategi implementasi open api untuk legacy system existing appDony Riyanto
 
Pengenalan Big Data untuk Pemula
Pengenalan Big Data untuk PemulaPengenalan Big Data untuk Pemula
Pengenalan Big Data untuk PemulaDony Riyanto
 
Introduction to BACnet: Building Automation & Control Network
Introduction to BACnet: Building Automation & Control NetworkIntroduction to BACnet: Building Automation & Control Network
Introduction to BACnet: Building Automation & Control NetworkDony Riyanto
 
Enterprise Microservices
Enterprise MicroservicesEnterprise Microservices
Enterprise MicroservicesDony Riyanto
 
Edge Exploration of QR Code Technology Implementation
Edge Exploration of QR Code Technology ImplementationEdge Exploration of QR Code Technology Implementation
Edge Exploration of QR Code Technology ImplementationDony Riyanto
 
GUGUS-a mini program prototype
GUGUS-a mini program prototypeGUGUS-a mini program prototype
GUGUS-a mini program prototypeDony Riyanto
 

Mais de Dony Riyanto (20)

KNIME For Enterprise Data Analytics.pdf
KNIME For Enterprise Data Analytics.pdfKNIME For Enterprise Data Analytics.pdf
KNIME For Enterprise Data Analytics.pdf
 
Implementasi Teknologi Industri 4.0 pada TNI AD
Implementasi Teknologi Industri 4.0 pada TNI ADImplementasi Teknologi Industri 4.0 pada TNI AD
Implementasi Teknologi Industri 4.0 pada TNI AD
 
Blockchain untuk Big Data
Blockchain untuk Big DataBlockchain untuk Big Data
Blockchain untuk Big Data
 
Mengenal ROS2 Galactic
Mengenal ROS2 GalacticMengenal ROS2 Galactic
Mengenal ROS2 Galactic
 
Membuat Desain Roket Amatir dan Menjalankan Simulasi
Membuat Desain Roket Amatir dan Menjalankan SimulasiMembuat Desain Roket Amatir dan Menjalankan Simulasi
Membuat Desain Roket Amatir dan Menjalankan Simulasi
 
Creating UDP Broadcast App Using Python Socket on WIndows & Linux
Creating UDP Broadcast App Using Python Socket on WIndows & LinuxCreating UDP Broadcast App Using Python Socket on WIndows & Linux
Creating UDP Broadcast App Using Python Socket on WIndows & Linux
 
Desain ground control & Sistem Pendukung untuk Male UAV/UCAV
Desain ground control & Sistem Pendukung untuk Male UAV/UCAVDesain ground control & Sistem Pendukung untuk Male UAV/UCAV
Desain ground control & Sistem Pendukung untuk Male UAV/UCAV
 
Cloud Service Design for Computer Vision, Image & Video Processing+Analytics
Cloud Service Design for Computer Vision, Image & Video Processing+AnalyticsCloud Service Design for Computer Vision, Image & Video Processing+Analytics
Cloud Service Design for Computer Vision, Image & Video Processing+Analytics
 
RealNetworks - SAFR Platform Whitepaper
RealNetworks - SAFR Platform WhitepaperRealNetworks - SAFR Platform Whitepaper
RealNetworks - SAFR Platform Whitepaper
 
Dl6960 Demo Software User's Guide v1.4
Dl6960 Demo Software User's Guide v1.4Dl6960 Demo Software User's Guide v1.4
Dl6960 Demo Software User's Guide v1.4
 
Review of Existing Response System & Technology.
Review of Existing Response System & Technology.Review of Existing Response System & Technology.
Review of Existing Response System & Technology.
 
Beberapa Studi Kasus Fintech Micro Payment
Beberapa Studi Kasus Fintech Micro PaymentBeberapa Studi Kasus Fintech Micro Payment
Beberapa Studi Kasus Fintech Micro Payment
 
Rencana Pengembangan REST API dan Microservice pada MONEVRISBANG
Rencana Pengembangan REST API dan Microservice pada MONEVRISBANGRencana Pengembangan REST API dan Microservice pada MONEVRISBANG
Rencana Pengembangan REST API dan Microservice pada MONEVRISBANG
 
Implementasi Full Textsearch pada Database
Implementasi Full Textsearch pada DatabaseImplementasi Full Textsearch pada Database
Implementasi Full Textsearch pada Database
 
Beberapa strategi implementasi open api untuk legacy system existing app
Beberapa strategi implementasi open api untuk legacy system existing appBeberapa strategi implementasi open api untuk legacy system existing app
Beberapa strategi implementasi open api untuk legacy system existing app
 
Pengenalan Big Data untuk Pemula
Pengenalan Big Data untuk PemulaPengenalan Big Data untuk Pemula
Pengenalan Big Data untuk Pemula
 
Introduction to BACnet: Building Automation & Control Network
Introduction to BACnet: Building Automation & Control NetworkIntroduction to BACnet: Building Automation & Control Network
Introduction to BACnet: Building Automation & Control Network
 
Enterprise Microservices
Enterprise MicroservicesEnterprise Microservices
Enterprise Microservices
 
Edge Exploration of QR Code Technology Implementation
Edge Exploration of QR Code Technology ImplementationEdge Exploration of QR Code Technology Implementation
Edge Exploration of QR Code Technology Implementation
 
GUGUS-a mini program prototype
GUGUS-a mini program prototypeGUGUS-a mini program prototype
GUGUS-a mini program prototype
 

Último

Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 

Último (20)

Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 

Application Performance, Test and Monitoring

  • 1. Application Performance, Test & Monitoring Prepared by A Dony Riyanto Telegram @donyriyanto slideshare.net/donyriyanto 2018
  • 2. Performance & Load Testing Basics Part 1
  • 3. Performance & Load Testing Basics ü Introduction to Performance Testing ü Difference between Performance, Load and Stress Testing ü Why Performance Testing? ü When is it required? ü What should be tested? ü Performance Testing Process ü Load Test configuration for a web system ü Practice Questions
  • 4. Introduction to Performance Testing Ø Performance testing is the process of determining the speed or effectiveness of a computer, network, software program or device. Ø Before going into the details, we should understand the factors that governs Performance testing: ü Throughput ü Response Time ü Tuning ü Benchmarking
  • 5. Throughput Ø Capability of a product to handle multiple transactions in a give period. Ø Throughput represents the number of requests/business transactions processed by the product in a specified time duration. Ø As the number of concurrent users increase, the throughput increases almost linearly with the number of requests. As there is very little congestion within the Application Server system queues.
  • 6. Throughput Ø In the heavy load zone or Section B, as the concurrent client load increases, throughput remains relatively constant. Ø In Section C (the buckle zone) one or more of the system components have become exhausted and throughput starts to degrade. For example, the system might enter the buckle zone when the network connections at the Web server exhaust the limits of the network adapter or if the requests exceed operating system limits for file handles.
  • 7. Response Time Ø It is equally important to find out how much time each of the transactions took to complete. Ø Response time is defined as the delay between the point of request and the first response from the product. Ø The response time increases proportionally to the user load.
  • 8. Tuning Ø Tuning is the procedure by which product performance is enhanced by setting different values to the parameters of the product, operating system and other components. Ø Tuning improves the product performance without having to touch the source code of the product.
  • 9. Benchmarking Ø A very well-improved performance of a product makes no business sense if that performance does not match up to the competitive products. Ø A careful analysis is needed to chalk out the list of transactions to be compared across products so that an apple-apple comparison becomes possible.
  • 10. Performance Testing- Definition Ø The testing to evaluate the response time (speed), throughput and utilization of system to execute its required functions in comparison with different versions of the same product or a different competitive product is called Performance Testing. Ø Performance testing is done to derive benchmark numbers for the system. Ø Heavy load is not applied to the system Ø Tuning is performed until the system under test achieves the expected levels of performance.
  • 11. Difference between Performance, Load and Stress Testing Load Testing Ø Process of exercising the system under test by feeding it the largest tasks it can operate with. Ø Constantly increasing the load on the system via automated tools to simulate real time scenario with virtual users. Examples: Ø Testing a word processor by editing a very large document. Ø For Web Application load is defined in terms of concurrent users or HTTP connections.
  • 12. Difference between Performance, Load and Stress Testing Stress Testing Ø Trying to break the system under test by overwhelming its resources or by taking resources away from it. Ø Purpose is to make sure that the system fails and recovers gracefully. Example: Ø Double the baseline number for concurrent users/HTTP connections. Ø Randomly shut down and restart ports on the network switches/routers that connects servers.
  • 13. Why Performance Testing Ø Identifies problems early on before they become costly to resolve. Ø Reduces development cycles. Ø Produces better quality, more scalable code. Ø Prevents revenue and credibility loss due to poor Web site performance. Ø Enables intelligent planning for future expansion. Ø To ensure that the system meets performance expectations such as response time, throughput etc. under given levels of load. Ø Expose bugs that do not surface in cursory testing, such as memory management bugs, memory leaks, buffer overflows, etc.
  • 14. When is it required? Design Phase: Pages containing lots of images and multimedia for reasonable wait times. Heavy loads are less important than knowing which types of content cause slowdowns. Development Phase: To check results of individual pages and processes, looking for breaking points, unnecessary code and bottlenecks. Deployment Phase: To identify the minimum hardware and software requirements for the application.
  • 15. What should be tested? Ø High frequency transactions: The most frequently used transactions have the potential to impact the performance of all of the other transactions if they are not efficient. Ø Mission Critical transactions: The more important transactions that facilitate the core objectives of the system should be included, as failure under load of these transactions has, by definition, the greatest impact. Ø Read Transactions: At least one READ ONLY transaction should be included, so that performance of such transactions can be differentiated from other more complex transactions. Ø Update Transactions: At least one update transaction should be included so that performance of such transactions can be differentiated from other transactions.
  • 17. Ø Determine the performance testing objectives Ø Describe the application to test using a application model 1. Describe the Hardware environment 2. Create a Benchmark (Agenda) to be recorded in Phase 2. A. Define what tasks each user will perform B. Define (or estimate) the percentage of users per task. 1.Planning
  • 18. Record Ø Record the defined testing activities that will be used as a foundation for your load test scripts. Ø One activity per task or multiple activities depending on user task definition Modify Ø Modify load test scripts defined by recorder to reflect more realistic Load test simulations. Ø Defining the project, users Ø Randomize parameters (Data, times, environment) Ø Randomize user activities that occur during the load test 3.Modify 2.Record 1.Planning
  • 19. Virtual Users (VUs): Test Goals Start: 5 Max Response Time <= 20 Sec Incremented by: 5 Maximum: 200 Think Time: 5 sec Test Script: One typical user from login through completion. 4. Execute
  • 20. Ø Monitoring the scenario: We monitor scenario execution using the various online runtime monitors.  Ø Analysing test results: During scenario execution, the tool records the performance of the application under different loads. We use the graphs and reports to analyse the application’s performance. 6. Analyze 5.Monitor
  • 21. Load Test configuration for a web system
  • 22. Questions to Review your Skills Ø What are the factors that governs Performance Testing? Ø How are Throughput and Response time related with user load? Ø How do we decide whether the application passed or failed the load test? Ø What do you mean by Capacity, Stability and Scalability of an application. Ø What is the difference between Performance, Load and Stress testing? Ø What is Longevity, endurance, spike and Volume Testing? Ø At what point in SDLC, performance testing is required? Ø How to identify the transactions in a complete application for load testing? Ø Define the 6 steps involved in Performance Testing Process? Ø Explain the Load Test configuration of a web system and what is the role of Load Generators in it?
  • 24. Load Test Planning ü Why Planning ü Analysing the Application ü Defining Testing Objectives ü Gathering Requirements ü Load Test Checklist ü Practice Questions
  • 25. Why Planning Ø As in any type of system testing, a well-defined test plan is the first essential step to successful testing. Planning load testing helps to: Ø Build test scenarios that accurately emulate your working environment: Load testing means testing the application under typical working conditions, and checking for system performance, reliability, capacity, and so forth. Ø Understand which resources are required for testing: Application testing requires hardware, software, and human resources. Before beginning testing, we should know which resources are available and decide how to use them effectively. Ø Define success criteria in measurable terms: Focused testing goals and test criteria ensure successful testing. For example, it’s not enough to define vague objectives like “Check server response time under heavy load.” A more focused success criterion would be “Check that 50 customers can check their account balance simultaneously & that server response time will not exceed 1- minute”
  • 26. Why Planning Ø Load test planning is a three-step process: ü Analyzing the Application  Analysis ensures that the testing environment we create using LoadRunner will accurately reflect the environment and configuration of the application under test. ü Defining Testing Objectives  Before testing, we should define exactly what we want to accomplish. ü Gathering Requirements  All the requirements and resources should be evaluated and collected beforehand to avoid any last minute hurdles.
  • 27. Analyzing the Application Ø Load testing does not require as much knowledge of the application as functional testing does. Ø Load tester should have some operational knowledge of the application to be tested. Ø Load tester should have the idea on how the application is actually used in production to make an informed estimate. Ø Load tester must know the application architecture (Client Server, Local Deployment, Live URL), Platform and Database used.
  • 28. Defining Testing Objectives Ø Determining and recording performance testing objectives involves communicating with the team to establish and update these objectives as the project advances through milestones Ø Performance, Load or Stress testing: Type and scope of testing should be clear as each type of testing has different requirements. Ø Goal Setting: General load testing objectives should be defined.
  • 29. Defining Testing Objectives Ø Common Objectives: ü Measuring end-user response time ü Defining optimal hardware configuration ü Checking reliability ü Assist the development team in determining the performance characteristics for various configuration options ü Ensure that the new production hardware is no slower than the previous release ü Provide input data for scalability and capacity-planning efforts ü Determine if the application is ready for deployment to production ü Detect bottlenecks to be tuned
  • 30. Defining Testing Objectives Stating Objectives in Measurable Terms: Ø Once you decide on your general load testing objectives, you should identify more focused goals by stating your objectives in measurable terms. Ø To provide a baseline for evaluation, determine exactly what constitutes acceptable and unacceptable test results. Ø For example: ü General Objective:  Product Evaluation: choose hardware for the Web server. ü Focused Objective:  Product Evaluation: run the same group of 300 virtual users on two different servers, HP and NEC. When all 300 users simultaneously browse the pages of your Web application, determine which hardware gives a better response time.
  • 31. Gathering Requirements Users: Identify all the types of people and processes that can put load on the application or system. ü Defining the types of primary end users of the application or system such as purchasers, claims processors, and sales reps ü Add other types of users such as system administrators, managers, and report readers who use the application or system but are not the primary users. ü Add types of non-human users such as batch processes, system backups, bulk data loads and anything else that may add load or consume system resources. Transactions: For each type of user we identified in the previous step, identify the tasks that the user performs. Production Environment: ü Performance and capacity of an application is significantly affected by the hardware and software components on which it executes.
  • 32. Gathering Requirements Production Environment: ü Speed, capacity, IP address and name, version numbers and other significant information. Test Environment: ü Should be similar to the production environment as is possible to be able to get meaningful performance results. ü It is important that the databases be set up with the same amount of data in the same proportions as the production environment as that can substantially affect the performance. Scenarios: ü Select the use cases to include ü Determine how many instances of each use case will run concurrently ü Determine how often the use cases will execute per hour ü Select the test environment
  • 33. Gathering Requirements Load test Tool: ü Ability to parameterize data. ü Ability to capture dynamic data and use on subsequent requests. ü Application infrastructure monitoring. ü Support for the application's protocols Load test Lab must include the following: ü Test Servers. ü Databases. ü Network elements, operating systems and clients and server hardware.
  • 34. Load Test Check List Planning ü Objective goals defined ü Test plan written and reviewed Staff Skills ü Experience in load testing ü Application knowledge ü Systems knowledge ü Communication and people skills Support Staff ü Key staff identified and allocated Load Test Lab ü Test servers allocated ü Databases populated ü Load test tools allocated
  • 35. Questions to Review your Skills Ø Why planning is required before starting load test? Ø What are the three steps involved in load test planning? Ø What information should be collected about the application to be load tested? Ø What are the common testing objectives? Ø State the following testing objective in measurable term: “Ensure that the new production hardware is not slower than the previous release” Ø Why is the knowledge of Production Environment necessary before load test? Ø What are the factors that need to be considered for creating a scenario? Ø How to choose a load test tool? Ø What are the requirements to setup a load test lab? Ø What are main points in a Load test checklist?
  • 37. Load Testing Tools ü Manual testing Limitations ü Benefits of Automation ü Tools used for Performance Testing ü Practice Questions
  • 38. Testers Load Generation System Under Test Do you have the testing resources? • Testing personnel • Client machines How do you coordinate and synchronize users? How do you collect and analyze results? How do you achieve test repeatability? Analysis? 123.20 All of you, click the GO button again Manual Testing Limitations Web server Database server Coordinator
  • 39. Manual Testing Limitations Manual Testing Limitations ü Expensive, requiring large amounts of both personnel and machinery. ü Complicated, especially co-ordinating and synchronising multiple testers ü Involves a high degree of organization, especially to record and analyse results meaningfully ü Repeatability of the manual tests is limited
  • 40. Load Generation System Under Test Benefits of Automation Web server Database server Vuser host • Controller manages the virtual users • Analyze results with graphs and reports • Replaces testers with virtual users Solves the resource limitations • Runs many Vusers on a few machines Analysis Controller
  • 41. Benefits of Automation Using Automated Tools ü Reduces personnel requirements by replacing human users with virtual users or Vusers. These Vusers emulate the behaviour of real users ü Because numerous Vusers can run on a single computer, the tool reduces the amount of hardware required for testing. ü Monitors the application performance online, enabling you to fine-tune your system during test execution. ü It automatically records the performance of the application during a test. You can choose from a wide variety of graphs and reports to view the performance data. ü Because the tests are fully automated, you can easily repeat them as often as you need.
  • 42. Tools used for Performance Testing Open Source Ø OpenSTA Ø Diesel Test Ø TestMaker Ø Grinder Ø LoadSim Ø Jmeter Ø Rubis Commercial Ø LoadRunner Ø Silk Performer Ø Qengine Ø Empirix e-Load
  • 43. OpenSTA Ø Developed in C++ Ø HTTP Load Test Application Advantages: Ø Open Source Software Ø A user-friendly graphical interface Ø The script capture from the browser Ø The monitoring functionality Drawbacks: Ø Only designed for Windows Ø Only for HTTP
  • 44. DieselTest Ø Software designed in Delphi5 Ø For systems under NT Environment Ø For HTTP/HTTPS applications Advantages: Ø Open Source Ø The quality of the chart Ø Simple and fast to use Ø The logging functionality Drawbacks: Ø The manual edition of the tests is badly designed Ø The ambiguity of certain results Ø Distributed tests are impossible Ø Specific technology environment (Delphi, NT)
  • 45. TestMaker Ø Developed in Java Ø For HTTP, HTTPS, SOAP, XML-RPC, Mails (SMTP, POP3 and IMAP) applications Advantages: Ø The possibility to build any kind of test agent Ø The power of Java programming with some Python simplifications Ø Open source Drawbacks: Ø Familiarity with the Jython scripting language, Java language and to write it from scratch Ø The monitoring tools are very basic, since it is limited to the response analysis Ø Must pay for distributed testing
  • 46. Grinder Ø Generic framework for load testing any kind of target systems, with scenario in Jython Ø Developed in Java Advantages: Ø Open Source Ø You can test everything with scripts in Jython Drawbacks: Ø Deployment for distributed test Ø Poor results and graphical interface
  • 47. LoadSim Ø LoadSim is an open source software developed in Java, which is designed for HTTP distributed load testing Advantages: Ø Open Source Ø Generation of script Ø Each client have a different configuration (user, script…) Drawbacks: Ø No graphical interface Ø Poor results Ø No graphical representation of result Ø No monitoring
  • 48. Jmeter Ø 100% Java desktop application Ø For Web and FTP, Java, SOAP/XML-RPC, JDBC applications Advantages: Ø Open Source Ø The distributed testing Ø Various target systems Ø Extensibility: Pluggable samplers allow unlimited testing capabilities Drawbacks: Ø Chart representation quite confuse Ø Terminology not very clear Ø Necessary to start remote machine one by one Ø Remote machines must be declared in a property file before starting application
  • 49. Rubis Ø Provided with some load-test tool (designed for Rubis, but some parts of code could be re-used) and a monitoring system. Ø Developed in Java. Advantages: Ø Open Source Ø Monitoring capabilities Ø Charts representations and automatic generation of HTML report Drawbacks: Ø Specific to Unix environment and Rubis application
  • 50. Empirix eLoad Ø Accurate testing of the response times and scalability of web applications and web services Ø Recording in VBscript Advantages: Ø Can simulate hundreds and thousands of concurrent users Ø Monitoring capabilities and Charts representation Ø Reasonable Price Drawbacks: Ø Complex User Interface Ø Limitations in recording of complex scenarios
  • 51. Questions to Review your Skills Ø What are the limitations of manual load testing? Ø Why tools are used for automating load test? Ø List 5 Open Source and 5 Commercial load test tools. Ø What are the disadvantages of LoadRunner? Ø Explain the following Load Test tools: Silk Performer, Qengine. Ø Give a detailed comparison between Empirix E-load and LoadRunner. Ø Which other tools are commonly used for load testing?
  • 53.  Introduction  What is Jmeter ?  Why ?  Preparing tests  Step 1 Proxy server  Step 2 Organization  Step 3 Genericity  Step 4 Assertions  Running tests  Non GUI mode  Distributed testing  Analyzing Test JMeter
  • 54. Introduction Ø Definition : Ø JMeter is an Apache Jakarta project that can be used as a load testing tool for analyzing and measuring the performance of a variety of services, with a focus on web applications. Ø Why ? : Ø JMeter can be used as a unit test tool for JDBC database connection, FTP, LDAP, WebServices,J MS, HTTP and generic TCP connections. JMeter can also be configured as a monitor, although this is typically considered an ad-hoc solution in lieu of advanced monitoring solutions.
  • 55. Proxy Server Role Ø Record Http requests run by users. Ø Stick to the exact http request a lambda user . Ø Record only what is meaningful. Ø To be organized. Ø Warning Ø Doesn’t record https.
  • 56. Organization Thread groups Loop controllers Ø Determine Ø How many users, will concurrently run the tests Ø How long between 2 launch of the test Ø How many times the tests will be run Ø Determine in a thread group Ø How long between 2 launch of the same sampler Ø How many times the set of tests will be run.
  • 58. Organization Throughput Controller Ø Make variable pause during the test run to simulate better a client behavior. Ø Because the thread group doesn’t take in count the server, can take several seconds before responding.
  • 59. Genericity Ø Variabilisation : Ø In order not to modify a test to run it on different machines Ø Example : user and password changing from a shelf to an other
  • 60. Genericity Ø Http default Request Ø Allows you to put a default ip port and path for all the Http Request contained in the scope Ø Gives you an easy way to run your test from a device to an other one just by changing the default adress.
  • 61. Genericity Ø Regular Expression extractor Ø If the data has to be used several times along the test Ø Like a sessionId for instance.
  • 62. Assertions Ø Response assertion Ø To match a pattern in the response code Ø The response code for instance. Ø Xpath assertion Ø Using the DOM of the response to check if an element appear. Ø A research result for instance. Ø Size assertion Ø To know if the size of the response received match with the size expected Ø To verify if the file received is the good one.
  • 63. Running tests Ø Non Gui Mode Ø Why? Ø The stress due to test and display is too high when running distributed tests. Ø How ? Ø By running command line Example : jmeter -n -t my_test.jmx -l log.jtl -H my.proxy.server -P 8000
  • 64. Distributed testing Ø Why ? Ø To simulate stressed environment with a lot of clients. Ø How ? Ø Edit “remote_hosts=127.0.0.1” in jmeter.properties Ø Start jmeter_server.bat on the host machines Ø Run jmeter.bat
  • 65. Analyzing Test Aggregated graph Result tree Ø Gives all the statistics concerning the tests Ø May be recorded in a specified file for further treatment (data mining) Ø Gives in a tree form, all the samplers results, the requests, and the sampler data. Ø May also be recorded in a specified file for further treatment