レベルエンター山本大のブログ

面白いプログラミング教育を若い人たちに

BLOCKVROCKリファレンス目次はこちら

テストケースファースト(その2)状況報告

以前に書いた「[開発の進め方]テストケースファースト」
http://d.hatena.ne.jp/iad_otomamay/20070819
に従って、現在プロジェクトを進めています。

単純な話で、
テストファーストなんですが、
「テストコード」は書かずに「テストケース」だけを先に書きましょう
という進め方です。


実際にやってみて、気づいた事。

  • プロジェクトメンバーに抵抗なく受け入れられる。
  • 詳細設計はほとんど行っていない(DB物理設計や項目定義ぐらい)。
  • テストケースはテストコードに比べてレビューしやすい。
  • 新人レベルのプログラマーが戦力になる。
  • テスト仕様書作成の強制力が増す。

目論みどおりか、それ以上の効果を挙げていると思います。
特に、新人レベルのプログラマーでも「正解」を予め与えた状態で
プログラミングを始めるので、十分な戦力になることが予想外の収穫でした。
これが通常のウォーターフォールだと、
設計書を読んでも細かい部分の正解が分からないため、新人レベルでは戦力になりません。
また、テストコードを先に書こうとすると、
新人レベルがテストコードばかりを書く役目を押し付けられがちで
やはり戦力にならず、テストファーストの意味も薄らいでしまいます。

それから、テストコードに食傷気味のベテランプログラマーさんなどにも
すんなりと受け入れられました。
詳細設計を行わないですむということで、
設計レベルのSEもニコニコ。

以前は、テスト設計書を「出せ出せ」と、プログラマーの尻をたたいてようやく出来ていた
のですが、テストケースファーストにしてから、プロセスの一環であるために
テストケースのドキュメントが完璧に揃うことになります。

かなり良いことだらけなので、これからも進めていきたいと思います。