Concordion
受入テスト用フレームワークなんだそうな。Acceptance Test-Driven Development(ATDD)って言ってるけど,BDDみたいなもんかね。具体的には,HTMLに仕様を記述して,仕様書と対になるフィクスチャ(Fixture)を作ると,動く仕様書ができあがるというシロモノ。FixtureはJava以外にも .NET/Python/Rubyがあるんだと。
サイトのドキュメントがよく出来ているので,使い方などなどはそっち直接読んだ方が早い。特にFAQは必読ね。
代わりに日本語ネタでちょっと試した事を残すよ。まず,仕様書となるHTMLはシフトJISでも記述できた。ただし,その場合はXMLプロローグにエンコードを明記しとかないとダメ。UTF-8だったらXMLプロローグは省略できたよ。
<?xml version="1.0" encoding="Shift_JIS"?>
仕様書側の式には日本語使わない方がいいみたい。なので,Fixture側のメソッド名も日本語を使っちゃダメだ。別にFixtureが外に露呈することはないので,機械的に名前振っても問題はないだろう。
あと,XMLネームスペースが "concordion"っていくら何でも長すぎる。"c"とかで十分じゃ。
正直「面白いけど,実用には向かないな」と思うけど,そうバッサリ見捨てられない何かがあるよ。仕様書を記述するHTMLがあまりにもPlainすぎるとか難癖つけたらキリないが「動く仕様書」って魅力的な響きがあるね。特に,Concordion自らがそれでテストされており,まんま リファレンスマニュアルになっているのがとても面白い。
当然 Concordionだけですべてが解決するわけじゃないし,仕様の記述レベルの調整とか悩みも多そう(「手順じゃなくて仕様を書け」ってドキっとしたよっ)。それにAcceptance Testとか言ったって,開発者が書くんだろし(おっと,それは別の話だ)。
要は,パっと見読みやすいレポートができるのに舞い上がっているだけなのだが,ちょっと気にしておく。JavaのBDDまわりは,まだどれも決定打にかけるからねぇ。引き出しが多いに越したことはない。:-)
ps.
Acceptance Test-Driven Developmentつながりで,こんなスライドはけーん。元はFitnessチームの発案なんか。
→ ATDD - Acceptance Test Driven Development (via http://www.willamaze.eu/?p=679)
Scrum - Refcardz
http://refcardz.dzone.com/refcardz/scrum?oid=hom9677
スクラムのチートシート。そうそう,これこれ。こうゆうのプロジェクトスタートアップでみんなに配りたいよね。
しかし,Mike Cohn,結構あちこちで見かけるんダナ。