SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Telefónica Digital




Barcelona, March 21st
2013




 TELEFÓNICA DIGITAL
About: me

    last 8 years i have been working as performance test engineer with
    different tools and enviroments.




Telefónica Digital                  2
Product Development & Innovation
Architecture Design
Web Performance Optimization
No instruments

Users Review

Late or none Performance Testing

No Real User Monitoring

Reactive Performance Tuning
No tools, no performance dashboard, performance is for sysadmins and operators
Releases are costly and it may take several months of work
Manual testing of each release after code freeze
Non functional Requirements are most likely ignored
In production there is no monitoring of the traffic and how it affects the business
Users feedback is usually negative and there is no interaction with developers and designers
Application’s performance affects directly to market’s performance
• Continuous Integration
  – Functional testing
  – Automation
  – Monitoring
Continuous Integration for functional testing is working already in nightly builds
Automation reduces time to market for the applications
Monitoring the real user behaviour and not just healthcheck of servers
Error and risks management
Tuning and bugfixing
Listening to user feedback
The Future


• Continuous Performance Integration
   – Performance tests integrated in Jenkins
   – Automation of the trend reports
   – Real User Monitoring  Real time feedback
SCRUM and PERFORMANCE




Telefónica Digital                 20
Product Development & Innovation
Testing
Proactive Performance testing for each release. Load tests will discover the flaws and bottlenecks, the application or the system
Pruebas de Rendimiento
may have in production environment
Availability
Conocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento es
High availability of the application and the system is the goal of a ready for service status. The application and the systems must be stable ,
La hipótesis de partida con más éxito.
efficient and dimensioned according to the usage.
Velocity

Not only the response time is important, an intelligent use of the resources is needed to grow in the future. Efficiency, understood as
capacity to dispose of the system resources to achive an objective, in our case response time and uptime
Scalability

Being able to grow depending on the necessities of the market, users and new technologies is one of the focus for a performance engineer
Scenarios
A performance test is easy. It is easy to design non realistic scenarios. It is easy to collect irrelevant data. Even with a good scenario and
Appropiate data, it is easy to use and incorrect statistic method to analysis the results.
- Alberto Savoia
PreProduction
One of the most important parts of a good performance test design is to have an appropiate load test environment, as similar as possible to
Production at all levels, networking, systems and application architecture.
Otro título




                Monitoring
                Escenarios
To know the production environment is key to take good decisions about how to design a performance test plan. Designing a plan according
To real traffic and usage of the platform is key in creating validation criteria
Performance Teams

    Developers, DBA's, QA's, DevOps, product owners ... All the team is part of performance
Otro título




                          Tools

There are many tools available in the market for load testing and monitoring. An effort in evaluating these tools will benefit at long term the
Execution of the tests. However, the most important part is how the reports are generated and who is going to interpret them.
Otro título

Mas puntos




            Real User Monitoring

Not only unique users or session times are important. How the users work with the application and the psicology of the them are key to
Understand the results and how it affects to business.
Best Practices

Keep it simple, use cache wisely, invest in testing and monitoring, create a culture of performance in all the organization
Tuning




                     Innovation

Techonology develops at high speed. To bring out the best of our product, business and techonology need to evolve by the hand. Investing in
Performance research is crucial to keep up with other internet competitors.
Understand the Project Vision and Context

 Project Vision

 Project Context
 Understand the system

 Understand the Project Environment
 Understand the Performance Build Schedule




Telefónica Digital                 34
Product Development & Innovation
Identify Reasons for Testing Performance

 Success Criteria
      • Application performance requirements and goals
      • Performance-related targets and thresholds
      • Exit criteria (how to know when you are done)
      • Key areas of investigation
      • Key data to be collected




