1 / 57

Top ten secret weapons for performance testing in an agile environment

Top ten secret weapons for performance testing in an agile environment

thekua
Download Presentation

Top ten secret weapons for performance testing in an agile environment

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Top ten secret weapons for performance testing in an agile environment patrick.kua@thoughtworks.com (and alistair.jones@thoughtworks.com) © ThoughtWorks 2011

  2. 1 Make Performance Explicit © ThoughtWorks 2011

  3. So that I can make better investment decisions As an investor I want to see the value of my portfolio presented on a single web page must have “good” performance, less than 0.2s page load for about 10,000 concurrent users © ThoughtWorks 2011

  4. So that investors have a high-quality experience as the business grows As the Operations Manager I want the portfolio value page to render within 0.2s when 10,000 users are logged in © ThoughtWorks 2011

  5. 2 One Team © ThoughtWorks 2011

  6. Team Dynamics © ThoughtWorks 2011

  7. Performance Testers Part of Team © ThoughtWorks 2011

  8. © ThoughtWorks 2011

  9. Performance Testers Part of Team © ThoughtWorks 2011

  10. Pair on Performance Test Stories © ThoughtWorks 2011

  11. Rotate Pairs © ThoughtWorks 2011

  12. 3 Customer Driven © ThoughtWorks 2011

  13. What was a good source of requirements? © ThoughtWorks 2011

  14. Existing Pain Points © ThoughtWorks 2011

  15. An example... © ThoughtWorks 2011

  16. So that we can budget for future hardware needs as we grow As the data centre manager I want to know how much traffic we can handle now © ThoughtWorks 2011

  17. Another example © ThoughtWorks 2011

  18. So that we have confidence in meeting our SLA As the Operations Manager I want to ensure that a sustained peak load does not take out our service © ThoughtWorks 2011

  19. Personas © ThoughtWorks 2011

  20. Investors Marketing End Users Who is the customer? Power Users Operations © ThoughtWorks 2011

  21. 4 Discipline © ThoughtWorks 2011

  22. Observe test results What do you see? Formulate an hypothesis Why is it doing that? Design an experiment How can I prove that’s what’s happening? Run the experiment Take the time to gather the evidence. Is the hypothesis valid? Change the application code Safe in the knowledge that I’m making it faster © ThoughtWorks 2011

  23. ?????????? © ThoughtWorks 2011

  24. Observe test results Saw tooth pattern (1 minute intervals) Formulate an hypothesis Directory structure of (yyyy/mm/minuteofday)?. Slow down due to # of files in directory? Design an experiment 1 directory should result in even worse performance... Run the experiment We ran the test… Is the hypothesis valid? Change the application code © ThoughtWorks 2011

  25. One Directory © ThoughtWorks 2011

  26. 5 Play Performance Early © ThoughtWorks 2011

  27. End Start Other projects start performance testing here End Start Agile projects start performance testing as early as possible © ThoughtWorks 2011

  28. 6 Iterate Don’t (Just) Increment © ThoughtWorks 2011

  29. © ThoughtWorks 2011

  30. We Sashimi © ThoughtWorks 2011

  31. Sashimi Slice By... Presentation © ThoughtWorks 2011

  32. So that I can better see trends in performance As the Operations Manager I want a graph of requests per second © ThoughtWorks 2011

  33. So that I can better see trends in performance As the Operations Manager I want a graph of average latency per second © ThoughtWorks 2011

  34. So that I can easily scan results at a single glance As the Operations Manager I want a one page showing all results © ThoughtWorks 2011

  35. Sashimi Slice By... Scenario © ThoughtWorks 2011

  36. So that we never have a day like “October 10” As the Operations Manager I want to ensure that a sustained peak load does not take out our service © ThoughtWorks 2011

  37. So that we never have a day like “November 12” As the Operations Manager I want to ensure that an escalating load up to xxx requests/second does not take out our service © ThoughtWorks 2011

  38. 7 Automate, Automate, Automate © ThoughtWorks 2011

  39. Automated Compilation Automated Tests Automated Packaging Automated Deployment © ThoughtWorks 2011

  40. Why Automation? Automation => Reproducible and Consistent Automation => Faster Feedback Automation => Higher Productivity © ThoughtWorks 2011

  41. Automated Test Orchestration Automated Analysis Automated Scheduling Automated Load Generation Automated Application Deployment Automated Result Archiving © ThoughtWorks 2011

  42. 8 Continuous Performance Testing © ThoughtWorks 2011

  43. © ThoughtWorks 2011

  44. Build Pipelines Application Performance © ThoughtWorks 2011

  45. © ThoughtWorks 2011

  46. 9 Test Drive Your Performance Test Code © ThoughtWorks 2011

  47. V Model Testing Slower + Longer Performance Testing Speed Fast http://en.wikipedia.org/wiki/V-Model_(software_development) © ThoughtWorks 2011

  48. We make mistakes © ThoughtWorks 2011

  49. V Model Testing Slower + Longer Performance Testing Speed Unit test performance code to fail faster Fast http://en.wikipedia.org/wiki/V-Model_(software_development) © ThoughtWorks 2011

  50. Fast feedback! Fail Fast! Faster learning Faster results © ThoughtWorks 2011

More Related