Test the Web Forward took place in San Francisco last weekend and we are happy to bring you the gory details of what went down! In short, we had more than 70 people writing about 90 tests (and reviewing a similar number) for at least 9 CSS and SVG specifications!
The Web Platform team is always looking to find ways to make the web better. One of the ideas that was put forward was to assist web developers in learning how to write W3C tests. The germ of this idea is suggested in Move the Web Forward.
At first, this idea seemed daunting. Would developers care about testing? How difficult would it be to learn to write a test? Could the W3C test harness deal with a big influx of new contributors? But gradually, we all warmed up to the idea and started planning the event.
On June 15th and 16th, about 75 people trooped in to learn about writing tests for specifications. A whole slew of editors of various specifications and other W3C experts were on hand to assist the developers as they wrote tests: Fantasai, Tab Atkins, Simon Fraser, Edward O’Connor, David Baron, Vincent Hardy, Dirk Schulze, Alan Stearns, Doug Schepers, Glenn Adams, Sylvain Galineau, Arron Eicholz, John Jansen, Peter Linss, Gérard Talbot and more.
The Day before D-Day
On Friday evening, Arno Gourdol welcomed the audience setting the context for what we were about to do. Alan Stearns gave an overview of what these tests are and how to go about writing them. Peter Linss, who maintains the CSS Testing framework, gave us an in-depth look at it. Doug Schepers talked about how to use the framework to write tests in SVG. Fantasai closed off the evening with a talk on writing good bug reports. Recordings of the talks are available.
Dinosaurs are integral to the Move the Web Forward initiative (just see the banner!), so we thought why not get a big inflatable dinosaur to make it more fun? So behold the dinosaur:
We are actively processing applications for a suitable name for this dinosaur in the comments! The best suggestion will win a Test the Web Forward T-shirt!
On Saturday morning, Rebecca Hauk & Jacob Goldstein, WebKit Contributors, gave us a step-by-step tutorial on how to write CSS and JS tests for the W3C. Armed with this info, we started scouring the specifications for testable assertions and writing tests. The best part was sounding a gong whenever anyone got their test reviewed and submitted to the W3C!
Cross-platform, cross-browser tests were written and submitted to the W3C. Where we found differences, we logged bugs. This event produced bugs for individual browsers, bugs on the specifications themselves and even uncovered a problem with the W3C test harness.
At the end of the day, 6 prizes were up for grabs:
Most tests reviewed
- Simon Fraser was hard at work reviewing test cases, so much that he reviewed 56 tests!
Most tests written (2 prizes)
- Jeffery Carl Faden won first place for writing 8 tests
- Neils Christoffersen won second place for writing 7 tests
- Andres Ugarte wrote a test on perspective rendering that worked fine on all of the Mac browsers he tried. Another person at his table took the test and tried it out on some Windows browsers, and found and reported a bug in Firefox on Windows. So Doug May won the prize for best bug.
- Jesse Bounds wrote a test for this rule in the CSSOM Specification: “The styleSheets length attribute must reflect the number of sheets at page load and after dynamically.”
- Keith Brown wrote a test to verify the area outside the curve of the border edge (with border-radius) should not accept mouse events on behalf of elements.
- Melanie Archer wrote a test that checks for this rule stated in the Backgrounds & Borders specification: “If ‘background-attachment’ is given the value ‘local,’ then the background image scrolls with the containing element’s content when the element’s content is scrolled.”
- Doug Schepers wrote a monstrous SVG rotation test that checks rotation one degree at a time through the whole 360°. It uses a neat trick of making a red-filled path that is identical to the rotated SVG object which will show through if the transform fails.
Here is an interesting commit graph of the test repository at the event. It seems like there was – at one point – 38 simultaneous branches!
That’s a wrap!
Vincent Hardy held the fort as the presenter for the two days, while Israel Noto Garcia acted as the background manager ensuring the event went smoothly. Marie Nedich helped with the organizing of the event and Liz Arroyave-Frederick reached out to the community to spread the word about this event, while almost everyone on our team pitched in to help set up and help the audience write more tests! Thank you everyone for participating and making the web more awesome one test at a time.
We would love to continue making this happen in the future. We just do not know yet in what form. No doubt we would let you all be the first to know when we do decide on a course of action. Meanwhile, please do follow @testthewebfwd for links, updates, and information on other Test the Web Forward events when they happen.
Were you at Test the Web Forward? If so, we would love to hear from you on what you liked, or didn’t and what you recommend we do next time (if we host an event). Please email us at firstname.lastname@example.org with your suggestions!