SlideShare una empresa de Scribd logo
1 de 36
ROME 11-12 april 2014ROME 11-12 april 2014
How to execute the performance tests during a build in a
Continuous delivery environment
andrea.bozzoni@gmail.com
it.linkedin.com/pub/andrea-bozzoni/3/2b/911/
Andrea Bozzoni
ROME 11-12 april 2014 - Andrea Bozzoni
A few words about me
• Developer with a special passion for architectures,
continuous integration and delivery
• Fifteen years of experience in the development of
applications for the some Italian Public Administrations
(INPS, Poste Italiane, Consip, Ministero del Lavoro, etc…)
• Now working for the European Commission in Bruxelles
ROME 11-12 april 2014 - Andrea Bozzoni
Un tipico scenario di progetto
Continuous Integration
Jenkins
Perfomance
JMeter
Gatling
Live Demo
ROME 11-12 april 2014 - Speaker’s name
Scenario alla consegna di un progetto software
ROME 11-12 april 2014 - Speaker’s name
Quello di cui aveva bisogno
ROME 11-12 april 2014 - Speaker’s name
Quello che gli abbiamo consegnato
ROME 11-12 april 2014 - Speaker’s name
ROME 11-12 april 2014 - Andrea Bozzoni
Agile Software Development
ROME 11-12 april 2014 - Andrea Bozzoni
• Metodi agili
• Agile Modeling
• Agile Unified Process
• Extreme Programming (XP)
• Feature Driven Development
• Lean software development
• Scrum
• …
Agile Software Development
ROME 11-12 april 2014 - Andrea Bozzoni
• Pratiche agili
• Domain drive design
• Pair programming
• Refactoring
• Test driven development
• Continuous integration
• …
Agile Software Development
ROME 11-12 april 2014 - Speaker’s name
One shot integration
ROME 11-12 april 2014 - Speaker’s name
Notevole sforzo
ROME 11-12 april 2014 - Andrea Bozzoni
Risultato garantito
ROME 11-12 april 2014 - Andrea Bozzoni
Continuous integration
Continuous Integration (CI) is a software development practice where
members of a team integrate their work frequently, usually each person
integrates at least daily - leading to multiple integrations per day.
Each integration is verified by an automated build (including test) to
detect integration errors as quickly as possible.
Many teams find that this approach leads to significantly reduced
integration problems and allows a team to develop cohesive software
more rapidly.
Martin Fowler, http://martinfowler.com/articles/continuousIntegration.html
ROME 11-12 april 2014 - Andrea Bozzoni
Continuous integration
• Vantaggi
• Verifica costante di eventuali problemi di
integrazione
• Verifica costante dei test unitari
• Verifica costante della qualità del codice
• Disponibilità costante di una build (test, demo e
release)
• Svantaggi
• Occorre un investimento iniziale (individuazione
degli steps da automatizzare, cambio di cultura
nel team)
• Occorre un’ottima suite di test
ROME 11-12 april 2014 - Andrea Bozzoni
Continuous integration environment
ROME 11-12 april 2014 - Andrea Bozzoni
Integrazioni complesse senza sforzo
ROME 11-12 april 2014 - Andrea Bozzoni
• Continuous integration server open source scritto in java
• Supporta la maggior parte dei linguaggi (NET, Ruby, Groovy,
Grails, PHP, …)
• Esistono distribuzioni per la maggior parte degli ambienti
• Ha un’interfaccia semplice ed intuitiva (bassa curva di
apprendimento)
• Architettura estendibie (plugins)
• Consente di effettuare build distribuite
ROME 11-12 april 2014 - Andrea Bozzoni
Project delivery pipeline
ROME 11-12 april 2014 - Andrea Bozzoni
Performance
In software engineering, performance testing is in general testing
performed to determine how a system performs in terms of
responsiveness and stability under a particular workload. It can also serve
to investigate, measure, validate or verify other quality attributes of the
system, such as scalability, reliability and resource usage.
Load testing
Is the simplest form of performance testing. A load test is usually conducted to
understand the behavior of the system under a specific expected load. This load
can be the expected concurrent number of users on the application performing a
specific number of transactions within the set duration.
Stress testing
Is normally used to understand the upper limits of capacity within the system.
Wikipedia, http://http://en.wikipedia.org/wiki/Software_performance_testing
ROME 11-12 april 2014 - Andrea Bozzoni
Performance - Costi
ROME 11-12 april 2014 - Andrea Bozzoni
Performance - Costi
ROME 11-12 april 2014 - Andrea Bozzoni
Performance - Development
ROME 11-12 april 2014 - Andrea Bozzoni
Performance
• Definire gli obiettivi
• Velocità
• Stabilità
• Efficienza rispetto alle risorse
• Verificare l’aderenza agli obiettivi
• Acquisizione dati (SO, JVM, Network,
Stress tool)
ROME 11-12 april 2014 - Andrea Bozzoni
Performance
• Scenari di business con l’utente
ROME 11-12 april 2014 - Andrea Bozzoni
Performance
• Scenari di business con l’utente
ROME 11-12 april 2014 - Andrea Bozzoni
Stress Tools
ROME 11-12 april 2014 - Andrea Bozzoni
• Dotato di una semplice GUI
• Consente in modo semplice di effettuare test su diverse
tipologie di server:
• Web (HTTP/S), Database, SOAP, JMS, Mail
• Portabile (scritto interamente in java)
• Recorder scenario (HTTP Recorder)
• Facilmente estendibile
• Visualizzazione in tempo reale dei test
ROME 11-12 april 2014 - Andrea Bozzoni
• DSL specifico per la scrittura degli scenari di tests
• Recorder scenario (HTTP Recorder)
• Consente l’esecuzione di più scenari in un singolo test
• HTML reports per la visualizzazione dei risultati dei tests
• Implementato in Scala
• Usa Async Http Client and Netty for non blocking HTTP
• Usa Akka for actions (requests, pauses, assertions, etc...)
modeling and orchestration
ROME 11-12 april 2014 - Andrea Bozzoni
Dotati entrambi di HTTP Recorder
ROME 11-12 april 2014 - Andrea Bozzoni
ROME 11-12 april 2014 - Andrea Bozzoni
ROME 11-12 april 2014 - Andrea Bozzoni
Jenkins + Jmeter/Gatling
• Maven plugin
• JMeter plugin
• Gatling plugin
• Jenkins plugin
• Performance plugin
• Gatling plugin
ROME 11-12 april 2014 - Andrea Bozzoni
Live Demo
ROME 11-12 april 2014 - Andrea Bozzoni
Q&A
ROME 11-12 april 2014 - Andrea Bozzoni
Grazie per l’attenzione

