SlideShare uma empresa Scribd logo
1 de 49
Baixar para ler offline
MOZILLA
                             Continuous Deployment on Sumo
                                     support.mozilla.com




                               Matt Brandt, QA Engineer
                                 mbrandt@mozilla.com



Tuesday, November 22, 2011
[Nearly]    MOZILLA
                              Continuous Deployment on Sumo
                                      support.mozilla.com




                                Matt Brandt, QA Engineer
                                  mbrandt@mozilla.com



Tuesday, November 22, 2011
Bring questions




Tuesday, November 22, 2011
Bring questions




Tuesday, November 22, 2011
Bring questions

                 What’s wrong with our current small iterations?




Tuesday, November 22, 2011
Bring questions

                 What’s wrong with our current small iterations?

                 Trust developers to test the app??!!




Tuesday, November 22, 2011
Bring questions

                 What’s wrong with our current small iterations?

                 Trust developers to test the app??!!

                 What happens to our Selenium test suite?




Tuesday, November 22, 2011
Bring questions

                 What’s wrong with our current small iterations?

                 Trust developers to test the app??!!

                 What happens to our Selenium test suite?

                 We’ll be relegated to manual testers?




Tuesday, November 22, 2011
Bring questions

                 What’s wrong with our current small iterations?

                 Trust developers to test the app??!!

                 What happens to our Selenium test suite?

                 We’ll be relegated to manual testers?

                 How do we measure quality?


Tuesday, November 22, 2011
But first a little history...




Tuesday, November 22, 2011
But first a little history...




Tuesday, November 22, 2011
Short Iterations




Tuesday, November 22, 2011
Simplified
                             What the team did before



                  Trunk/              Stage             Prod
                   Dev




Tuesday, November 22, 2011
Simplified
                                   What the team did before



                  Trunk/                    Stage             Prod
                   Dev


       •Verify new features
       •Is this the right thing?
       •Automate



Tuesday, November 22, 2011
Simplified
                                   What the team did before



                  Trunk/                    Stage             Prod
                   Dev


       •Verify new features
       •Is this the right thing?
       •Automate



Tuesday, November 22, 2011
Simplified
                                   What the team did before



                  Trunk/                      Stage                Prod
                   Dev


       •Verify new features            •IT pushes
       •Is this the right thing?       •Regression test
       •Automate                       •Exploratory Testing
                                       •Is this the right thing?


Tuesday, November 22, 2011
Simplified
                                   What the team did before



                  Trunk/                      Stage                Prod
                   Dev


       •Verify new features            •IT pushes
       •Is this the right thing?       •Regression test
       •Automate                       •Exploratory Testing
                                       •Is this the right thing?


Tuesday, November 22, 2011
Simplified
                                   What the team did before



                  Trunk/                      Stage                  Prod
                   Dev


       •Verify new features            •IT pushes                  •IT pushes
       •Is this the right thing?       •Regression test            •Verify
       •Automate                       •Exploratory Testing        •Wahoo!
                                       •Is this the right thing?


Tuesday, November 22, 2011
The brave new world
                              Continuous deployment




                                                http://cliptank.com/funny/dog-costumes.php




Tuesday, November 22, 2011
Tools & attitude




Tuesday, November 22, 2011
Discuss what is acceptable risk




                             https://wiki.mozilla.org/QA/Execution/Web_Testing/Continuous_Deployment#Risks_.26_Plans_.26_Tools




Tuesday, November 22, 2011
Discuss what is acceptable risk


                     Risk: Less critical areas will not be covered by
                     automation




                                             https://wiki.mozilla.org/QA/Execution/Web_Testing/Continuous_Deployment#Risks_.26_Plans_.26_Tools




Tuesday, November 22, 2011
Discuss what is acceptable risk


                     Risk: Less critical areas will not be covered by
                     automation

                       •If the feature breaks, it is acceptable to wait up                                         to
                             an hour for a fix.




                                                  https://wiki.mozilla.org/QA/Execution/Web_Testing/Continuous_Deployment#Risks_.26_Plans_.26_Tools




Tuesday, November 22, 2011
Discuss what is acceptable risk


                     Risk: Less critical areas will not be covered by
                     automation

                       •If the feature breaks, it is acceptable to wait up                                         to
                             an hour for a fix.

                       • Example: the ability to answer a question.

                                                  https://wiki.mozilla.org/QA/Execution/Web_Testing/Continuous_Deployment#Risks_.26_Plans_.26_Tools




Tuesday, November 22, 2011
Acceptable risk




