SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
Testing
continous Integration
continous Delivery
…in the real world!
Roc Boronat
I develop Android things
– I wanna learn about testing! – Roc 2014
tests
introducing
unitary tests
integration tests
instrumentation tests
we started with unitary tests to
develop regular expressions
^[6789]{1}[0-9]{8}$
^0{2}[0-9]{11,}
we started with unitary tests to
develop regular expressions
we started with unitary tests to
develop regular expressions
we started with unitary tests to
develop regular expressions
we started with unitary tests to
develop regular expressions
given
when
then
given
when
then
we started with unitary tests to
parse deeplink URL’s
this happens at
we started with unitary tests to
parse deeplink URL’s
this happens at
we started with unitary tests to
parse deeplink URL’s
this happens at
we started with unitary tests to
improve an invoice generator
Customer can have a insurance… or not
The insurance can have a coverage limit… or not
The insurance can have a franchise deductible… or not
The insurance company can pay the VAT of the amount… or not
we started with unitary tests to
improve an invoice generator
we started with unitary tests to
improve an invoice generator
we started with unitary tests to
refactor legacy code
this happens at
we started with unitary tests to
refactor legacy code
Sandro Mancuso
craftedws.blogspot.com
Testing and Refactoring Legacy Code
youtu.be/_NnElPO5BU0
Legacy Code Rules
• You cannot change production code if not covered by tests
… just automated refactorings (via IDE) are allowed, if needed to write the test
this happens at
we started with unitary tests to
refactor legacy code
Sandro Mancuso
craftedws.blogspot.com
Testing and Refactoring Legacy Code
youtu.be/_NnElPO5BU0
this happens at
last tips about unitary tests
follow the given-when-then style
test one thing at a time
test the domain: is easy and valuable
frustration is the first step towards improvement
know the tools: JUnit + AssertJ + Mockito
unitary tests
integration tests
instrumentation tests
we started with integration test to
develop an API module
this happens at
quit smoking with your phone
tips about integration tests
develop the API module by TDD
check that your customer’s API has not changed
monitor your own API using a CI tool
unitary tests
integration tests
instrumentation tests
we started with instrumentation test to
test an app end to end
this happens at
we started with instrumentation test to
test an app end to end
this happens at
we started with instrumentation test to
test an app end to end
this happens at
tips about instrumentation tests
simple way to do «defensive testing»
fast way to develop «deep screens»
Espresso has been a game changer
They use to fail at CI tools
extra point: TDD
test-driven development
extra point: TDD
test-driven development
extra point 2: EDD?
error-driven development
Someone found a bug?
Write a test that reproduces it before fixing it!
extra point 2: EDD?
error-driven development
this happens at
continous *
introducing
continous integration
continous delivery
we started with continous integration to
fail fast
this happens at
quit smoking with your phone
we started with continous integration to
fail fast
this happens at
quit smoking with your phone
we started with continous integration to
maintain code quality
this happens at
we started with continous integration to
maintain code quality
this happens at
continous integration
continous delivery
we started with continous delivery to
launch releases from SourceTree
Group of Betatesters 0,5% of users
this happens at
quit smoking with your phone
we started with continous delivery to
update stakeholders
the product owners have
the last developed feature
in their phones
this happens at
we started with continous delivery to
launch releases from Terminal
Group of Betatesters Alpha Release
this happens at
Roc Boronat
roc@fewlaps.com

Más contenido relacionado

La actualidad más candente

Improve Development Process with Open Source Software
Improve Development Process with Open Source SoftwareImprove Development Process with Open Source Software
Improve Development Process with Open Source Software
elliando dias
 
Using Continuous Integration To Ensure Project Health New
Using Continuous Integration To Ensure Project Health NewUsing Continuous Integration To Ensure Project Health New
Using Continuous Integration To Ensure Project Health New
bartlowe
 
Continuous Integration In A PHP World
Continuous Integration In A PHP WorldContinuous Integration In A PHP World
Continuous Integration In A PHP World
Idaf_1er
 

La actualidad más candente (20)

Cross Platform Mobile Technologies
Cross Platform Mobile TechnologiesCross Platform Mobile Technologies
Cross Platform Mobile Technologies
 
Improve Development Process with Open Source Software
Improve Development Process with Open Source SoftwareImprove Development Process with Open Source Software
Improve Development Process with Open Source Software
 
Jenkins as the Test Reporting Framework
Jenkins as the Test Reporting FrameworkJenkins as the Test Reporting Framework
Jenkins as the Test Reporting Framework
 
Zalenium - How to run Selenium Script using Docker and Selenium Grid
Zalenium - How to run Selenium Script using Docker and Selenium GridZalenium - How to run Selenium Script using Docker and Selenium Grid
Zalenium - How to run Selenium Script using Docker and Selenium Grid
 
Hudson Continuous Integration for PHP
Hudson Continuous Integration for PHPHudson Continuous Integration for PHP
Hudson Continuous Integration for PHP
 
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
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
 