Más contenido relacionado

La actualidad más candente

Merge hells!! feature toggles to the rescue
Merge hells!! feature toggles to the rescueMerge hells!! feature toggles to the rescue
Merge hells!! feature toggles to the rescueLeena N
 
Effective .NET Core Unit Testing with SQLite and Dapper
Effective .NET Core Unit Testing with SQLite and DapperEffective .NET Core Unit Testing with SQLite and Dapper
Effective .NET Core Unit Testing with SQLite and DapperMike Melusky
 
PHP Frameworks Review - Mar 19 2015
PHP Frameworks Review - Mar 19 2015PHP Frameworks Review - Mar 19 2015
PHP Frameworks Review - Mar 19 2015kyphpug
 
How to Supercharge your PHP Web API
How to Supercharge your PHP Web APIHow to Supercharge your PHP Web API
How to Supercharge your PHP Web APIAurimas Niekis
 

La actualidad más candente (6)

jp06_bossola
jp06_bossolajp06_bossola
jp06_bossola
 
Merge hells!! feature toggles to the rescue
Merge hells!! feature toggles to the rescueMerge hells!! feature toggles to the rescue
Merge hells!! feature toggles to the rescue
 
Effective .NET Core Unit Testing with SQLite and Dapper
Effective .NET Core Unit Testing with SQLite and DapperEffective .NET Core Unit Testing with SQLite and Dapper
Effective .NET Core Unit Testing with SQLite and Dapper
 