Tuesday, November 22, 2011
Acceptable risk




Tuesday, November 22, 2011
What’s our manual strategy?




Tuesday, November 22, 2011
What’s our manual strategy?




Tuesday, November 22, 2011
Manual strategy




Tuesday, November 22, 2011
Manual strategy

                             Feature verification & exploratory testing




Tuesday, November 22, 2011
Manual strategy

                             Feature verification & exploratory testing

                             Testing can occur in production




Tuesday, November 22, 2011
Manual strategy

                             Feature verification & exploratory testing

                             Testing can occur in production

                             Community involvement on new features




Tuesday, November 22, 2011
Automation is fun




                                                 https://github.com/mozilla/sumo-tests




Tuesday, November 22, 2011
Automation is fun




                                                 https://github.com/mozilla/sumo-tests




Tuesday, November 22, 2011
Automation strategy




Tuesday, November 22, 2011
Automation strategy
                 Selenium tests for areas that are clumsy to cover with unit
                 tests or QUnit




Tuesday, November 22, 2011
Automation strategy
                 Selenium tests for areas that are clumsy to cover with unit
                 tests or QUnit

                 Qualify as deployment blockers: run in dev & staging
                 envs




Tuesday, November 22, 2011
Automation strategy
                 Selenium tests for areas that are clumsy to cover with unit
                 tests or QUnit

                 Qualify as deployment blockers: run in dev & staging
                 envs

                 Non-volatile production tests verify env & services
                 work




Tuesday, November 22, 2011
Automation strategy
                 Selenium tests for areas that are clumsy to cover with unit
                 tests or QUnit

                 Qualify as deployment blockers: run in dev & staging
                 envs

                 Non-volatile production tests verify env & services
                 work

                 [All] Tests will be deleted if they don’t cover critical areas

Tuesday, November 22, 2011
Waffling
                             Failure is always an option




Tuesday, November 22, 2011
Waffling
                             Failure is always an option




Tuesday, November 22, 2011
Control




Tuesday, November 22, 2011
Gathering data




Tuesday, November 22, 2011
Gathering data




Tuesday, November 22, 2011
Now

                  Trunk/       Stage   Prod
                   Dev



        •Automation runs
        •Fast iterations
        •Early stage testing


Tuesday, November 22, 2011
Now

                  Trunk/             Stage              Prod
                   Dev



        •Automation runs       •Auto-updated
        •Fast iterations       •No post-commit hooks
        •Early stage testing   •Bug & feature testing



Tuesday, November 22, 2011
Now

                  Trunk/             Stage                 Prod
                   Dev


                                                        •Not push-button
        •Automation runs       •Auto-updated
                                                        •Automation
        •Fast iterations       •No post-commit hooks
                                                        •Monitoring
        •Early stage testing   •Bug & feature testing
                                                        •Feedback tool
                                                        •Wahoo!
Tuesday, November 22, 2011
Questions




Tuesday, November 22, 2011
References

     •https://support.mozilla.com
     •https://wiki.mozilla.org/QA/Execution/Web_Testing/         •http://docs.jquery.com/QUnit
     Continuous_Deployment
     •https://github.com/mozilla/sumo-tests                      •https://github.com/jsocol/django-waffle
     •http://coffeeonthekeyboard.com/the-future-of-sumo-         •http://coffeeonthekeyboard.com/introducing-waffle-for-
                                                                 django-541/
     development-511/
     •http://coffeeonthekeyboard.com/acronyms-you-should-know-   •https://github.com/etsy/statsd
     mttd-and-mttr-597/
                                                                 •http://codeascraft.etsy.com/2011/02/15/measure-anything-
                                                                 measure-everything/
     •http://www.slideshare.net/stephendonner/continuous-
     deployment-9363895




Tuesday, November 22, 2011

Mais conteúdo relacionado

Mais procurados

Donating a mature project to Eclipse
Donating a mature project to EclipseDonating a mature project to Eclipse
Donating a mature project to Eclipseglynnormington
 
ebay @ Hasso Plattner Institut Potsdam
ebay @ Hasso Plattner Institut Potsdamebay @ Hasso Plattner Institut Potsdam
ebay @ Hasso Plattner Institut PotsdamMichael Palotas
 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureWee Witthawaskul
 
Building Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileBuilding Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileWee Witthawaskul
 
Get your Project back in Shape!
Get your Project back in Shape!Get your Project back in Shape!
Get your Project back in Shape!Joachim Tuchel
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for youAmbientia
 