Telefónica Digital                       35
Product Development & Innovation
Identify the Value Performance Testing Adds to
 the Project
 In general, the types of information that may be valuable to discuss with
    the team when preparing a performance-testing strategy for a
    performance build include:
            › The reason for performance testing this delivery
            › Prerequisites for strategy execution
            › Tools and scripts required
            › External resources required
            › Risks to accomplishing the strategy
            › Data of special interest
            › Areas of concern
            › Pass/fail criteria
            › Completion criteria
            › Planned variants on tests
            › Load range
            › Tasks to accomplish the strategy
Telefónica Digital                               36
Product Development & Innovation
Configure the Test Environment

 Set up isolated networking environment

 Procure hardware as similar as           possible to production

 Coordinate bank of IP’s for IP spoofing

 Monitoring tools and operating systems like production
 Load generation tools            or develop your own




Telefónica Digital                            37
Product Development & Innovation
Identify and Coordinate Tasks

 Work item execution method

 Specifically what data will be collected
 Specifically how that data will be collected

 Who will assist, how, and when
 Sequence of work items by priority




Telefónica Digital                     38
Product Development & Innovation
Execute Task(s)

 Keys to Conducting a Performance-Testing Task
      • Analyze results immediately and revise the plan accordingly.
      • Work closely with the team or sub-team that is most relevant to the task.
      • Communicate frequently and openly across the team.
      • Record results and significant findings.
      • Record other data needed to repeat the test later.
      • Revisit performance-testing priorities after no more than two days.




Telefónica Digital                         39
Product Development & Innovation
Analyze Results and Report


  pause periodically to consolidate results

 conduct trend analysis

 create stakeholder reports,

 pair with developers, architects, and administrators to analyze results




Telefónica Digital                    40
Product Development & Innovation
But … what are you actually doing day by day?
Case of Study




Telefónica Digital                 42
Product Development & Innovation
Selenium Framework
Selenium Framework

// Set default NetExport preferences
profile.setPreference(domain + "netexport.alwaysEnableAutoExport", true);
profile.setPreference(domain + "netexport.showPreview", false);
profile.setPreference(domain + "netexport.beaconServerURL", "http://localhost/har-db");
profile.setPreference(domain + "netexport.autoExportToFile", false);
profile.setPreference(domain + "netexport.autoExportToServer", true);
profile.setPreference(domain + "netexport.sendToConfirmation", false);

//set net export preferences showslow directory to save .har files
//profile.setPreference(domain + "netexport.autoExportToFile", true);
//profile.setPreference(domain + "netexport.defaultLogDir", "C:showslowhar");
Branches comparison
Performance trends
Performance Continuous Integration
Performance Continuous Integration
Performance Continuous Integration

Weitere ähnliche Inhalte

Was ist angesagt?

Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceRajeev Sharan
 
A Guide to the Forthcoming 2012 Revision of the IEEE Software Quality Assuran...
A Guide to the Forthcoming 2012 Revision of the IEEE Software Quality Assuran...A Guide to the Forthcoming 2012 Revision of the IEEE Software Quality Assuran...
A Guide to the Forthcoming 2012 Revision of the IEEE Software Quality Assuran...dheimann5
 
Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)ShudipPal
 
Carol Rodger CV 2016
Carol Rodger CV 2016Carol Rodger CV 2016
Carol Rodger CV 2016Carol Rodger
 
software engineering
software engineeringsoftware engineering
software engineeringshreeuva
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality AssuranceSaqib Raza
 
Innovation day 2013 2.4 frederik mortier (verhaert) - test management
Innovation day 2013   2.4 frederik mortier (verhaert) - test managementInnovation day 2013   2.4 frederik mortier (verhaert) - test management
Innovation day 2013 2.4 frederik mortier (verhaert) - test managementVerhaert Masters in Innovation
 
Software qualityassurance
Software qualityassuranceSoftware qualityassurance
Software qualityassurancesunilabj
 
Software quality assurance activites
Software quality assurance activitesSoftware quality assurance activites
Software quality assurance activitesGolu Gupta
 
Setting up Center of Excellence for QA in Healthcare
Setting up Center of Excellence for QA in HealthcareSetting up Center of Excellence for QA in Healthcare
Setting up Center of Excellence for QA in HealthcareCitiusTech
 