PHP Frameworks Review - Mar 19 2015
PHP Frameworks Review - Mar 19 2015PHP Frameworks Review - Mar 19 2015
PHP Frameworks Review - Mar 19 2015
 
How to Supercharge your PHP Web API
How to Supercharge your PHP Web APIHow to Supercharge your PHP Web API
How to Supercharge your PHP Web API
 
Web development post io2016
Web development post io2016Web development post io2016
Web development post io2016
 

Destacado

Z@H3k Opera
Z@H3k Opera Z@H3k Opera
Z@H3k Opera zahek
 
Dawson EWeek - Entrepreneurship Week Presentation
Dawson EWeek - Entrepreneurship Week PresentationDawson EWeek - Entrepreneurship Week Presentation
Dawson EWeek - Entrepreneurship Week PresentationKatheline Coleman
 
Tech4Africa presentation - Designing for context using a mobile UX strategy
Tech4Africa presentation - Designing for context using a mobile UX strategyTech4Africa presentation - Designing for context using a mobile UX strategy
Tech4Africa presentation - Designing for context using a mobile UX strategyRob Enslin
 
The CLOHE project presentation Italiano
The CLOHE project presentation ItalianoThe CLOHE project presentation Italiano
The CLOHE project presentation ItalianoJoel Josephson
 
Voorbeelden van subnavigatie in contentrijke websites
Voorbeelden van subnavigatie in contentrijke websitesVoorbeelden van subnavigatie in contentrijke websites
Voorbeelden van subnavigatie in contentrijke websitesMarnix Bras
 
Seafood Restaurant
Seafood RestaurantSeafood Restaurant
Seafood Restaurantzahek
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented ProgrammingAndrea Bozzoni
 

Destacado (10)

Z@H3k Opera
Z@H3k Opera Z@H3k Opera
Z@H3k Opera
 
Resum d'ecologia
Resum d'ecologiaResum d'ecologia
Resum d'ecologia
 
Dawson EWeek - Entrepreneurship Week Presentation
Dawson EWeek - Entrepreneurship Week PresentationDawson EWeek - Entrepreneurship Week Presentation
Dawson EWeek - Entrepreneurship Week Presentation
 
Tech4Africa presentation - Designing for context using a mobile UX strategy
Tech4Africa presentation - Designing for context using a mobile UX strategyTech4Africa presentation - Designing for context using a mobile UX strategy
Tech4Africa presentation - Designing for context using a mobile UX strategy
 
The CLOHE project presentation Italiano
The CLOHE project presentation ItalianoThe CLOHE project presentation Italiano
The CLOHE project presentation Italiano
 
Swahili Numbers
Swahili NumbersSwahili Numbers
Swahili Numbers
 
Voorbeelden van subnavigatie in contentrijke websites
Voorbeelden van subnavigatie in contentrijke websitesVoorbeelden van subnavigatie in contentrijke websites
Voorbeelden van subnavigatie in contentrijke websites
 
Seafood Restaurant
Seafood RestaurantSeafood Restaurant
Seafood Restaurant
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
Corrubedo
CorrubedoCorrubedo
Corrubedo
 

Similar a How execute perfomance tests in a continuous delivery environment

Go is your friend - Reppucci
Go is your friend - Reppucci Go is your friend - Reppucci
Go is your friend - Reppucci Codemotion
 
Developing locally with virtual machines
Developing locally with virtual machinesDeveloping locally with virtual machines
Developing locally with virtual machineswhurleyf1
 
DevOps Introduction @Cegeka
DevOps Introduction @CegekaDevOps Introduction @Cegeka
DevOps Introduction @Cegekadieterdm
 
Fundamental Concepts of DevOps
Fundamental Concepts of DevOpsFundamental Concepts of DevOps
Fundamental Concepts of DevOpsKiril Serebnik
 
Continuous Development: Supporting a Release Model
Continuous Development: Supporting a Release ModelContinuous Development: Supporting a Release Model
Continuous Development: Supporting a Release ModelPerforce
 
