私たちは、XPのユニットテストを「マイクロテスト」と呼びます。そうして、退屈で間違いを起こしやすいできごとを避けるのです。それというのもユニットテストという言葉を使うと、XPのユニットテストとテストの世界のユニットテストがどれだけかけ離れたものであるかということを絶えず説明しなければならないのです。スレッドは、Ben Hall氏の質問で(リンク)始まった(リンク)。彼が考えているテスター (つまりプログラマではない人たち) は、なぜ他の専門分野のようにあまりたくさんのコミュニティがないように見えるのだろうか。
コミュニティでは、テスターはみんなどこにいるのでしょうか?開発者は簡単に見つかります。彼らには大規模なカンファレンス (PDC, TechEd) から小さなユーザグループ (NxtGenUG) まであります。私は、約2年間、コベントリで最初に始まったNxtGenUGのメンバです。そして、TechEd Europeに参加しました。でも、こういったタイプのイベントでテスターはどこにいるのでしょうか? それとも、私が何か見逃しているだけでしょうか?
しばらくの間リクルーターがこの質問をしていたのを私は知っています。でも、コミュニティの視点からいうと、テスターはみんなどこにいるのでしょうか?どこで会話されているのでしょうか?どこかで会話がされているはずです。どうやってソフトウェアテストを改善するか、どうやってテスターがプロジェクト構造に入り込み、新しい開発技術をうまく利用するかといったことを。
大変興味深いことに、Ben氏の質問に対して最初の答えは(リンク)次の部分に要約された。「コミュニティはそこにあります。でも、開発者のコミュニティとは別々になっています。開発者とテスターの専門用語の意味が異なることによって生じる誤解を単に避けるためだというのが主な理由です。」このようにして、TDDを採用しているプログラマは「ユニットテスト」と言っているが、「マイクロテスト」という新しい言葉を使う利点についてのすばらしい議論が引き起こされた。
Hill氏はこの議論でもともと主張していたのは、彼が新しいXPチームの理解を助けるために「マイクロテスト」という言葉を使わなければならなかったということだった。ユニットテストでは、XPを使っていない人がしばしば考えているよりもかなり小さい「ユニット」に注目しているのである。Mike氏は、この違いだけでなく、TDDとマイクロテストの実際の目的が従来のテストの目的とどのように異なっているか続けて強調する。
私たちは、大規模なマイクロテスト駆動開発の本当の利点は、より高い品質を持つことではまったくないという立場です。より高い品質は、TDDの副産物です。むしろ、私たちが教えるTDDの利点と本当の目的は、真の生産性、より速く機能することです。Mike氏が示したアイデアを支持するたくさんの返信があった。それらの中で、XPの大物であるRon Jeffries氏が(リンク)述べた。
私は、これが本当の利点であることにまさしく同感します。そして、単刀直入に言うこと[あなたの自分の意見を言う姿勢]がすばらしいと思います。さらにこのスレッドについて面白く役に立つのは、様々な見解や立場があることだ。「マイクロテスト」のような新しい言葉を導入することの利点や欠点、またマイクロテストとは本当は何なのか(リンク)というとても参考になるリストなどがある。
ここから(リンク)自分でスレッドをのぞいてみよう。そして読者にこの話題に関するあなたの見解が何か知らせよう。
「マイクロテスト」のさらなる情報は、この話題やその他に関するウェブベースのトレーニングが提供されている(リンク)Industrial Logic社(リンク)のeLearningのベストアルバムを確認しよう。