Download - Mozilla: Under the Hood

Transcript
Page 1: Mozilla: Under the Hood

MozillaUnder the Hood

Page 2: Mozilla: Under the Hood

Presented byMarcia Knous

Team Mozilla QA

Page 3: Mozilla: Under the Hood

Brief History of Mozilla

Page 4: Mozilla: Under the Hood

Mozilla is...

A global effort to promote choice and innovation on the Internet

An open source project

Page 5: Mozilla: Under the Hood

Software for the people, by the people

Page 6: Mozilla: Under the Hood

NY Times two page adDecember 16, 2004

Page 7: Mozilla: Under the Hood

What fuels us?

Page 8: Mozilla: Under the Hood

Community‣ 2008 Mozilla Summit

Page 9: Mozilla: Under the Hood

We build on top of each other

Page 10: Mozilla: Under the Hood

A Good Day at Mozilla :)

Page 11: Mozilla: Under the Hood

The tree is green...

Page 12: Mozilla: Under the Hood

...So what do we test?

Page 13: Mozilla: Under the Hood

Everything!

• Firefox Release builds

• Including Firefox Localizations

• Firefox Nightly Builds

• Firefox Mobile (Fennec)

• Firefox web properties

• Thunderbird

Page 14: Mozilla: Under the Hood

What do we focus on?

•Basic functionality

•Standards Compliance

•Performance

Page 15: Mozilla: Under the Hood

How do we do this?•Automated Tests

•Manual Tests

Page 16: Mozilla: Under the Hood

The Mozilla Platform

Page 17: Mozilla: Under the Hood

Automated Tests

Page 18: Mozilla: Under the Hood

Unit Tests

xpcshell

Compiled code

Page 19: Mozilla: Under the Hood

XPC Shell‣Anything available to the XPCOM layer (through scriptable interfaces) can be tested with xpcshell.‣Limitations: Can’t easily open windows, test chrome, work with HTML parser or the DOM‣

Page 20: Mozilla: Under the Hood

Graphical & Interactive Tests

Mochitest

Chrome Tests

Reftest

Crash Tests

Page 21: Mozilla: Under the Hood

Content Mochitest

Highlights

Runs tests in a full browser environment with chrome privileges

Can simulate user input (keyboard/mouse)

Good for testing things such as password manager and popup blocking

Page 22: Mozilla: Under the Hood

Mochichrome

Highlights

Elevated privileges allow access to XPCOM components and services

Uses simple JS function calls to aid in correctness

Useful for testing UI components such as:

Download Manager/Addons Manager

Page 23: Mozilla: Under the Hood

Browser Chrome Tests

Tests are written as JS files

Uses simple JS function calls to aid in correctness

Useful for testing Browser UI features

Page 24: Mozilla: Under the Hood

Crash Tests

Based on the reftest framework

The test works by loading the file and completing without crashing or asserting

Page 25: Mozilla: Under the Hood

Reftests➡Layout Engine Visual Tests➡Results are reported as Pass, Fail or Unexpected

Page 26: Mozilla: Under the Hood

Desired Result of the test

Page 27: Mozilla: Under the Hood

Taloshttp://graphs.mozilla.org

Page 28: Mozilla: Under the Hood

Leak Tests

Page 29: Mozilla: Under the Hood

Topsite Testing

Page 30: Mozilla: Under the Hood

Other Tests➡Fuzz Tests➡Accessibility➡JS Tests

Page 31: Mozilla: Under the Hood

Mozmill

Functional UI testing for Mozilla Applications.

Page 32: Mozilla: Under the Hood
Page 33: Mozilla: Under the Hood

Manual Tests

Page 34: Mozilla: Under the Hood

Litmus

‣Open 24/7 for your testing enjoyment

‣Test cases written by Mozilla QA & community

Page 35: Mozilla: Under the Hood

Litmus Full Functional Tests

Page 36: Mozilla: Under the Hood

Litmus Basic Functional Tests

Page 37: Mozilla: Under the Hood

Litmus Smoketests

Page 38: Mozilla: Under the Hood

Manual Debugging ToolsThe Error Console is your friend!

Page 39: Mozilla: Under the Hood

Even with all these tests...

Page 40: Mozilla: Under the Hood