Agile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveAgile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveWee Witthawaskul
 

Mais procurados (7)

Donating a mature project to Eclipse
Donating a mature project to EclipseDonating a mature project to Eclipse
Donating a mature project to Eclipse
 
ebay @ Hasso Plattner Institut Potsdam
ebay @ Hasso Plattner Institut Potsdamebay @ Hasso Plattner Institut Potsdam
ebay @ Hasso Plattner Institut Potsdam
 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai Culture
 
Building Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileBuilding Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed Agile
 
Get your Project back in Shape!
Get your Project back in Shape!Get your Project back in Shape!
Get your Project back in Shape!
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Agile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveAgile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer Perspective
 

Destaque

Webprog lecture1
Webprog lecture1Webprog lecture1
Webprog lecture1teoper1205
 
Rtz Carlton and Jet Blue app. effort
Rtz Carlton and Jet Blue app. effortRtz Carlton and Jet Blue app. effort
Rtz Carlton and Jet Blue app. effortVeronika Kormanyos
 
Presentation zahid 2
Presentation zahid 2Presentation zahid 2
Presentation zahid 2twi8er
 
Rtz Carlton and Jet Blue app. effort
Rtz Carlton and Jet Blue app. effortRtz Carlton and Jet Blue app. effort
Rtz Carlton and Jet Blue app. effortVeronika Kormanyos
 
Rtz Carlton and Jet Blue app. effort
Rtz Carlton and Jet Blue app. effortRtz Carlton and Jet Blue app. effort
Rtz Carlton and Jet Blue app. effortVeronika Kormanyos
 
Scrolling Beyond Binaries: Exploring social media use amongst young LGBTIQ+ ...
Scrolling Beyond Binaries:  Exploring social media use amongst young LGBTIQ+ ...Scrolling Beyond Binaries:  Exploring social media use amongst young LGBTIQ+ ...
Scrolling Beyond Binaries: Exploring social media use amongst young LGBTIQ+ ...bradyjay
 
PCMSO - Programa de Controle Médico de Saúde Ocupacional
PCMSO - Programa de Controle Médico de Saúde OcupacionalPCMSO - Programa de Controle Médico de Saúde Ocupacional
PCMSO - Programa de Controle Médico de Saúde OcupacionalRenato Sfolia
 

Destaque (14)

Asteroïden
AsteroïdenAsteroïden
Asteroïden
 
Webprog lecture1
Webprog lecture1Webprog lecture1
Webprog lecture1
 
Appnostic
AppnosticAppnostic
Appnostic
 
Rtz Carlton and Jet Blue app. effort
Rtz Carlton and Jet Blue app. effortRtz Carlton and Jet Blue app. effort
Rtz Carlton and Jet Blue app. effort
 
Think tank – paris 27 apr
Think tank – paris 27 aprThink tank – paris 27 apr
Think tank – paris 27 apr
 
Presentation zahid 2
Presentation zahid 2Presentation zahid 2
Presentation zahid 2
 
Rtz Carlton and Jet Blue app. effort
Rtz Carlton and Jet Blue app. effortRtz Carlton and Jet Blue app. effort
Rtz Carlton and Jet Blue app. effort
 
Rtz Carlton and Jet Blue app. effort
Rtz Carlton and Jet Blue app. effortRtz Carlton and Jet Blue app. effort
Rtz Carlton and Jet Blue app. effort
 
Think tank – paris 27 apr
Think tank – paris 27 aprThink tank – paris 27 apr
Think tank – paris 27 apr
 
Think tank – paris 27 apr
Think tank – paris 27 aprThink tank – paris 27 apr
Think tank – paris 27 apr
 
Wifi work of july 19, paris
Wifi work of july 19, parisWifi work of july 19, paris
Wifi work of july 19, paris
 
Dreamitalive
DreamitaliveDreamitalive
Dreamitalive
 
Scrolling Beyond Binaries: Exploring social media use amongst young LGBTIQ+ ...
Scrolling Beyond Binaries:  Exploring social media use amongst young LGBTIQ+ ...Scrolling Beyond Binaries:  Exploring social media use amongst young LGBTIQ+ ...
Scrolling Beyond Binaries: Exploring social media use amongst young LGBTIQ+ ...
 
PCMSO - Programa de Controle Médico de Saúde Ocupacional
PCMSO - Programa de Controle Médico de Saúde OcupacionalPCMSO - Programa de Controle Médico de Saúde Ocupacional
PCMSO - Programa de Controle Médico de Saúde Ocupacional
 

