際際滷

際際滷Share a Scribd company logo
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
1. Typical Scenario
2. Performance Testing
3. Scope
4. Before getting started
5. Tool Selection
6. Requirement Freezing
7. How to design Test cases
8. Benchmarking [test data / Hardware]
9. Execution [Types of performance test]
10.Life Cycle of performance testing
11.Jenkins/Results
12.Hardware Scaling
13.Real World Case Studies
Agenda
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
www.abc.com
Typical Scenario
Server
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
Adam : Performance tester
John : Adams friend
John : Awesome Adam. That mean we would
know the impact on server when there are tons
of user accessing our site
Adam : Exactly you got that right.
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
John : So if you say the response time is 3 sec
for 100 users that mean when I access the site I
will see that page in 3 sec
Adam : Wait wait wait !!!! Hold on, dont
conclude that so easily. Let understand few
more thing before that.
Lets see our next slide
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
Adam : John there are following things
 Network latency
 Server processing time
 Browser Rendering
John : Btw can you give more insight to it
Adam : Sure. Lets see our next slide 
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
Adam : Lets take an example of www.google.com . And
understand few basic things
Server
<html>
<head>Google</head>
<body>
Result found..
</body>
</html>
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
Performance testing
 Traditionally referred to as server side
performance testing
 But now a days client side performance
testing has also gained importance
 Heavy Java Scripting.
 CSS 3 & HTML5 empowering browsers.
 Browser getting more and more smarter in rendering
pages and increasing user experience
 Ideally
Performance testing = Server Side + Client Side
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
Scope
 Only serve side performance testing
 Journey from the moment GET request is sent till
HTTP Response is received
 Network latency + Server processing time
 Will talk mostly about how to approach
performance testing activity
 If time permits talk about JMeter
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
Before getting started
 Know the business cases: This will help you in
designing the test scenarios
 The type of application : Web , Web Service
 Audience that will be using : LAN , Intranet
, Internet, Internet but public site
 ***Explore your application with some
packet capturing tool. e.g. Fiddler , Paros
i.e. Study your application in-depth
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
Tool Selection
 JMeter (Open Source)
 OpenSTA (Open Source)
 Load Runner (Commercial)
 Silk Performer (Commercial)
 VSTS - Web Test (Commercial)
 LoadUI (Commercial)

 Many More . . . . . .
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
John : So now i have understanding of
business scenarios also we decided upon tool.
So whats next
Adam : Now most important part of
performance test. Capturing the Test
Requirements.
It will serve as input to test plan
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
 Ask few question to business
 What are the concurrent user(session active) we are expecting
our application to handle?
 What are the active user(doing some action) we expect our
application should handle?
 What would be the peak load (maximum)on our application ?
 What would be the peak time(s) (timestamp/timestamps) we
expect our application will get max load ?
 What would be the response time we are expecting our
application should serve ?
 How long we expected our application to work without any
failures ?
 And if failure occur what is the acceptable failure rate ?
 How frequently will the web server restart ?
Requirement Gathering
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
How to design test case
 Identify real world business scenarios, always
give priority to them
 Use power of Randomize
 Don't forget think time
Lets look at the PMRW script
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
 Now look for your real time test data. Make
it your benchmark
 Best practice is to keep same test data for
each execution.
 Automate your pre-requisite
o Write db scripts.
 After execution bring back the system to it
previous state. Post-requsite
o Clean up activities
Test-Data Benchmarking
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
Hardware Benchmarking
 Now decide upon hardware against which
you want to do performance testing
o Server Configuration [Processors/RAM/etc.]
o OS
o Software (e.g. tomcat, java, etc.)
o DataBase (version)
o If clustered environment (number of nodes,
they way load balancer is configured)
 i.e Overall all configuration of system
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
Execution/Type of tests
 For various test types
 Endurance (time)
 Step-up Load (user load)
 Spike Load (user, time)
 Monitor Server : cpu, memory
 Strategy that can be used for each above type
 What load : e.g. Endurance test for various loads
