すらいむがあらわれた

こまんど >  たたかう  にげる

Test the Web Forward Meetup (仮), Tokyo #1 で W3C CSS仕様のテストを書く

朝起きてTwitterを眺めていたらこんなイベントのお知らせが流れてきていたので行ってきました。


Test the Web Forward Meetup (仮), Tokyo #1
http://atnd.org/events/43412

Test the Web Forwardは、HTML5やCSS3、その他API仕様など、W3Cが策定するWeb標準仕様のテストケースをコミュニティベースで書くイベントです。作成したテストケースは、W3Cメンバーによるレビューを受けた後、実際のテストケースとして採用されます。つまり・・・誇張でも何でもなく、「あなたのテストがWebを作る!」ということです。

W3Cには数々の仕様があるのですが、それがブラウザに実装される際には膨大なテストを行わなければならず、そのためにテストケースの作成が必要です。なので、テストケースの作成を手伝う事で仕様が実装されやすくしていこうという活動です。

午前中は主催者のみなさんからの解説。

Test the Web Forward Meetup (仮)
https://docs.google.com/presentation/d/1kNbHD956TedQ2K9L8YNMM9ZlPzGKJbwuyjd9Wj-RBPU/edit#slide=id.p
まずは今日やる事について。


リファレンステストの書き方
http://slid.es/nakajmg/reftest
CSS仕様のテストコードの書き方について。RefTestという方法を使います。RefTestはツールの名前ではなく、テスト用と参考(Ref)用の2枚のhtmlを作成して見比べて確認できるようにする手法です。Ref用のほうはブラウザで正しい見た目になるようにhtmlを作っておき、テスト用をブラウザで見たときにRef用とテスト用が同じ見た目になればOK。


testharness.jsでテストするには
http://dl.dropboxusercontent.com/u/7571134/testharness-intro/index.html
testharness.js https://github.com/jgraham/testharness.jsJavaScriptのテストフレームワークの1つ。JavaScript まわりの仕様のテストケース作成にはこれをつかうそうです。


JavaScriptチーム、html5タグチーム、CSSチームなどに別れ、昼ご飯を食べた後は作業開始。
私はCSSチームに入りました。
今日の目標は「1人1Pull Request」。
とはいったものの、なかなかテストを書くのに良いターゲットが見つからず時間が過ぎていきます…。
要は、「テストが足りない !== テストが難しい機能のテストが足りない」ということらしい。


テストコードのカバレッジはここで見られます。
Open Web Platform Test Suite
http://w3c-test.org/web-platform-tests/master/tools/coverage/
CSSのテストコードの状況はここで調べる事ができます。検索も可能。
http://test.csswg.org/shepherd/search/


結局、CSS UI のbox-sizing:padding-box
http://www.w3.org/TR/2012/WD-css3-ui-20120117/
が削除される可能性がある「Features at risk」に載っているので実装を促す意味でテストを書くのによいのでは、と紹介していただき、RefTestの書き方を教えてもらって、なんとかテストを仕上げてノルマの1Pull Requestを達成できました。


これは会場で貰ったステッカー。主催の皆さん、他の参加者の皆さんどうもありがとうございました(^^)
Test the Web Forward Meetup (仮), Tokyo #1
Test the Web Forward Meetup (仮), Tokyo #1 posted by (C)kanpan