mozilla: continuous deploment on sumo

49
MOZILLA Continuous Deployment on Sumo Matt Brandt, QA Engineer [email protected] support.mozilla.com Tuesday, November 22, 2011

Upload: matt-brandt

Post on 24-Apr-2015

2.114 views

Category:

Technology


0 download

DESCRIPTION

An overview of how Mozilla is doing Continuous Deployment for support.mozilla.org

TRANSCRIPT

Page 1: Mozilla: Continuous Deploment on SUMO

MOZILLA Continuous Deployment on Sumo

Matt Brandt, QA Engineer

[email protected]

support.mozilla.com

Tuesday, November 22, 2011

Page 2: Mozilla: Continuous Deploment on SUMO

MOZILLA Continuous Deployment on Sumo

[Nearly]

Matt Brandt, QA Engineer

[email protected]

support.mozilla.com

Tuesday, November 22, 2011

Page 3: Mozilla: Continuous Deploment on SUMO

Bring questions

Tuesday, November 22, 2011

Page 4: Mozilla: Continuous Deploment on SUMO

Bring questions

Tuesday, November 22, 2011

Page 5: Mozilla: Continuous Deploment on SUMO

Bring questions

What’s wrong with our current small iterations?

Tuesday, November 22, 2011

Page 6: Mozilla: Continuous Deploment on SUMO

Bring questions

What’s wrong with our current small iterations?

Trust developers to test the app??!!

Tuesday, November 22, 2011

Page 7: Mozilla: Continuous Deploment on SUMO

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

Page 8: Mozilla: Continuous Deploment on SUMO

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

Page 9: Mozilla: Continuous Deploment on SUMO

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

Page 10: Mozilla: Continuous Deploment on SUMO

But first a little history...

Tuesday, November 22, 2011

Page 11: Mozilla: Continuous Deploment on SUMO

But first a little history...

Tuesday, November 22, 2011

Page 12: Mozilla: Continuous Deploment on SUMO

Short Iterations

Tuesday, November 22, 2011

Page 13: Mozilla: Continuous Deploment on SUMO

SimplifiedWhat the team did before

Trunk/Dev

Stage Prod

Tuesday, November 22, 2011

Page 14: Mozilla: Continuous Deploment on SUMO

SimplifiedWhat the team did before

Trunk/Dev

Stage Prod

•Verify new features

•Is this the right thing?

•Automate

Tuesday, November 22, 2011

Page 15: Mozilla: Continuous Deploment on SUMO

SimplifiedWhat the team did before

Trunk/Dev

Stage Prod

•Verify new features

•Is this the right thing?

•Automate

Tuesday, November 22, 2011

Page 16: Mozilla: Continuous Deploment on SUMO

SimplifiedWhat the team did before

Trunk/Dev

Stage Prod

•Verify new features

•Is this the right thing?

•Automate

•IT pushes

•Regression test

•Exploratory Testing

•Is this the right thing?

Tuesday, November 22, 2011

Page 17: Mozilla: Continuous Deploment on SUMO

SimplifiedWhat the team did before

Trunk/Dev

Stage Prod

•Verify new features

•Is this the right thing?

•Automate

•IT pushes

•Regression test

•Exploratory Testing

•Is this the right thing?

Tuesday, November 22, 2011

Page 18: Mozilla: Continuous Deploment on SUMO

SimplifiedWhat the team did before

Trunk/Dev

Stage Prod

•Verify new features

•Is this the right thing?

•Automate

•IT pushes

•Regression test

•Exploratory Testing

•Is this the right thing?

•IT pushes

•Verify

•Wahoo!

Tuesday, November 22, 2011

Page 19: Mozilla: Continuous Deploment on SUMO

The brave new worldContinuous deployment

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

Tuesday, November 22, 2011

Page 20: Mozilla: Continuous Deploment on SUMO

Tools & attitude

Tuesday, November 22, 2011

Page 21: Mozilla: Continuous Deploment on SUMO

Discuss what is acceptable risk

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

Tuesday, November 22, 2011

Page 22: Mozilla: Continuous Deploment on SUMO

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

Page 23: Mozilla: Continuous Deploment on SUMO

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

Page 24: Mozilla: Continuous Deploment on SUMO

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