(e.g. 50 , 75 , 150 , 350 , 600 , 900 ,etc.)
 Duration : various time duration (e.g. 6hrs ,
18 hrs , 24hrs , 30 hrs , etc )@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
Execution (contd...)
 Distributed load
 Number of nodes
 Load on each node
Lets talk more about in one of the upcoming
slide
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
Setup Hardware
Setup Test Data
Run Test
Publish Results
Mark as new
BenchMark
next Iteration
Finish
No
Ye
sReason for Iteration
 New Release
 Hardware Change
 Configuration change
Results unacceptable [first iteration]
Or
Performance Deterioration [benchmark]
Yes
Performance Improvement/
Tuning/
Server monitoringOnly one at a time
No
i.e if performance
improvement
Life Cycle@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
Jenkins
 Helped a lot in current project
 Its helps automating end to end performance
test. We can schedule it for over night run
 There is a Jenkins plug-in that parses the
Jmeter results
 We can always archive results
 Anyone can trigger the test without
knowledge of Jmeter.
Let go and checkout our Jenkins@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
Result
 Lets look at Jenkins for results
 http://Jenkins/job/PerformanceTestingOnRef/15
0/performance/?
 http://Jenkins/job/PerformanceTestingOnRef/13
9/performance/?
 You can create your own graphs using tools
like MS Excel i.e. extract whatever data you
want
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
 If you would be scaling
o Ram
o Processor
o Node
 Find the factor 'X' which will be used to
predict the performance of application if we
scale the hardware
 Required incase if you don't want to do
performance tuning .
Hardware Scaling
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
Some Real World Case Studies
 V3 : Aakho ka dhoka
 Current Project & V2: Registration Looping
 Pre-Requisite to automation
 User Registration
 Deletion of User
 To test integration points [apis]
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
JMeter
 How to run test from JMeter
o GUI
o Command line arguments
o Distributed load generation
 How to create scripts
o Recording using Jmeter proxy / Manually create
o Extract Dynamic data and send in next request
o Parameterized common things i.e server name ,
port , some test data e.g lat, lon
o Configuring test externally from command line
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)
@Copyright-Abhijeet
Patil(abhi.gets.mail@gmail.com)

More Related Content