Semelhante a Mozilla: Continuous Deploment on SUMO

ExpOn 2011 - Diego Monteiro - Níveis de Maturidade nas Mídias Sociais
ExpOn 2011 - Diego Monteiro - Níveis de Maturidade nas Mídias SociaisExpOn 2011 - Diego Monteiro - Níveis de Maturidade nas Mídias Sociais
ExpOn 2011 - Diego Monteiro - Níveis de Maturidade nas Mídias SociaisDOGSCAMP Summit
 
Agile Deployments with Puppet
Agile Deployments with PuppetAgile Deployments with Puppet
Agile Deployments with PuppetPuppet
 
PyconUA - How to build ERP application having fun?
PyconUA - How to build ERP application having fun?PyconUA - How to build ERP application having fun?
PyconUA - How to build ERP application having fun?Andrew Mleczko
 
Pitfalls of Continuous Deployment
Pitfalls of Continuous DeploymentPitfalls of Continuous Deployment
Pitfalls of Continuous Deploymentzeeg
 
Ruby can haz Everyone
Ruby can haz EveryoneRuby can haz Everyone
Ruby can haz EveryoneRubyX
 
Building an experimentation framework
Building an experimentation frameworkBuilding an experimentation framework
Building an experimentation frameworkzsqr
 
Continuous Deployment at Disqus (Pylons Minicon)
Continuous Deployment at Disqus (Pylons Minicon)Continuous Deployment at Disqus (Pylons Minicon)
Continuous Deployment at Disqus (Pylons Minicon)zeeg
 
Gradle - The hackable build-tool
Gradle - The hackable build-toolGradle - The hackable build-tool
Gradle - The hackable build-toolLeonard Axelsson
 
Recognizing Software Debt - Beyond Agile Puget Sound
Recognizing Software Debt - Beyond Agile Puget SoundRecognizing Software Debt - Beyond Agile Puget Sound
Recognizing Software Debt - Beyond Agile Puget SoundChris Sterling
 
every-day-automation
every-day-automationevery-day-automation
every-day-automationAmir Barylko
 
JavaSE - The road forward
JavaSE - The road forwardJavaSE - The road forward
JavaSE - The road forwardeug3n_cojocaru
 
SecurityBSides las vegas - Agnitio
SecurityBSides las vegas - AgnitioSecurityBSides las vegas - Agnitio
SecurityBSides las vegas - AgnitioSecurity Ninja
 
Android 1.5 to 3.0: a compatibility journey
Android 1.5 to 3.0: a compatibility journeyAndroid 1.5 to 3.0: a compatibility journey
Android 1.5 to 3.0: a compatibility journeyEmanuele Di Saverio
 
Is Advanced Verification for FPGA based Logic needed
Is Advanced Verification for FPGA based Logic neededIs Advanced Verification for FPGA based Logic needed
Is Advanced Verification for FPGA based Logic neededchiportal
 
Clouds against the Floods (RubyConfBR2011)
Clouds against the Floods (RubyConfBR2011) Clouds against the Floods (RubyConfBR2011)
Clouds against the Floods (RubyConfBR2011) Leonardo Borges
 
Plugin Testing
Plugin TestingPlugin Testing
Plugin TestingTim Moore
 
Integrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementIntegrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementChris Sterling
 

Semelhante a Mozilla: Continuous Deploment on SUMO (20)

ExpOn 2011 - Diego Monteiro - Níveis de Maturidade nas Mídias Sociais
ExpOn 2011 - Diego Monteiro - Níveis de Maturidade nas Mídias SociaisExpOn 2011 - Diego Monteiro - Níveis de Maturidade nas Mídias Sociais
ExpOn 2011 - Diego Monteiro - Níveis de Maturidade nas Mídias Sociais
 
Agile Deployments with Puppet
Agile Deployments with PuppetAgile Deployments with Puppet
Agile Deployments with Puppet
 
PyconUA - How to build ERP application having fun?
PyconUA - How to build ERP application having fun?PyconUA - How to build ERP application having fun?
PyconUA - How to build ERP application having fun?
 
Pitfalls of Continuous Deployment
Pitfalls of Continuous DeploymentPitfalls of Continuous Deployment
Pitfalls of Continuous Deployment
 
Agile xptdd@gosoft
Agile xptdd@gosoftAgile xptdd@gosoft
Agile xptdd@gosoft
 
Agile xp tdd@gosoft
Agile xp tdd@gosoftAgile xp tdd@gosoft
Agile xp tdd@gosoft
 