Page 25: Mozilla: Continuous Deploment on SUMO

Acceptable risk

Tuesday, November 22, 2011

Page 26: Mozilla: Continuous Deploment on SUMO

Acceptable risk

Tuesday, November 22, 2011

Page 27: Mozilla: Continuous Deploment on SUMO

What’s our manual strategy?

Tuesday, November 22, 2011

Page 28: Mozilla: Continuous Deploment on SUMO

What’s our manual strategy?

Tuesday, November 22, 2011

Page 29: Mozilla: Continuous Deploment on SUMO

Manual strategy

Tuesday, November 22, 2011

Page 30: Mozilla: Continuous Deploment on SUMO

Manual strategy

Feature verification & exploratory testing

Tuesday, November 22, 2011

Page 31: Mozilla: Continuous Deploment on SUMO

Manual strategy

Feature verification & exploratory testing

Testing can occur in production

Tuesday, November 22, 2011

Page 32: Mozilla: Continuous Deploment on SUMO

Manual strategy

Feature verification & exploratory testing

Testing can occur in production

Community involvement on new features

Tuesday, November 22, 2011

Page 33: Mozilla: Continuous Deploment on SUMO

Automation is fun

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

Tuesday, November 22, 2011

Page 34: Mozilla: Continuous Deploment on SUMO

Automation is fun

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

Tuesday, November 22, 2011

Page 35: Mozilla: Continuous Deploment on SUMO

Automation strategy

Tuesday, November 22, 2011

Page 36: Mozilla: Continuous Deploment on SUMO

Automation strategy

Selenium tests for areas that are clumsy to cover with unit tests or QUnit

Tuesday, November 22, 2011

Page 37: Mozilla: Continuous Deploment on SUMO

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

Page 38: Mozilla: Continuous Deploment on SUMO

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

Page 39: Mozilla: Continuous Deploment on SUMO

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

Page 40: Mozilla: Continuous Deploment on SUMO

WafflingFailure is always an option

Tuesday, November 22, 2011

Page 41: Mozilla: Continuous Deploment on SUMO

WafflingFailure is always an option

Tuesday, November 22, 2011

Page 42: Mozilla: Continuous Deploment on SUMO

Control

Tuesday, November 22, 2011

Page 43: Mozilla: Continuous Deploment on SUMO

Gathering data

Tuesday, November 22, 2011

Page 44: Mozilla: Continuous Deploment on SUMO

Gathering data

Tuesday, November 22, 2011

Page 45: Mozilla: Continuous Deploment on SUMO

Now

Trunk/Dev

Stage Prod

•Automation runs

•Fast iterations

•Early stage testing

Tuesday, November 22, 2011

Page 46: Mozilla: Continuous Deploment on SUMO

Now

Trunk/Dev

Stage Prod

•Automation runs

•Fast iterations

•Early stage testing

•Auto-updated

•No post-commit hooks

•Bug & feature testing

Tuesday, November 22, 2011

Page 47: Mozilla: Continuous Deploment on SUMO

Now

Trunk/Dev

Stage Prod

•Automation runs

•Fast iterations

•Early stage testing

•Auto-updated

•No post-commit hooks

•Bug & feature testing

•Not push-button

•Automation

•Monitoring

•Feedback tool

•Wahoo!

Tuesday, November 22, 2011

Page 48: Mozilla: Continuous Deploment on SUMO

Questions

Tuesday, November 22, 2011

Page 49: Mozilla: Continuous Deploment on SUMO

•https://support.mozilla.com•https://wiki.mozilla.org/QA/Execution/Web_Testing/Continuous_Deployment•https://github.com/mozilla/sumo-tests•http://coffeeonthekeyboard.com/the-future-of-sumo-development-511/•http://coffeeonthekeyboard.com/acronyms-you-should-know-mttd-and-mttr-597/•http://www.slideshare.net/stephendonner/continuous-deployment-9363895

•http://docs.jquery.com/QUnit•https://github.com/jsocol/django-waffle•http://coffeeonthekeyboard.com/introducing-waffle-for-django-541/•https://github.com/etsy/statsd•http://codeascraft.etsy.com/2011/02/15/measure-anything-measure-everything/

References

Tuesday, November 22, 2011