nDiki : テスト駆動開発入門

2004年8月2日 (月)

テスト駆動開発入門

[ コンピュータ書籍 ]

テスト駆動開発入門 契約による設計における段階的な表明を追加するプロセスの話などが昨日出た。 自分ももちろん assertion を書くのだが、それとは別に最近はテスト・ファーストによる開発がお気に入り。 しかしまだ「単体テストのカバー範囲」・「テストケースが十分であるか」・「リファクタリング時のテストの追随」などまだ勇気を持てていない部分がある。

ということで(テストとはまた別ではあるのだが)テスト駆動開発もちょっとチェックしておこうかと思い Kent Beck のテスト駆動開発入門を購入。

紙質も比較的チープ。 本屋でぱっと開いてみると細かいコードの断片が散らばっていて、何かプログラムの初学本っぽくてちょっとどうかなというのが最初の感じ。

しかし読み始めてみると面白く Part 1 までまず読み切った。 レッド/グリーン/リファクタリングのサイクルの中で、コードやテストが書き換わっていく様が非常にわかりやすい。 Martin Fowler のリファクタリング-プログラムの体質改善テクニックと同様細かい作業ステップを実演していて、雰囲気が良くわかる。

テスト駆動開発はテストではなく開発方法である」というのも納得。

「動作するきれいなコード」を書くために続きを読もう。


[ 読書ノート ]

[ 8月2日全て ]

2004年8月5日 (木)

テスト駆動開発入門読了

短めなのですぐ読み終わった。 入門と銘打ってあるが、重要なエッセンスがカバーされているので1冊で結構テスト駆動開発の意味がわかると思う。

  • グリーンにする(テストを通す)ために、アサートで期待する定数を返すようなメソッドをまず作ってしまう。

というのが衝撃的である。 自分でも実際そうした事はあるのだが何か罪悪感があった。 しかし TDD では続くリファクタリングのフェーズがあるので、悪ではない。

また

というのもなるほどという感じ。 コード中での重複はもちろん気を使っているつもりだが、テストとの重複というのは考えたことがなかった。

ぜひ実践してみたい。


[ 読書ノート ] [ コンピュータ書籍 ]

[ 8月5日全て ]

2004年8月9日 (月)

Scheme でプログラムを書く

たまにやってくる「Scheme やるぞ熱」再来。

Gauche 0.8.1 をインストール。 何を書こうかという話になるが、今回はテスト駆動開発入門で「単体テストフレームワークテスト駆動開発で書いてみる」という例があり、新しい言語を学ぶときに良いとあったのでそれに挑戦してみることにした。 Gauche用の xUnit は既にあるようだが、トレーニングということで車輪の再発明。

フレームワーク部分を書いているのか、フレームワーク単体テストを書いているのか、単体テスト用サンプルオブジェクトを書いているのか、何だかわからなくなってくるな (オーバーラップするところもあるし)。

テスト駆動開発入門を参考にしようと思ったが、昨日会社に置いてきてしまったばかりだし。 明日続きをやるか。

[ 8月9日全て ]

About

Process Time: 0.212081s / load averages: 0.47, 0.39, 0.41