Donald_L_Loocke_Resume_TEr3
Donald_L_Loocke_Resume_TEr3Donald_L_Loocke_Resume_TEr3
Donald_L_Loocke_Resume_TEr3dloocke
 
Quality Assurance in SDLC
Quality Assurance in SDLCQuality Assurance in SDLC
Quality Assurance in SDLCAdil Mughal
 

Was ist angesagt? (20)

Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
13 software metrics
13 software metrics13 software metrics
13 software metrics
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Qa
QaQa
Qa
 
A Guide to the Forthcoming 2012 Revision of the IEEE Software Quality Assuran...
A Guide to the Forthcoming 2012 Revision of the IEEE Software Quality Assuran...A Guide to the Forthcoming 2012 Revision of the IEEE Software Quality Assuran...
A Guide to the Forthcoming 2012 Revision of the IEEE Software Quality Assuran...
 
Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)
 
t map brief
t map brieft map brief
t map brief
 
Carol Rodger CV 2016
Carol Rodger CV 2016Carol Rodger CV 2016
Carol Rodger CV 2016
 
software engineering
software engineeringsoftware engineering
software engineering
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Innovation day 2013 2.4 frederik mortier (verhaert) - test management
Innovation day 2013   2.4 frederik mortier (verhaert) - test managementInnovation day 2013   2.4 frederik mortier (verhaert) - test management
Innovation day 2013 2.4 frederik mortier (verhaert) - test management
 
Software qualityassurance
Software qualityassuranceSoftware qualityassurance
Software qualityassurance
 
Software quality assurance activites
Software quality assurance activitesSoftware quality assurance activites
Software quality assurance activites
 
05 sqa overview
05 sqa overview05 sqa overview
05 sqa overview
 
Setting up Center of Excellence for QA in Healthcare
Setting up Center of Excellence for QA in HealthcareSetting up Center of Excellence for QA in Healthcare
Setting up Center of Excellence for QA in Healthcare
 
Donald_L_Loocke_Resume_TEr3
Donald_L_Loocke_Resume_TEr3Donald_L_Loocke_Resume_TEr3
Donald_L_Loocke_Resume_TEr3
 
PDCA Problem Solving Technique & Tools
PDCA Problem Solving Technique & ToolsPDCA Problem Solving Technique & Tools
PDCA Problem Solving Technique & Tools
 
Quality Assurance in SDLC
Quality Assurance in SDLCQuality Assurance in SDLC
Quality Assurance in SDLC
 
Qa
QaQa
Qa
 

Andere mochten auch

Performance Best Practices
Performance Best PracticesPerformance Best Practices
Performance Best PracticesAlmudena Vivanco
 
High Performance Web Components
High Performance Web ComponentsHigh Performance Web Components
High Performance Web ComponentsSteve Souders
 
Oslo Schibsted Performance Gathering
Oslo Schibsted Performance GatheringOslo Schibsted Performance Gathering
Oslo Schibsted Performance GatheringAlmudena Vivanco
 
Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15
Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15
Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15Proyectalis / Improvement21
 
SREcon 2016 Performance Checklists for SREs
SREcon 2016 Performance Checklists for SREsSREcon 2016 Performance Checklists for SREs
SREcon 2016 Performance Checklists for SREsBrendan Gregg
 

Andere mochten auch (9)

Performance Best Practices
Performance Best PracticesPerformance Best Practices
Performance Best Practices
 
Devopsdays barcelona
Devopsdays barcelonaDevopsdays barcelona
Devopsdays barcelona
 
Workshop for newcomers
Workshop for newcomersWorkshop for newcomers
Workshop for newcomers
 
High Performance Web Components
High Performance Web ComponentsHigh Performance Web Components
High Performance Web Components
 
WPT Midiendo la Felicidad
WPT Midiendo la FelicidadWPT Midiendo la Felicidad
WPT Midiendo la Felicidad
 
