|
|
The Gecko BugAThon
Help save Gecko engineers from imminent doom!
Contents:
What is the BugAThon?
A call for volunteers: a quick check in Bugzilla shows that Tom Pixley,
Chris Karnaze, Kipp Hickman, and Eric Pollman currently have 371 open bugs
between them, of which 300 have blank status entries and need to be decomposed
to a simple test case. Collectively, they are The Most Doomed of the Doomed.
Do you care about web standards? Do you hate working around browser
bugs? Don't just stand there--with engineers bleeding by the side of the
road to shipping Gecko, are you going to be the Philistine or the Good
Samaritan?
You can help, and you don't need to be a C++ engineer! Simplifying bug
reports to the simplest possible test case doesn't take too long per bug,
but when you've got this many bugs, it really adds up. And every hour Gecko
engineers spend decomposing bug reports is an hour they can't spend on
FIXING bugs. The more bugs net volunteers simplify, the faster Gecko engineers
can fix them, and the fewer bugs we'll ship!
So, in the spirit of public television telethons, here's the deal: if
you sign up and decompose to a simple test case the listed number of bugs
to the owner's satisfaction, you will earn the listed valuable reward:
| Pledge Level |
Reward |
| 5 bugs |
invitation to the Gecko launch party |
| 10 bugs |
the invitation, plus an attractive Gecko stuffed animal |
| 12 bugs |
the invitation, plus an attractive Gecko stuffed animal autographed
by Rick Gessner, the Father of Gecko |
| 15 bugs |
the invitation, plus a Gecko T-shirt |
| 17 bugs |
the invitation, plus a Gecko T-shirt signed by the grateful engineer |
| 20 bugs |
the invitation, plus a Gecko T-shirt signed by the whole raptor team |
What is a Simplified Test Case?
A simplified test case means the simplest possible web page that still
reproduces the bug. If you remove any more characters from the file of
the simplified test case, you no longer see the bug. To turn a web page
that shows a bug into a simplified test case, you:
-
Open a Bugzilla
account and download the latest
milestone build of the Mozilla browser.
-
To claim a bug, choose one of the open bugs from the search links below
and enter [MAKINGTEST] and your email address in the "Status Whiteboard"
field so others know you've claimed it and effort isn't duplicated.
-
Download the web page that shows the bug to your local machine.
-
Make sure to download any linked JavaScript .js files, CSS .css files,
frameset .html files, or image files as well. You can find the names of
those files and figure out the URLs to get them by doing a View-->Page
Source on the main page. For example, if http://www.foo.com/resume.html
contains an IMG link to mypicture.jpeg, you'll want to type http://www.foo.com/mypicture.jpeg
into the browser, then right click over the image and Save Image As ...
to the same directory you put resume.html in.
-
Using a text editor (like Notepad on Windows, SimpleText on the Mac, or
vi or emacs on UNIX), start removing HTML markup, CSS rules, and lines
of JavaScript from the page. Start by removing the parts of the page that
seem unrelated to the bug. Every few minutes, check the page to make sure
it still reproduces the bug.
-
When you've cut away as much HTML, CSS, and JavaScript as you can, and
cutting away any more causes the bug to disappear, you're done. Attach
the test case to the Bugzilla bug report (as a ZIP file if the test case
includes multiple files) and mark the bug [TESTCASE] in the "Status Whiteboard"
field so engineering knows the bug is ready to be crushed.
The Rules
Please only claim five bugs at a time and decompose those five bugs to
test cases before you claim the next five. This is to prevent people from
signing up from 20 bugs, procrastinating, and then dropping out of the
BugAThon, which would prevent others from claiming the bugs and the prizes.
The fine print:
-
bugs resolved as DUPs (duplicate of another bug report), WORKSFORME (when
you do the test yourself, you don't see the bug), and INVALID (reporter
misunderstanding or other problem with the report) instead of as valid
with a simplified test case only score as half a bug each. Example: 9 valid
bugs with test cases plus 2 DUPs plus 4 WORKSFORME count as 12 "finished"
bugs and earn you an autographed stuffed animal.
-
If a testcase already exists as an attachment or is referenced within the
notes and you verify that it's definitive and can't be simplified further,
that counts.
-
If you get all the way up to the group-signed T-Shirt, you *can* qualify
for a stuffed animal as well by doing 12 more.
To qualify as a finished bug, the bug must be completed with:
-
an attached simplest-as-possible test case
-
the summary line updated if necessary
-
a status message reading [TESTCASE] plus a statement of what needs to be
fixed to the extent you can explain it
-
the description written up in accordance with the mozilla bug writing guidelines
at http://www.mozilla.org/quality/bug-writing-guidelines.html
-
the engineer's verbal agreement to me (when the prize is claimed) that
it's been decomposed satisfactorily
When you're ready to claim your bounty for squashing your bugs, email ekrock@netscape.com
with:
i) your name
ii) your physical mailing address
iii) your list of finished bugs
iv) your score (iii modified for DUPs/WORKSFORME/INVALID)
v) the reward(s) you're claiming
vi) your T-shirt size if claiming a T-shirt
So it's a race! The easiest bugs will go first, so act now to claim
and crush YOUR bugs. Ladies and gentlemen, start your browsers!!!
How to Find Open Bugs with Blank Status Lines
Use these links to open bugs with a blank status field:
Vidur
Apparao (JavaScripters, click here to attack Document Object Model
bugs!)
Tom
Pixley
Chris
Karnaze
Eric
Pollman
Kipp
Hickman
Or, if you prefer, you can go to http://bugzilla.mozilla.org/query.cgi
and manually search with these parameters:
| Status |
NEW or ASSIGNED or REOPENED |
[select all 3] |
| Email |
karnaze |
Assigned To |
| Status whiteboard |
^\s*$ |
regular expression |
Substitute vidur, joki, pollman, or kipp for karnaze to find Vidur Apparao,
Tom Pixley, Eric Pollman, or Kipp Hickman's bugs.
If you want to look at [TESTCASE] bugs (bugs which already have a finished
test case), you can use these links: Vidur,
Tom,
Chris,
Eric,
and Kipp.
Update: Vidur Apparao added to the BugAThon for Document
Object Model Bugs!
Just two weeks ago, Vidur was concerned that he didn't have enough Document
Object Model (DOM) bugs filed against him, and he even asked me to help
get more people testing our DOM support.
What's the DOM? The DOM is the object model of HTML elements on the
page which we access from JavaScript. It has three levels:
-
The DOM level 0 has no formal definition, but it refers to the core browser
DOM for forms, frames, windows, and events that was supported by Nav3 and
IE3. It's important to make sure Gecko's support for DOM0 is solid to avoid
breaking the JavaScript pages that are out on the web already. The DOM0
includes HTML document objects like document.forms[index],
images[],
applets[], links[], forms[], and anchors[]; document methods
like open(), write(), and close(); the window
object and methods; and HTML events such as onclick, mouseover,
and
onsubmit.
-
The DOM level 1 is the industry standard Document Object Model formally
defined by the W3C with Core language-independent features (such as the
Node interface for getting and setting attributes) as well as HTML-specific
features, many of which are also considered "DOM0" functionality.
-
The DOM level 2 is currently under development. It adds features such as
event capturing, handling, and bubbling and the ability to set style sheet
properties.
In a classic example of how you should be careful what you ask for, suddenly
Vidur's open bug count has jumped from 40 to 112--and I haven't yet lifted
a finger! Vidur swears he didn't have one too many at the cantina
before the last milestone. We have our doubts, especially because he was
in charge of moving the bottomless keg from Building 22 to Building 21,
and we think he may have taken personal responsibility for "cleaning it
out" before the move. (Vidur's a very conscientious guy, you see.)
We'll be watching Vidur (and the keg!) more closely in the future. In
the meantime, Vidur is now Respectably Doomed, and in sympathy, we're adding
him to the BugAThon. Do you know JavaScript? This is the perfect chance
for you to help. We need to get Vidur's
open, no-status bugs reduced to simple-as-possible test cases. That
means stripping out as much JavaScript and HTML from the test page as you
can while still reproducing the bug. The less time Vidur spends simplifying
bug reports, the more time he can spend fixing bugs.
And let's face it: we JavaScripters have a real interest in getting
these bugs fixed. The more DOM bugs Vidur fixes, the fewer we'll have to
work around when the product ships! So let's spend time now to find, fix,
and simplify DOM bugs instead of spending time after the release working
around them! JavaScripters, let's simplify Vidur's
open, no-status bugs today!
P.S. The usual disclaimer about DOM support in Gecko: Gecko will fully
support DOM0 and DOM1. There is no
commitment to support any of DOM2 in the first release of Gecko or
Nav5, but some support is in the current builds and we of course welcome
bug reports regarding that functionality.
P.P.S. When you file new Document Object Model bugs in Bugzilla, be
sure to use the correct component:
| Component |
Meaning |
| DOM Level 0 |
Incompatibilities with the DOM of Nav3. (Mark [4.xP] in the Summary
field.) |
| DOM Level 1 |
Incompatibilities with the W3C DOM1
specification. (Mark {dom1} in the Summary field.) |
| DOM Level 2 |
Incompatibilities with the latest working draft of the under-development
W3C DOM2 specification.
(Mark {dom2} in the Summary field.) |
| JavaScript Engine |
Don't file DOM bugs against "JavaScript Engine"! The JavaScript
Engine component is only for core JavaScript (ECMAScript) language and
interpreter bugs |
If you haven't already, please read the description of what
each Browser component name in Bugzilla means.
Update: Gecko BugAThon Deadline Eliminated!
The BugAThon is going great! Look at these displays of major heroism:
-
In just the first two weeks of the effort, we cut Chris Karnaze's open,
no status bug list from 164 on 6/23 to 47 on 7/6!
-
Ian Hickson stayed up until 5:40 a.m. and simplified 18 bugs the first
night of the BugAThon, and has processed over 42 bugs to date total!
-
Sam Allen's resolved 35 bugs as DUPs!
-
Look at all these test cases we've created for Tom,
Chris,
Eric,
and Kipp!
... and read these comments from participants:
-
"As a result of announcing the bug contest, I've gotten a bazillion bugzilla
notifications today." -- Chris Karnaze
-
"The thing is, I am quite happy to work for Mozilla just to get a decent,
free, standards compliant browser onto the market. That is an incentive
in itself. The rest is just a bonus...." -- Ian Hickson
-
"Glad I could help. I've made a recent move from HTML/JavaScript/CSS development
to QA and was glad to get some practice in. I would be happy to do some
beta testing in the future as well if you need it." -- Erin Pierce
Because the BugAThon is going so well and so many people have expressed
interest in participating going forward, we're eliminating the August 15th
deadline and making the BugAThon an ongoing effort. (Rick and Eric aren't
guaranteeing that we'll buy and mail stuffed Geckos until the end of time,
but we're eliminating the August 15th deadline and will keep awarding prizes
for the foreseeable future.) Welcome to all new Net contributors!
A categorized list of some open karnaze bugs on Monday September 13th
at 2:00 p.m.:
images
3943
Two images overlapping
frames
6724
Frames
table layout
1825
Right-aligned table cell on this page doesn't layout properl
4325
display:table-cell on HEAD and BODY not very successful
3681
Table column widths not properly calculated when reset
4926
second <tr> overlaps image in first <tr>
6388
[PP]COLGROUP attribute/value 'width=rel' not working properl
3094
Layout problem with filled table cells
Disclaimers: Conditions subject to change without notice. Rewards subject
to substitution with goods of equivalent value. All decisions are final.
This is not an official contest. It is not sponsored by mozilla.org, Netscape
Communications, or America Online; it is an incentive program to recognize
Internet volunteers which is being run by Rick Gessner and Eric Krock directly.
|