There is no magic bullet

Page 41: Mozilla: Under the Hood

The bug that forced FF 3 RC2

Page 42: Mozilla: Under the Hood

There is humor in testing software...

Page 43: Mozilla: Under the Hood

Keynote software errorCommon sight while preparing this presentation, but

at least I can send feedback...

Page 44: Mozilla: Under the Hood

Who tests?Fosdem, 2009

Page 45: Mozilla: Under the Hood

The Community

Nightly Testers - ~ 10K

Betatesters - ~ 3 Million

Web Developers

Mozilla QA Team - 18

Page 46: Mozilla: Under the Hood

The QA CompanionUseful add on that allows the community to test

Page 47: Mozilla: Under the Hood
Page 48: Mozilla: Under the Hood

An Example of Code Coverage

Page 49: Mozilla: Under the Hood

How do we get feedback?

Page 50: Mozilla: Under the Hood

Community Members file bugs and help triage

The Mozilla “kitchen”

Bugzilla

Page 51: Mozilla: Under the Hood

Hendrix

Feedback link is postioned prominently on Release Notes and first run page

Blocker bug for Firefox 3 was found through this feedback mechanism

Page 52: Mozilla: Under the Hood

First run page before we changed the version to Firefox 3.5...But nonetheless a good example of a the direct feedback links (Bugzilla, Hendrix) on first run page

Page 53: Mozilla: Under the Hood

Twitter

Tweets regarding issues with Firefox are reported and monitored

Page 54: Mozilla: Under the Hood

BreakpadCrash reporting tool

Page 55: Mozilla: Under the Hood

MozillaZine

Firefox Forum Discussions

At one time was the premier Mozilla news site

Page 56: Mozilla: Under the Hood

Newsgroups - moz.dev.quality

Page 57: Mozilla: Under the Hood

QMO - The QA PortalCentral repository for project info and documents

Page 58: Mozilla: Under the Hood

reporter.mozilla.org

Linked directly from the Help menu

Allows you to report a broken website right from the UI

Page 59: Mozilla: Under the Hood

So who reviews all this feedback?

Sometimes tough to separate the “noise” from the real issues

Page 60: Mozilla: Under the Hood

We give back...

Page 61: Mozilla: Under the Hood

Songbird

Blackbird

Instantbird

Seamonkey

KompoZer

Nokia’s Internet Tablet

Wyzo

Miro

Flock

Celtx

Komodo

Page 62: Mozilla: Under the Hood

Projects/Technologies

Projects

Firefox

Camino

Bugzilla

Fennec

Lightning and Sunbird

Seamonkey

Thunderbird

Technologies

Gecko

XULRunner

Mozilla Labs

http://labs.mozilla.com/projects/

Page 63: Mozilla: Under the Hood

The end...questions?

Page 64: Mozilla: Under the Hood

Resources/Background material

The History of Mozilla: https://library.mozilla.org/The_History_of_Mozilla

QMO: http://quality.mozilla.org/

Litmus: https://litmus.mozilla.org/

Mozmill: http://code.google.com/p/mozmill/

Developer info: https://developer.mozilla.org/

Mozilla Labs: http://labs.mozilla.com/

Tinderbox for Firefox 3.5: http://tinderbox.mozilla.org/showbuilds.cgi?tree=Firefox3.5

Page 65: Mozilla: Under the Hood

Resources/Background material

Get the Firefox Beta: http://www.mozilla.com/en-US/firefox/all-beta.html

QA Companion: https://addons.mozilla.org/en-US/firefox/addon/5428

Hendrix: http://hendrix.mozilla.org/

Mozilla support: http://support.mozilla.com/en-US/kb/

Mozilla Digital Memory Bank: http://chnm.gmu.edu/mozilla-digital-memory-bank/

Marcia’s Firefox Robot Wars Video: http://www.youtube.com/watch?v=OnZClPMoYEY

Page 66: Mozilla: Under the Hood

Jaguar Inline 6 Car Engine Photo courtesy of dave_7. Licensed under a Creative Commons license - http://www.flickr.com/photos/daveseven/250993044/

Bullet photo courtesy of JinglyJon. Licensed under a Creative Commons license : http://www.flickr.com/photos/jinglyjon/180600454/

Photo credits