Your SlideShare is downloading. ×
Approaching Performance testing
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Approaching Performance testing

680
views

Published on

Getting started with performance testing

Getting started with performance testing

Published in: Education, Technology

3 Comments
1 Like
Statistics
Notes
No Downloads
Views
Total Views
680
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
47
Comments
3
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 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)
  • 3. www.abc.com Typical Scenario Server @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 4. Adam : Performance tester John : Adam’s 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, don’t 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 what’s 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 [api’s] @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)
  • 25. @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)
  • 26. @Copyright-Abhijeet Patil(abhi.gets.mail@gmail.com)

×