Niji power to the user
Niji power to the userNiji power to the user
Niji power to the user
 
Oslo Schibsted Performance Gathering
Oslo Schibsted Performance GatheringOslo Schibsted Performance Gathering
Oslo Schibsted Performance Gathering
 
Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15
Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15
Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15
 
SREcon 2016 Performance Checklists for SREs
SREcon 2016 Performance Checklists for SREsSREcon 2016 Performance Checklists for SREs
SREcon 2016 Performance Checklists for SREs
 

Ähnlich wie Performance Continuous Integration

Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...
Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...
Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...XebiaLabs
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycleDiUS
 
IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsIBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsSanjeev Sharma
 
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software Ireland
 
Quality at the speed of digital
Quality   at the speed of digitalQuality   at the speed of digital
Quality at the speed of digitalrajni singh
 
Resume_Saurabh jain
Resume_Saurabh jainResume_Saurabh jain
Resume_Saurabh jainSaurabh Jain
 
Primer on application_performance_testing_v0.2
Primer on application_performance_testing_v0.2Primer on application_performance_testing_v0.2
Primer on application_performance_testing_v0.2Trevor Warren
 
Simplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSimplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSauce Labs
 
SplunkLive! London 2016 Splunk for Devops
SplunkLive! London 2016 Splunk for DevopsSplunkLive! London 2016 Splunk for Devops
SplunkLive! London 2016 Splunk for DevopsSplunk
 
Logicentrix Dashboards And Scorecards
Logicentrix Dashboards And ScorecardsLogicentrix Dashboards And Scorecards
Logicentrix Dashboards And Scorecardssanolan
 
Software Engineering Practices and Issues.pptx
Software Engineering Practices and Issues.pptxSoftware Engineering Practices and Issues.pptx
Software Engineering Practices and Issues.pptxNikilesh8
 
SOFTWARE DEVELOPMENT SYSTEM.pdf
SOFTWARE DEVELOPMENT SYSTEM.pdfSOFTWARE DEVELOPMENT SYSTEM.pdf
SOFTWARE DEVELOPMENT SYSTEM.pdftekfardeen
 
Software Testing Services
Software Testing ServicesSoftware Testing Services
Software Testing ServicesScienceSoft
 
Software Product Life Cycle
Software Product Life CycleSoftware Product Life Cycle
Software Product Life CycleMahesh Panchal
 
Software Test Engineer with 3.6 years of experience
Software Test Engineer with 3.6 years of experienceSoftware Test Engineer with 3.6 years of experience
Software Test Engineer with 3.6 years of experiencevijaya lakshmi
 

Ähnlich wie Performance Continuous Integration (20)

Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...
Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...
Building a Software Chain of Custody: A Guide for CTOs, CIOs, and Enterprise ...
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
IBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOpsIBM Innovate - Uderstanding DevOps
IBM Innovate - Uderstanding DevOps
 
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
 
kishore
kishorekishore
kishore
 
Quality Assurance and Testing services
Quality Assurance and Testing servicesQuality Assurance and Testing services
Quality Assurance and Testing services
 
Quality at the speed of digital
Quality   at the speed of digitalQuality   at the speed of digital
Quality at the speed of digital
 
Resume_Saurabh jain
Resume_Saurabh jainResume_Saurabh jain
Resume_Saurabh jain
 
Primer on application_performance_testing_v0.2
Primer on application_performance_testing_v0.2Primer on application_performance_testing_v0.2
Primer on application_performance_testing_v0.2
 
Hema_Testing
Hema_TestingHema_Testing
Hema_Testing
 
Simplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSimplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless Tools
 
Slides chapters 26-27
Slides chapters 26-27Slides chapters 26-27
Slides chapters 26-27
 
SplunkLive! London 2016 Splunk for Devops
SplunkLive! London 2016 Splunk for DevopsSplunkLive! London 2016 Splunk for Devops
SplunkLive! London 2016 Splunk for Devops
 