Dinosaur Carpaccio - How to implement valuable micro-requirements
Dinosaur Carpaccio - How to implement valuable micro-requirementsDinosaur Carpaccio - How to implement valuable micro-requirements
Dinosaur Carpaccio - How to implement valuable micro-requirementsStefano Leli
 
Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet
Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet
Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet Puppet
 
Achieving Continuous Delivery with Puppet
Achieving Continuous Delivery with PuppetAchieving Continuous Delivery with Puppet
Achieving Continuous Delivery with PuppetDevoteam Revolve
 
JUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ NuxeoJUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ NuxeoJulien Carsique
 
A glance at a scrum team in real software company
A glance at a scrum team in real software companyA glance at a scrum team in real software company
A glance at a scrum team in real software companyPin-Ying Tu
 
Show an Open Source Project Some Love and Start Using Travis-CI
Show an Open Source Project Some Love and Start Using Travis-CIShow an Open Source Project Some Love and Start Using Travis-CI
Show an Open Source Project Some Love and Start Using Travis-CIJoel Byler
 
Mule 4 meetup @Hyderabad
Mule 4 meetup @HyderabadMule 4 meetup @Hyderabad
Mule 4 meetup @HyderabadVijay Reddy
 
Accelerate Testing in Agile through a Shared Business Domain Language
Accelerate Testing in Agile through a Shared Business Domain LanguageAccelerate Testing in Agile through a Shared Business Domain Language
Accelerate Testing in Agile through a Shared Business Domain LanguageTechWell
 
Mobile Web Performance Optimization 1-7-14
Mobile Web Performance Optimization 1-7-14Mobile Web Performance Optimization 1-7-14
Mobile Web Performance Optimization 1-7-14XBOSoft
 
How to Port Your .NET Applications to Linux Using Mono Tools for Visual Studio
How to Port Your .NET Applications to Linux Using Mono Tools for Visual StudioHow to Port Your .NET Applications to Linux Using Mono Tools for Visual Studio
How to Port Your .NET Applications to Linux Using Mono Tools for Visual StudioNovell
 
How to Migrate a Windows® XP System to Windows 7 in 20 minutes
How to Migrate a Windows® XP System to Windows 7 in 20 minutesHow to Migrate a Windows® XP System to Windows 7 in 20 minutes
How to Migrate a Windows® XP System to Windows 7 in 20 minutesLenovo Business
 
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsTYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsMichael Lihs
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliverySwapnil Jain
 
Operations in the Continuous Delivery Ecosystem
Operations in the Continuous Delivery EcosystemOperations in the Continuous Delivery Ecosystem
Operations in the Continuous Delivery EcosystemTechWell
 

Similar a How execute perfomance tests in a continuous delivery environment (20)

Go is your friend
Go is your friendGo is your friend
Go is your friend
 
Go is your friend - Reppucci
Go is your friend - Reppucci Go is your friend - Reppucci
Go is your friend - Reppucci
 
Developing locally with virtual machines
Developing locally with virtual machinesDeveloping locally with virtual machines
Developing locally with virtual machines
 
DevOps Introduction @Cegeka
DevOps Introduction @CegekaDevOps Introduction @Cegeka
DevOps Introduction @Cegeka
 
Fundamental Concepts of DevOps
Fundamental Concepts of DevOpsFundamental Concepts of DevOps
Fundamental Concepts of DevOps
 
Continuous Development: Supporting a Release Model
Continuous Development: Supporting a Release ModelContinuous Development: Supporting a Release Model
Continuous Development: Supporting a Release Model
 
Dinosaur Carpaccio - How to implement valuable micro-requirements
Dinosaur Carpaccio - How to implement valuable micro-requirementsDinosaur Carpaccio - How to implement valuable micro-requirements
Dinosaur Carpaccio - How to implement valuable micro-requirements
 
Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet
Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet
Puppet Camp Paris 2014: Achieving Continuous Delivery and DevOps with Puppet
 
Achieving Continuous Delivery with Puppet
Achieving Continuous Delivery with PuppetAchieving Continuous Delivery with Puppet
Achieving Continuous Delivery with Puppet
 
JUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ NuxeoJUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ Nuxeo
 
