レポート

「とちぎテストの会議」レポート

この記事を読むのに必要な時間:およそ 5 分

ポジショントーク

後半のディスカッションに向けて,パネルのメンバーによる,それぞれの考え方の意見表明がありました。筆者はTwitterのテストの議論をすべて追いかけてはいなかったのですが,ここで行われたポジショントークのおかげで「今TDDの周りではどのような議論があるのか?」というのが明確になりました。

和田卓人さん

和田卓人さん@t_wadaはタワーズ・クエストの社長であり,プログラマとしてサービスやシステムの開発と提供を行っているプログラマーでもあります。⁠WEB+DB PRESS』での特集記事やgihyo.jpでの連載など,TDDといえば和田(t-wada)さんというぐらい,著名な方です。

和田さんにとってのTDDは,決して工学的なテストではないが,間違えば即座にフィードバックされるため,心理的な自信を持って開発を行うことができる,というものだそうです。また,Twitter上の議論に関しては,公開の場で様々な人が参加したことに意義はあるが,議論が長く続くということはまだまだコンセンサスが取れていないと感じたそうです。

画像

庄司嘉織さん

Twitter上のTDDの議論のきっかけになったのが,庄司嘉織さん@yoshioriのデブサミでの発表で言及された「TDDの目的はテストではなく,TDDは開発手法」という説明からでした。

嘉織(Yoshiori)さんがTDDの効果として考えているのは,公文式と同じく,何度も高速に繰り返すことによる学習効果です。⁠筋電義手」というものを付けたら,脳は学習して自分の手のように動かすことができるそうです。これも試行錯誤の結果です。テストが良いシステムを作ってくれるわけではなくて,⁠いいものを作るのは人」であり,その開発者の味方となるのがTDDと考えられているそうです。

画像

井芹洋輝さん

井芹洋輝さん@goyokiはTwitterでの議論を分析して,⁠どこで議論がすれ違っているのか?」という原因を分析し,議論が空中戦に陥らないために,⁠スキル構成」⁠利益」をモデル化して紹介されていました。

スキル構成は,Kent Beckやt-wadaさんが語られているような,TDDの進め方を「原則⁠⁠,次により効果的なテストの書き方に関する「運用⁠⁠,そして継続的インテグレーションとの組み合わせなどの「活用」の3つであることを示しました。

利益に関しても,TDDそのものがもたらす「直接利益」と,テストが容易になるなどの「副次的効果⁠⁠,そして品質アップの一部には貢献するが,完全に保証するわけではないという「一部サポート」の3つを挙げていました。

井芹さん自身は,品質改善の分散担保という意味で,プログラマーレベルのTDDと,後段のテスト工程の両方を重ね合わせるのが良い,と考えられているそうです。

画像

関将俊さん

今回のイベントの発起人の咳さん@m_sekiは,さまざまなテストのイベントに(ヒールとして)呼ばれることもあり,テスト系の知り合いも多いため「HUBとして,周りの人を繋げたい」⁠同じ時間,同じ場所で顔を合わせたい」と思われたそうです。

テストというのは設計やコードが正しいかどうかを破壊しに行く必要があるが,TDDにはそこまで品質を確認しようという破壊的な意図を感じないそうです。また,TDDは名前が微妙であり,テストを先に書くのは「⁠⁠補助線を書くための)定規」であるが,その線が本当に欲しい線かどうかは分からないし,保証もない,と述べられていました。人間はいつでも間違える可能性があり,通ってきた道を確認するテストスイートとして意味があるとのことですが,TDDをプロセスとして考えると,XPなどとは異なり,プロセス自体に対する破壊(更新)がないところが不十分とのことです。

画像

著者プロフィール

渋川よしき(しぶかわよしき)

社内SE。ソフトウェアを中心に,ライフハック,インラインスケートなど,様々なコミュニティの運営に関わってきた。日本XPユーザグループには設立準備の時から。現在メインのコミュニティはとちぎRubyとPython温泉(系)で,ドキュメントツールのSphinxのコミュニティの設立準備中。趣味は技術文書の翻訳とLT。

Twitter:@shibukawa

ブログhttp://blog.shibu.jp