What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery
 
The four generations of test automation
The four generations of test automationThe four generations of test automation
The four generations of test automation
 
Web Application Testing with Selenium
Web Application Testing with Selenium Web Application Testing with Selenium
Web Application Testing with Selenium
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
 
Continuous Integration, TDD & Living Documentation - Odoo Experience 2015
Continuous Integration, TDD & Living Documentation - Odoo Experience 2015Continuous Integration, TDD & Living Documentation - Odoo Experience 2015
Continuous Integration, TDD & Living Documentation - Odoo Experience 2015
 
Testing in DevOps world
Testing in DevOps worldTesting in DevOps world
Testing in DevOps world
 
Using Continuous Integration To Ensure Project Health New
Using Continuous Integration To Ensure Project Health NewUsing Continuous Integration To Ensure Project Health New
Using Continuous Integration To Ensure Project Health New
 
Continuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was badContinuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was bad
 
Automate your build on Android with Jenkins
Automate your build on Android with JenkinsAutomate your build on Android with Jenkins
Automate your build on Android with Jenkins
 
Continuous Integration In A PHP World
Continuous Integration In A PHP WorldContinuous Integration In A PHP World
Continuous Integration In A PHP World
 
How to Get Started with Cypress
How to Get Started with CypressHow to Get Started with Cypress
How to Get Started with Cypress
 
Trust Your Pipeline - Automatically Testing and End-to-End Java Application
Trust Your Pipeline - Automatically Testing and End-to-End Java ApplicationTrust Your Pipeline - Automatically Testing and End-to-End Java Application
Trust Your Pipeline - Automatically Testing and End-to-End Java Application
 

Destacado

Sample-Linda Pickard_Pickard-Laws_Gaining Trust, Building Morale
Sample-Linda Pickard_Pickard-Laws_Gaining Trust, Building MoraleSample-Linda Pickard_Pickard-Laws_Gaining Trust, Building Morale
Sample-Linda Pickard_Pickard-Laws_Gaining Trust, Building Morale
Pickard & Laws
 

Destacado (20)

From Continous Integration to Continuous Delivery
From Continous Integration to Continuous DeliveryFrom Continous Integration to Continuous Delivery
From Continous Integration to Continuous Delivery
 
Continous Integration For The Lazy Programmer
Continous Integration For The Lazy ProgrammerContinous Integration For The Lazy Programmer
Continous Integration For The Lazy Programmer
 
Wiki development
Wiki developmentWiki development
Wiki development
 
Continous delivery
Continous deliveryContinous delivery
Continous delivery
 
sandhiya
sandhiyasandhiya
sandhiya
 
TAD DevOps presentation 2013
TAD DevOps presentation 2013TAD DevOps presentation 2013
TAD DevOps presentation 2013
 
Continous delivery - lad koden flyde 2014
Continous delivery - lad koden flyde 2014Continous delivery - lad koden flyde 2014
Continous delivery - lad koden flyde 2014
 
10 Deploys a Day - A Case Study of Continuous Delivery at Envato
10 Deploys a Day - A Case Study of Continuous Delivery at Envato10 Deploys a Day - A Case Study of Continuous Delivery at Envato
10 Deploys a Day - A Case Study of Continuous Delivery at Envato
 
Code Smells
Code SmellsCode Smells
Code Smells
 
Continous Delivery Toronto Presentation
Continous Delivery Toronto PresentationContinous Delivery Toronto Presentation
Continous Delivery Toronto Presentation
 
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
 
Clean code and Code Smells
Clean code and Code SmellsClean code and Code Smells
Clean code and Code Smells
 
Case Study: GM Financial Builds a Sustainable, Holistic, Continuous Delivery ...
Case Study: GM Financial Builds a Sustainable, Holistic, Continuous Delivery ...Case Study: GM Financial Builds a Sustainable, Holistic, Continuous Delivery ...
Case Study: GM Financial Builds a Sustainable, Holistic, Continuous Delivery ...
 
Case Study: Rabobank's Journey From Waterfall To Continuous Delivery
Case Study: Rabobank's Journey From Waterfall To Continuous DeliveryCase Study: Rabobank's Journey From Waterfall To Continuous Delivery
Case Study: Rabobank's Journey From Waterfall To Continuous Delivery
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers way
 
Agile Design - Chicago IXDA Presentation
Agile Design - Chicago IXDA PresentationAgile Design - Chicago IXDA Presentation
Agile Design - Chicago IXDA Presentation
 
Continuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsContinuous Delivery: The Dirty Details
Continuous Delivery: The Dirty Details
 
Case Study: ING Builds Highly Available Continuous Delivery Pipeline with Mic...
Case Study: ING Builds Highly Available Continuous Delivery Pipeline with Mic...Case Study: ING Builds Highly Available Continuous Delivery Pipeline with Mic...
Case Study: ING Builds Highly Available Continuous Delivery Pipeline with Mic...
 