Logicentrix Dashboards And Scorecards
Logicentrix Dashboards And ScorecardsLogicentrix Dashboards And Scorecards
Logicentrix Dashboards And Scorecards
 
Software Engineering Practices and Issues.pptx
Software Engineering Practices and Issues.pptxSoftware Engineering Practices and Issues.pptx
Software Engineering Practices and Issues.pptx
 
SOFTWARE DEVELOPMENT SYSTEM.pdf
SOFTWARE DEVELOPMENT SYSTEM.pdfSOFTWARE DEVELOPMENT SYSTEM.pdf
SOFTWARE DEVELOPMENT SYSTEM.pdf
 
Software Testing Services
Software Testing ServicesSoftware Testing Services
Software Testing Services
 
Software Product Life Cycle
Software Product Life CycleSoftware Product Life Cycle
Software Product Life Cycle
 
Software Test Engineer with 3.6 years of experience
Software Test Engineer with 3.6 years of experienceSoftware Test Engineer with 3.6 years of experience
Software Test Engineer with 3.6 years of experience
 
Cloud Testing Research
Cloud Testing ResearchCloud Testing Research
Cloud Testing Research
 

Mehr von Almudena Vivanco

Performance Microservices in the Cloud
Performance Microservices in the CloudPerformance Microservices in the Cloud
Performance Microservices in the CloudAlmudena Vivanco
 
The sWag of performance Testing
The sWag of performance TestingThe sWag of performance Testing
The sWag of performance TestingAlmudena Vivanco
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance TestingAlmudena Vivanco
 
Integrating taurus and jmeter
Integrating taurus and jmeterIntegrating taurus and jmeter
Integrating taurus and jmeterAlmudena Vivanco
 
Fine line between performance and security
Fine line between performance and securityFine line between performance and security
Fine line between performance and securityAlmudena Vivanco
 
Dia02 t03-s04-vlctesting2017-seminario-almudena-vivanco
Dia02 t03-s04-vlctesting2017-seminario-almudena-vivancoDia02 t03-s04-vlctesting2017-seminario-almudena-vivanco
Dia02 t03-s04-vlctesting2017-seminario-almudena-vivancoAlmudena Vivanco
 
Modelling performance tests
Modelling performance testsModelling performance tests
Modelling performance testsAlmudena Vivanco
 
Web pagetest Meetup At Trovit
Web pagetest Meetup At TrovitWeb pagetest Meetup At Trovit
Web pagetest Meetup At TrovitAlmudena Vivanco
 
After test Barcelona 20160303
After test Barcelona 20160303After test Barcelona 20160303
After test Barcelona 20160303Almudena Vivanco
 
Workshop performance vl ctesting
Workshop performance vl ctestingWorkshop performance vl ctesting
Workshop performance vl ctestingAlmudena Vivanco
 
Deployment Driven Development and Performance Testing TEFCON2015
Deployment Driven Development and Performance Testing TEFCON2015Deployment Driven Development and Performance Testing TEFCON2015
Deployment Driven Development and Performance Testing TEFCON2015Almudena Vivanco
 
Webperfdays2014 movistar tv
Webperfdays2014 movistar tvWebperfdays2014 movistar tv
Webperfdays2014 movistar tvAlmudena Vivanco
 
cómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experiencecómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experienceAlmudena Vivanco
 

Mehr von Almudena Vivanco (18)

Performance Microservices in the Cloud
Performance Microservices in the CloudPerformance Microservices in the Cloud
Performance Microservices in the Cloud
 
Dotnet conf2019 barcelona
Dotnet conf2019 barcelonaDotnet conf2019 barcelona
Dotnet conf2019 barcelona
 
The sWag of performance Testing
The sWag of performance TestingThe sWag of performance Testing
The sWag of performance Testing
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
Integrating taurus and jmeter
Integrating taurus and jmeterIntegrating taurus and jmeter
Integrating taurus and jmeter
 
Fine line between performance and security
Fine line between performance and securityFine line between performance and security
Fine line between performance and security
 