A glance at a scrum team in real software company
A glance at a scrum team in real software companyA glance at a scrum team in real software company
A glance at a scrum team in real software company
 
Show an Open Source Project Some Love and Start Using Travis-CI
Show an Open Source Project Some Love and Start Using Travis-CIShow an Open Source Project Some Love and Start Using Travis-CI
Show an Open Source Project Some Love and Start Using Travis-CI
 
Mule 4 meetup @Hyderabad
Mule 4 meetup @HyderabadMule 4 meetup @Hyderabad
Mule 4 meetup @Hyderabad
 
Accelerate Testing in Agile through a Shared Business Domain Language
Accelerate Testing in Agile through a Shared Business Domain LanguageAccelerate Testing in Agile through a Shared Business Domain Language
Accelerate Testing in Agile through a Shared Business Domain Language
 
Mobile Web Performance Optimization 1-7-14
Mobile Web Performance Optimization 1-7-14Mobile Web Performance Optimization 1-7-14
Mobile Web Performance Optimization 1-7-14
 
How to Port Your .NET Applications to Linux Using Mono Tools for Visual Studio
How to Port Your .NET Applications to Linux Using Mono Tools for Visual StudioHow to Port Your .NET Applications to Linux Using Mono Tools for Visual Studio
How to Port Your .NET Applications to Linux Using Mono Tools for Visual Studio
 
How to Migrate a Windows® XP System to Windows 7 in 20 minutes
How to Migrate a Windows® XP System to Windows 7 in 20 minutesHow to Migrate a Windows® XP System to Windows 7 in 20 minutes
How to Migrate a Windows® XP System to Windows 7 in 20 minutes
 
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsTYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous Delivery
 