Performance testing ( Approaching , Designing performance tests)

  • 2. 1. Typical Scenario 2. Performance Testing 3. Scope 4. Before getting started 5. Tool Selection 6. Requirement Freezing 7. How to design Test cases 8. Benchmarking [test data / Hardware] 9. Execution [Types of performance test] 10.Life Cycle of performance testing 11.Jenkins/Results 12.Hardware Scaling 13.Real World Case Studies Agenda @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 4. Adam : Performance tester John : Adams friend John : Awesome Adam. That mean we would know the impact on server when there are tons of user accessing our site Adam : Exactly you got that right. @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 5. John : So if you say the response time is 3 sec for 100 users that mean when I access the site I will see that page in 3 sec Adam : Wait wait wait !!!! Hold on, dont conclude that so easily. Let understand few more thing before that. Lets see our next slide @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 6. Adam : John there are following things Network latency Server processing time Browser Rendering John : Btw can you give more insight to it Adam : Sure. Lets see our next slide @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 7. Adam : Lets take an example of www.google.com . And understand few basic things Server <html> <head>Google</head> <body> Result found.. </body> </html> @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 8. Performance testing Traditionally referred to as server side performance testing But now a days client side performance testing has also gained importance Heavy Java Scripting. CSS 3 & HTML5 empowering browsers. Browser getting more and more smarter in rendering pages and increasing user experience Ideally Performance testing = Server Side + Client Side @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 9. Scope Only serve side performance testing Journey from the moment GET request is sent till HTTP Response is received Network latency + Server processing time Will talk mostly about how to approach performance testing activity If time permits talk about JMeter @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 10. Before getting started Know the business cases: This will help you in designing the test scenarios The type of application : Web , Web Service Audience that will be using : LAN , Intranet , Internet, Internet but public site ***Explore your application with some packet capturing tool. e.g. Fiddler , Paros i.e. Study your application in-depth @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 11. Tool Selection JMeter (Open Source) OpenSTA (Open Source) Load Runner (Commercial) Silk Performer (Commercial) VSTS - Web Test (Commercial) LoadUI (Commercial) Many More . . . . . . @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 12. John : So now i have understanding of business scenarios also we decided upon tool. So whats next Adam : Now most important part of performance test. Capturing the Test Requirements. It will serve as input to test plan @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 13. Ask few question to business What are the concurrent user(session active) we are expecting our application to handle? What are the active user(doing some action) we expect our application should handle? What would be the peak load (maximum)on our application ? What would be the peak time(s) (timestamp/timestamps) we expect our application will get max load ? What would be the response time we are expecting our application should serve ? How long we expected our application to work without any failures ? And if failure occur what is the acceptable failure rate ? How frequently will the web server restart ? Requirement Gathering @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 14. How to design test case Identify real world business scenarios, always give priority to them Use power of Randomize Don't forget think time Lets look at the PMRW script @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 15. Now look for your real time test data. Make it your benchmark Best practice is to keep same test data for each execution. Automate your pre-requisite o Write db scripts. After execution bring back the system to it previous state. Post-requsite o Clean up activities Test-Data Benchmarking @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 16. Hardware Benchmarking Now decide upon hardware against which you want to do performance testing o Server Configuration [Processors/RAM/etc.] o OS o Software (e.g. tomcat, java, etc.) o DataBase (version) o If clustered environment (number of nodes, they way load balancer is configured) i.e Overall all configuration of system @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 17. Execution/Type of tests For various test types Endurance (time) Step-up Load (user load) Spike Load (user, time) Monitor Server : cpu, memory Strategy that can be used for each above type What load : e.g. Endurance test for various loads (e.g. 50 , 75 , 150 , 350 , 600 , 900 ,etc.) Duration : various time duration (e.g. 6hrs , 18 hrs , 24hrs , 30 hrs , etc )@Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 18. Execution (contd...) Distributed load Number of nodes Load on each node Lets talk more about in one of the upcoming slide @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 19. Setup Hardware Setup Test Data Run Test Publish Results Mark as new BenchMark next Iteration Finish No Ye sReason for Iteration New Release Hardware Change Configuration change Results unacceptable [first iteration] Or Performance Deterioration [benchmark] Yes Performance Improvement/ Tuning/ Server monitoringOnly one at a time No i.e if performance improvement Life Cycle@Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 20. Jenkins Helped a lot in current project Its helps automating end to end performance test. We can schedule it for over night run There is a Jenkins plug-in that parses the Jmeter results We can always archive results Anyone can trigger the test without knowledge of Jmeter. Let go and checkout our Jenkins@Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 21. Result Lets look at Jenkins for results http://Jenkins/job/PerformanceTestingOnRef/15 0/performance/? http://Jenkins/job/PerformanceTestingOnRef/13 9/performance/? You can create your own graphs using tools like MS Excel i.e. extract whatever data you want @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 22. If you would be scaling o Ram o Processor o Node Find the factor 'X' which will be used to predict the performance of application if we scale the hardware Required incase if you don't want to do performance tuning . Hardware Scaling @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 23. Some Real World Case Studies V3 : Aakho ka dhoka Current Project & V2: Registration Looping Pre-Requisite to automation User Registration Deletion of User To test integration points [apis] @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 24. JMeter How to run test from JMeter o GUI o Command line arguments o Distributed load generation How to create scripts o Recording using Jmeter proxy / Manually create o Extract Dynamic data and send in next request o Parameterized common things i.e server name , port , some test data e.g lat, lon o Configuring test externally from command line @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)