Ruby can haz Everyone
Ruby can haz EveryoneRuby can haz Everyone
Ruby can haz Everyone
 
Hudson
HudsonHudson
Hudson
 
Building an experimentation framework
Building an experimentation frameworkBuilding an experimentation framework
Building an experimentation framework
 
Continuous Deployment at Disqus (Pylons Minicon)
Continuous Deployment at Disqus (Pylons Minicon)Continuous Deployment at Disqus (Pylons Minicon)
Continuous Deployment at Disqus (Pylons Minicon)
 
Gradle - The hackable build-tool
Gradle - The hackable build-toolGradle - The hackable build-tool
Gradle - The hackable build-tool
 
Recognizing Software Debt - Beyond Agile Puget Sound
Recognizing Software Debt - Beyond Agile Puget SoundRecognizing Software Debt - Beyond Agile Puget Sound
Recognizing Software Debt - Beyond Agile Puget Sound
 
every-day-automation
every-day-automationevery-day-automation
every-day-automation
 
JavaSE - The road forward
JavaSE - The road forwardJavaSE - The road forward
JavaSE - The road forward
 
SecurityBSides las vegas - Agnitio
SecurityBSides las vegas - AgnitioSecurityBSides las vegas - Agnitio
SecurityBSides las vegas - Agnitio
 
Android 1.5 to 3.0: a compatibility journey
Android 1.5 to 3.0: a compatibility journeyAndroid 1.5 to 3.0: a compatibility journey
Android 1.5 to 3.0: a compatibility journey
 
Is Advanced Verification for FPGA based Logic needed
Is Advanced Verification for FPGA based Logic neededIs Advanced Verification for FPGA based Logic needed
Is Advanced Verification for FPGA based Logic needed
 
Clouds against the Floods (RubyConfBR2011)
Clouds against the Floods (RubyConfBR2011) Clouds against the Floods (RubyConfBR2011)
Clouds against the Floods (RubyConfBR2011)
 
Plugin Testing
Plugin TestingPlugin Testing
Plugin Testing
 
Integrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementIntegrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio Management
 