Dia02 t03-s04-vlctesting2017-seminario-almudena-vivanco
Dia02 t03-s04-vlctesting2017-seminario-almudena-vivancoDia02 t03-s04-vlctesting2017-seminario-almudena-vivanco
Dia02 t03-s04-vlctesting2017-seminario-almudena-vivanco
 
Modelling performance tests
Modelling performance testsModelling performance tests
Modelling performance tests
 
Web pagetest Meetup At Trovit
Web pagetest Meetup At TrovitWeb pagetest Meetup At Trovit
Web pagetest Meetup At Trovit
 
Expo qa 2016
Expo qa 2016Expo qa 2016
Expo qa 2016
 
After test Barcelona 20160303
After test Barcelona 20160303After test Barcelona 20160303
After test Barcelona 20160303
 
Workshop performance vl ctesting
Workshop performance vl ctestingWorkshop performance vl ctesting
Workshop performance vl ctesting
 
Deployment Driven Development and Performance Testing TEFCON2015
Deployment Driven Development and Performance Testing TEFCON2015Deployment Driven Development and Performance Testing TEFCON2015
Deployment Driven Development and Performance Testing TEFCON2015
 
Webperfdays2014 movistar tv
Webperfdays2014 movistar tvWebperfdays2014 movistar tv
Webperfdays2014 movistar tv
 
Velocity2014 gvp
Velocity2014 gvpVelocity2014 gvp
Velocity2014 gvp
 
Speed me up!
Speed me up!Speed me up!
Speed me up!
 
cómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experiencecómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experience
 
Performance
Performance Performance
Performance
 