Operations in the Continuous Delivery Ecosystem
Operations in the Continuous Delivery EcosystemOperations in the Continuous Delivery Ecosystem
Operations in the Continuous Delivery Ecosystem
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Último (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

How execute perfomance tests in a continuous delivery environment

  • 1. ROME 11-12 april 2014ROME 11-12 april 2014 How to execute the performance tests during a build in a Continuous delivery environment andrea.bozzoni@gmail.com it.linkedin.com/pub/andrea-bozzoni/3/2b/911/ Andrea Bozzoni
  • 2. ROME 11-12 april 2014 - Andrea Bozzoni A few words about me • Developer with a special passion for architectures, continuous integration and delivery • Fifteen years of experience in the development of applications for the some Italian Public Administrations (INPS, Poste Italiane, Consip, Ministero del Lavoro, etc…) • Now working for the European Commission in Bruxelles
  • 3. ROME 11-12 april 2014 - Andrea Bozzoni Un tipico scenario di progetto Continuous Integration Jenkins Perfomance JMeter Gatling Live Demo
  • 4. ROME 11-12 april 2014 - Speaker’s name Scenario alla consegna di un progetto software
  • 5. ROME 11-12 april 2014 - Speaker’s name Quello di cui aveva bisogno
  • 6. ROME 11-12 april 2014 - Speaker’s name Quello che gli abbiamo consegnato
  • 7. ROME 11-12 april 2014 - Speaker’s name
  • 8. ROME 11-12 april 2014 - Andrea Bozzoni Agile Software Development
  • 9. ROME 11-12 april 2014 - Andrea Bozzoni • Metodi agili • Agile Modeling • Agile Unified Process • Extreme Programming (XP) • Feature Driven Development • Lean software development • Scrum • … Agile Software Development
  • 10. ROME 11-12 april 2014 - Andrea Bozzoni • Pratiche agili • Domain drive design • Pair programming • Refactoring • Test driven development • Continuous integration • … Agile Software Development
  • 11. ROME 11-12 april 2014 - Speaker’s name One shot integration
  • 12. ROME 11-12 april 2014 - Speaker’s name Notevole sforzo
  • 13. ROME 11-12 april 2014 - Andrea Bozzoni Risultato garantito
  • 14. ROME 11-12 april 2014 - Andrea Bozzoni Continuous integration Continuous Integration (CI) is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly. Martin Fowler, http://martinfowler.com/articles/continuousIntegration.html
  • 15. ROME 11-12 april 2014 - Andrea Bozzoni Continuous integration • Vantaggi • Verifica costante di eventuali problemi di integrazione • Verifica costante dei test unitari • Verifica costante della qualità del codice • Disponibilità costante di una build (test, demo e release) • Svantaggi • Occorre un investimento iniziale (individuazione degli steps da automatizzare, cambio di cultura nel team) • Occorre un’ottima suite di test
  • 16. ROME 11-12 april 2014 - Andrea Bozzoni Continuous integration environment
  • 17. ROME 11-12 april 2014 - Andrea Bozzoni Integrazioni complesse senza sforzo
  • 18. ROME 11-12 april 2014 - Andrea Bozzoni • Continuous integration server open source scritto in java • Supporta la maggior parte dei linguaggi (NET, Ruby, Groovy, Grails, PHP, …) • Esistono distribuzioni per la maggior parte degli ambienti • Ha un’interfaccia semplice ed intuitiva (bassa curva di apprendimento) • Architettura estendibie (plugins) • Consente di effettuare build distribuite
  • 19. ROME 11-12 april 2014 - Andrea Bozzoni Project delivery pipeline
  • 20. ROME 11-12 april 2014 - Andrea Bozzoni Performance In software engineering, performance testing is in general testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage. Load testing Is the simplest form of performance testing. A load test is usually conducted to understand the behavior of the system under a specific expected load. This load can be the expected concurrent number of users on the application performing a specific number of transactions within the set duration. Stress testing Is normally used to understand the upper limits of capacity within the system. Wikipedia, http://http://en.wikipedia.org/wiki/Software_performance_testing
  • 21. ROME 11-12 april 2014 - Andrea Bozzoni Performance - Costi
  • 22. ROME 11-12 april 2014 - Andrea Bozzoni Performance - Costi
  • 23. ROME 11-12 april 2014 - Andrea Bozzoni Performance - Development
  • 24. ROME 11-12 april 2014 - Andrea Bozzoni Performance • Definire gli obiettivi • Velocità • Stabilità • Efficienza rispetto alle risorse • Verificare l’aderenza agli obiettivi • Acquisizione dati (SO, JVM, Network, Stress tool)
  • 25. ROME 11-12 april 2014 - Andrea Bozzoni Performance • Scenari di business con l’utente
  • 26. ROME 11-12 april 2014 - Andrea Bozzoni Performance • Scenari di business con l’utente
  • 27. ROME 11-12 april 2014 - Andrea Bozzoni Stress Tools
  • 28. ROME 11-12 april 2014 - Andrea Bozzoni • Dotato di una semplice GUI • Consente in modo semplice di effettuare test su diverse tipologie di server: • Web (HTTP/S), Database, SOAP, JMS, Mail • Portabile (scritto interamente in java) • Recorder scenario (HTTP Recorder) • Facilmente estendibile • Visualizzazione in tempo reale dei test
  • 29. ROME 11-12 april 2014 - Andrea Bozzoni • DSL specifico per la scrittura degli scenari di tests • Recorder scenario (HTTP Recorder) • Consente l’esecuzione di più scenari in un singolo test • HTML reports per la visualizzazione dei risultati dei tests • Implementato in Scala • Usa Async Http Client and Netty for non blocking HTTP • Usa Akka for actions (requests, pauses, assertions, etc...) modeling and orchestration
  • 30. ROME 11-12 april 2014 - Andrea Bozzoni Dotati entrambi di HTTP Recorder
  • 31. ROME 11-12 april 2014 - Andrea Bozzoni
  • 32. ROME 11-12 april 2014 - Andrea Bozzoni
  • 33. ROME 11-12 april 2014 - Andrea Bozzoni Jenkins + Jmeter/Gatling • Maven plugin • JMeter plugin • Gatling plugin • Jenkins plugin • Performance plugin • Gatling plugin
  • 34. ROME 11-12 april 2014 - Andrea Bozzoni Live Demo
  • 35. ROME 11-12 april 2014 - Andrea Bozzoni Q&A
  • 36. ROME 11-12 april 2014 - Andrea Bozzoni Grazie per l’attenzione