Último

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
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
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
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
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Mozilla: Continuous Deploment on SUMO

  • 1. MOZILLA Continuous Deployment on Sumo support.mozilla.com Matt Brandt, QA Engineer mbrandt@mozilla.com Tuesday, November 22, 2011
  • 2. [Nearly] MOZILLA Continuous Deployment on Sumo support.mozilla.com Matt Brandt, QA Engineer mbrandt@mozilla.com Tuesday, November 22, 2011
  • 5. Bring questions What’s wrong with our current small iterations? Tuesday, November 22, 2011
  • 6. Bring questions What’s wrong with our current small iterations? Trust developers to test the app??!! Tuesday, November 22, 2011
  • 7. Bring questions What’s wrong with our current small iterations? Trust developers to test the app??!! What happens to our Selenium test suite? Tuesday, November 22, 2011
  • 8. Bring questions What’s wrong with our current small iterations? Trust developers to test the app??!! What happens to our Selenium test suite? We’ll be relegated to manual testers? Tuesday, November 22, 2011
  • 9. Bring questions What’s wrong with our current small iterations? Trust developers to test the app??!! What happens to our Selenium test suite? We’ll be relegated to manual testers? How do we measure quality? Tuesday, November 22, 2011
  • 10. But first a little history... Tuesday, November 22, 2011
  • 11. But first a little history... Tuesday, November 22, 2011
  • 13. Simplified What the team did before Trunk/ Stage Prod Dev Tuesday, November 22, 2011
  • 14. Simplified What the team did before Trunk/ Stage Prod Dev •Verify new features •Is this the right thing? •Automate Tuesday, November 22, 2011
  • 15. Simplified What the team did before Trunk/ Stage Prod Dev •Verify new features •Is this the right thing? •Automate Tuesday, November 22, 2011
  • 16. Simplified What the team did before Trunk/ Stage Prod Dev •Verify new features •IT pushes •Is this the right thing? •Regression test •Automate •Exploratory Testing •Is this the right thing? Tuesday, November 22, 2011
  • 17. Simplified What the team did before Trunk/ Stage Prod Dev •Verify new features •IT pushes •Is this the right thing? •Regression test •Automate •Exploratory Testing •Is this the right thing? Tuesday, November 22, 2011
  • 18. Simplified What the team did before Trunk/ Stage Prod Dev •Verify new features •IT pushes •IT pushes •Is this the right thing? •Regression test •Verify •Automate •Exploratory Testing •Wahoo! •Is this the right thing? Tuesday, November 22, 2011
  • 19. The brave new world Continuous deployment http://cliptank.com/funny/dog-costumes.php Tuesday, November 22, 2011
  • 20. Tools & attitude Tuesday, November 22, 2011
  • 21. Discuss what is acceptable risk https://wiki.mozilla.org/QA/Execution/Web_Testing/Continuous_Deployment#Risks_.26_Plans_.26_Tools Tuesday, November 22, 2011
  • 22. Discuss what is acceptable risk Risk: Less critical areas will not be covered by automation https://wiki.mozilla.org/QA/Execution/Web_Testing/Continuous_Deployment#Risks_.26_Plans_.26_Tools Tuesday, November 22, 2011
  • 23. Discuss what is acceptable risk Risk: Less critical areas will not be covered by automation •If the feature breaks, it is acceptable to wait up to an hour for a fix. https://wiki.mozilla.org/QA/Execution/Web_Testing/Continuous_Deployment#Risks_.26_Plans_.26_Tools Tuesday, November 22, 2011
  • 24. Discuss what is acceptable risk Risk: Less critical areas will not be covered by automation •If the feature breaks, it is acceptable to wait up to an hour for a fix. • Example: the ability to answer a question. https://wiki.mozilla.org/QA/Execution/Web_Testing/Continuous_Deployment#Risks_.26_Plans_.26_Tools Tuesday, November 22, 2011
  • 27. What’s our manual strategy? Tuesday, November 22, 2011
  • 28. What’s our manual strategy? Tuesday, November 22, 2011
  • 30. Manual strategy Feature verification & exploratory testing Tuesday, November 22, 2011
  • 31. Manual strategy Feature verification & exploratory testing Testing can occur in production Tuesday, November 22, 2011
  • 32. Manual strategy Feature verification & exploratory testing Testing can occur in production Community involvement on new features Tuesday, November 22, 2011
  • 33. Automation is fun https://github.com/mozilla/sumo-tests Tuesday, November 22, 2011
  • 34. Automation is fun https://github.com/mozilla/sumo-tests Tuesday, November 22, 2011
  • 36. Automation strategy Selenium tests for areas that are clumsy to cover with unit tests or QUnit Tuesday, November 22, 2011
  • 37. Automation strategy Selenium tests for areas that are clumsy to cover with unit tests or QUnit Qualify as deployment blockers: run in dev & staging envs Tuesday, November 22, 2011
  • 38. Automation strategy Selenium tests for areas that are clumsy to cover with unit tests or QUnit Qualify as deployment blockers: run in dev & staging envs Non-volatile production tests verify env & services work Tuesday, November 22, 2011
  • 39. Automation strategy Selenium tests for areas that are clumsy to cover with unit tests or QUnit Qualify as deployment blockers: run in dev & staging envs Non-volatile production tests verify env & services work [All] Tests will be deleted if they don’t cover critical areas Tuesday, November 22, 2011
  • 40. Waffling Failure is always an option Tuesday, November 22, 2011
  • 41. Waffling Failure is always an option Tuesday, November 22, 2011
  • 45. Now Trunk/ Stage Prod Dev •Automation runs •Fast iterations •Early stage testing Tuesday, November 22, 2011
  • 46. Now Trunk/ Stage Prod Dev •Automation runs •Auto-updated •Fast iterations •No post-commit hooks •Early stage testing •Bug & feature testing Tuesday, November 22, 2011
  • 47. Now Trunk/ Stage Prod Dev •Not push-button •Automation runs •Auto-updated •Automation •Fast iterations •No post-commit hooks •Monitoring •Early stage testing •Bug & feature testing •Feedback tool •Wahoo! Tuesday, November 22, 2011
  • 49. References •https://support.mozilla.com •https://wiki.mozilla.org/QA/Execution/Web_Testing/ •http://docs.jquery.com/QUnit Continuous_Deployment •https://github.com/mozilla/sumo-tests •https://github.com/jsocol/django-waffle •http://coffeeonthekeyboard.com/the-future-of-sumo- •http://coffeeonthekeyboard.com/introducing-waffle-for- django-541/ development-511/ •http://coffeeonthekeyboard.com/acronyms-you-should-know- •https://github.com/etsy/statsd mttd-and-mttr-597/ •http://codeascraft.etsy.com/2011/02/15/measure-anything- measure-everything/ •http://www.slideshare.net/stephendonner/continuous- deployment-9363895 Tuesday, November 22, 2011