Performance Continuous Integration

  • 1. Telefónica Digital Barcelona, March 21st 2013 TELEFÓNICA DIGITAL
  • 2. About: me  last 8 years i have been working as performance test engineer with different tools and enviroments. Telefónica Digital 2 Product Development & Innovation
  • 4. No instruments Users Review Late or none Performance Testing No Real User Monitoring Reactive Performance Tuning
  • 5. No tools, no performance dashboard, performance is for sysadmins and operators
  • 6. Releases are costly and it may take several months of work
  • 7. Manual testing of each release after code freeze
  • 8. Non functional Requirements are most likely ignored
  • 9. In production there is no monitoring of the traffic and how it affects the business
  • 10. Users feedback is usually negative and there is no interaction with developers and designers
  • 11. Application’s performance affects directly to market’s performance
  • 12. • Continuous Integration – Functional testing – Automation – Monitoring
  • 13. Continuous Integration for functional testing is working already in nightly builds
  • 14. Automation reduces time to market for the applications
  • 15. Monitoring the real user behaviour and not just healthcheck of servers
  • 16. Error and risks management
  • 18. Listening to user feedback
  • 19. The Future • Continuous Performance Integration – Performance tests integrated in Jenkins – Automation of the trend reports – Real User Monitoring  Real time feedback
  • 20. SCRUM and PERFORMANCE Telefónica Digital 20 Product Development & Innovation
  • 21. Testing Proactive Performance testing for each release. Load tests will discover the flaws and bottlenecks, the application or the system Pruebas de Rendimiento may have in production environment
  • 22. Availability Conocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento es High availability of the application and the system is the goal of a ready for service status. The application and the systems must be stable , La hipótesis de partida con más éxito. efficient and dimensioned according to the usage.
  • 23. Velocity Not only the response time is important, an intelligent use of the resources is needed to grow in the future. Efficiency, understood as capacity to dispose of the system resources to achive an objective, in our case response time and uptime
  • 24. Scalability Being able to grow depending on the necessities of the market, users and new technologies is one of the focus for a performance engineer
  • 25. Scenarios A performance test is easy. It is easy to design non realistic scenarios. It is easy to collect irrelevant data. Even with a good scenario and Appropiate data, it is easy to use and incorrect statistic method to analysis the results. - Alberto Savoia
  • 26. PreProduction One of the most important parts of a good performance test design is to have an appropiate load test environment, as similar as possible to Production at all levels, networking, systems and application architecture.
  • 27. Otro título Monitoring Escenarios To know the production environment is key to take good decisions about how to design a performance test plan. Designing a plan according To real traffic and usage of the platform is key in creating validation criteria
  • 28. Performance Teams Developers, DBA's, QA's, DevOps, product owners ... All the team is part of performance
  • 29. Otro título Tools There are many tools available in the market for load testing and monitoring. An effort in evaluating these tools will benefit at long term the Execution of the tests. However, the most important part is how the reports are generated and who is going to interpret them.
  • 30. Otro título Mas puntos Real User Monitoring Not only unique users or session times are important. How the users work with the application and the psicology of the them are key to Understand the results and how it affects to business.
  • 31. Best Practices Keep it simple, use cache wisely, invest in testing and monitoring, create a culture of performance in all the organization
  • 32. Tuning Innovation Techonology develops at high speed. To bring out the best of our product, business and techonology need to evolve by the hand. Investing in Performance research is crucial to keep up with other internet competitors.
  • 33.
  • 34. Understand the Project Vision and Context Project Vision Project Context Understand the system Understand the Project Environment Understand the Performance Build Schedule Telefónica Digital 34 Product Development & Innovation
  • 35. Identify Reasons for Testing Performance Success Criteria • Application performance requirements and goals • Performance-related targets and thresholds • Exit criteria (how to know when you are done) • Key areas of investigation • Key data to be collected Telefónica Digital 35 Product Development & Innovation
  • 36. Identify the Value Performance Testing Adds to the Project In general, the types of information that may be valuable to discuss with the team when preparing a performance-testing strategy for a performance build include: › The reason for performance testing this delivery › Prerequisites for strategy execution › Tools and scripts required › External resources required › Risks to accomplishing the strategy › Data of special interest › Areas of concern › Pass/fail criteria › Completion criteria › Planned variants on tests › Load range › Tasks to accomplish the strategy Telefónica Digital 36 Product Development & Innovation
  • 37. Configure the Test Environment Set up isolated networking environment Procure hardware as similar as possible to production Coordinate bank of IP’s for IP spoofing Monitoring tools and operating systems like production Load generation tools or develop your own Telefónica Digital 37 Product Development & Innovation
  • 38. Identify and Coordinate Tasks Work item execution method Specifically what data will be collected Specifically how that data will be collected Who will assist, how, and when Sequence of work items by priority Telefónica Digital 38 Product Development & Innovation
  • 39. Execute Task(s) Keys to Conducting a Performance-Testing Task • Analyze results immediately and revise the plan accordingly. • Work closely with the team or sub-team that is most relevant to the task. • Communicate frequently and openly across the team. • Record results and significant findings. • Record other data needed to repeat the test later. • Revisit performance-testing priorities after no more than two days. Telefónica Digital 39 Product Development & Innovation
  • 40. Analyze Results and Report  pause periodically to consolidate results conduct trend analysis create stakeholder reports, pair with developers, architects, and administrators to analyze results Telefónica Digital 40 Product Development & Innovation
  • 41. But … what are you actually doing day by day?
  • 42. Case of Study Telefónica Digital 42 Product Development & Innovation
  • 43.
  • 45. Selenium Framework // Set default NetExport preferences profile.setPreference(domain + "netexport.alwaysEnableAutoExport", true); profile.setPreference(domain + "netexport.showPreview", false); profile.setPreference(domain + "netexport.beaconServerURL", "http://localhost/har-db"); profile.setPreference(domain + "netexport.autoExportToFile", false); profile.setPreference(domain + "netexport.autoExportToServer", true); profile.setPreference(domain + "netexport.sendToConfirmation", false); //set net export preferences showslow directory to save .har files //profile.setPreference(domain + "netexport.autoExportToFile", true); //profile.setPreference(domain + "netexport.defaultLogDir", "C:showslowhar");