Sample-Linda Pickard_Pickard-Laws_Gaining Trust, Building Morale
Sample-Linda Pickard_Pickard-Laws_Gaining Trust, Building MoraleSample-Linda Pickard_Pickard-Laws_Gaining Trust, Building Morale
Sample-Linda Pickard_Pickard-Laws_Gaining Trust, Building Morale
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkins
 

Similar a Testing, CI and CD in the real world

Similar a Testing, CI and CD in the real world (20)

12 top app testing tools
12 top app testing tools12 top app testing tools
12 top app testing tools
 
Openbar Kontich // Mobile app automation on a budget by Wim Vervust & Bram Thys
Openbar Kontich // Mobile app automation on a budget by Wim Vervust & Bram ThysOpenbar Kontich // Mobile app automation on a budget by Wim Vervust & Bram Thys
Openbar Kontich // Mobile app automation on a budget by Wim Vervust & Bram Thys
 
iPhone Development Overview
iPhone Development OverviewiPhone Development Overview
iPhone Development Overview
 
Testing beyond the default click-paths
Testing beyond  the default click-pathsTesting beyond  the default click-paths
Testing beyond the default click-paths
 
Sayanti Mondal CV
Sayanti Mondal CVSayanti Mondal CV
Sayanti Mondal CV
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Developer meets esper
Developer meets esperDeveloper meets esper
Developer meets esper
 
Pair programming pair testing working together with the developers by Simon ...
Pair programming  pair testing working together with the developers by Simon ...Pair programming  pair testing working together with the developers by Simon ...
Pair programming pair testing working together with the developers by Simon ...
 
Dev fest2015androidunittestingbyoyewaleademolasao
Dev fest2015androidunittestingbyoyewaleademolasaoDev fest2015androidunittestingbyoyewaleademolasao
Dev fest2015androidunittestingbyoyewaleademolasao
 
software testing trends set to define the industry in 2024
software testing trends set to define the industry in 2024software testing trends set to define the industry in 2024
software testing trends set to define the industry in 2024
 
Continuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQContinuous Delivery Testing @HiQ
Continuous Delivery Testing @HiQ
 
Mobile and Web App Testing for Visual Studio Teams
Mobile and Web App Testing for Visual Studio TeamsMobile and Web App Testing for Visual Studio Teams
Mobile and Web App Testing for Visual Studio Teams
 
Muzammil exp testing
Muzammil exp testingMuzammil exp testing
Muzammil exp testing
 
Juc oct 2014 final
Juc oct 2014 finalJuc oct 2014 final
Juc oct 2014 final
 
Zado Success Story - Mobile Automation using Selenium Robotium
Zado Success Story - Mobile Automation using Selenium RobotiumZado Success Story - Mobile Automation using Selenium Robotium
Zado Success Story - Mobile Automation using Selenium Robotium
 
Resume
ResumeResume
Resume
 
Test studio
Test studioTest studio
Test studio
 
What Is Mobile Device Testing and Best Practices For Mobile Testing_.pdf
What Is Mobile Device Testing and Best Practices For Mobile Testing_.pdfWhat Is Mobile Device Testing and Best Practices For Mobile Testing_.pdf
What Is Mobile Device Testing and Best Practices For Mobile Testing_.pdf
 
Visual Studio Mobile Center: A story about mobile DevOps
Visual Studio Mobile Center: A story about mobile DevOpsVisual Studio Mobile Center: A story about mobile DevOps
Visual Studio Mobile Center: A story about mobile DevOps
 
Why is mobile testing important?
Why is mobile testing important?Why is mobile testing important?
Why is mobile testing important?
 

Más de Roc Boronat

Barcelona Bicing: Next steps
Barcelona Bicing: Next stepsBarcelona Bicing: Next steps
Barcelona Bicing: Next steps
Roc Boronat
 

Más de Roc Boronat (9)

Introducing EDD: Error Driven Development
Introducing EDD: Error Driven DevelopmentIntroducing EDD: Error Driven Development
Introducing EDD: Error Driven Development
 
From CVS to GIT
From CVS to GITFrom CVS to GIT
From CVS to GIT
 
Introducing Clean Architecture
Introducing Clean ArchitectureIntroducing Clean Architecture
Introducing Clean Architecture
 
The chromecast's guide to the galaxy
The chromecast's guide to the galaxyThe chromecast's guide to the galaxy
The chromecast's guide to the galaxy
 
Sessió motivacional
Sessió motivacionalSessió motivacional
Sessió motivacional
 
QuitNow!
QuitNow!QuitNow!
QuitNow!
 
Hello NFC!
Hello NFC!Hello NFC!
Hello NFC!
 
Barcelona Bicing: Next steps
Barcelona Bicing: Next stepsBarcelona Bicing: Next steps
Barcelona Bicing: Next steps
 
Hello GoogleMaps!
Hello GoogleMaps!Hello GoogleMaps!
Hello GoogleMaps!
 

Último

Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 

Último (20)

The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 

Testing, CI and CD in the real world