- Amazon.co.jp ・本 (217ページ)
- / ISBN・EAN: 9784894717114
感想・レビュー・書評
-
テスト駆動開発を学びたい人への1冊。
言語的にはJavaとPythonが中心ですが他の言語でもxUnitさえあれば
応用できると思います。
200ページ程度なのでさくっと読める分量。
TDDの過程を細かく書いているため、どのような手順でコードを書けば
いいのかが分かりやすいです。
読むだけでなく実際にコードを打ち込むことによって体に覚えさせる
ことができます。
TDDをやりたいけど身近にペアプロする人がいないような場合の
自主学習用の教材としても最適です。詳細をみるコメント0件をすべて表示 -
JUnitの生みの親であるケント・ベックさんが書いた、テスト駆動開発に関する概要説明と、その実践方法を説明した一冊。3パートから構成される。「入門」と謳っているだけあって、TDD未経験者にとって、読みやすい内容である。
Part1は、百聞は一見に如かずということで、TDDの感触をつかみやすくするために、Javaを用いて実際にTDDしていく様子を説明している。
Part2は、Pythonを使ってテストフレームワークを作るという内容。著者自身、Pythonが初めてらしく、初物言語は必ずテストフレームワークを作って言語仕様を学ぶとのこと。
Part3は、TDDの進め方や実践方法に関するケーススタディやプラクティスを提示している。
全体的に、各章が短いのでサクサク進む。これは、だるくならずに常に新鮮な感じで本当に読みやすかった(最後の数章はちょっと眠くなったけどね!)。
さて、それぞれのパートだが、Part1は本に書いてあるとおりに、実際にコードを書いてTDDを体感して欲しい。どんなふうにTDDというものが進んでいくのか理解しやすくなると思う。
Part2は興味のある人向け。まあ今どきは、だいたいどんな言語でもxUnit系のテストフレームワークが用意されているので、改めて学ぶ必要もあるまい。Part2を読んでみて興味が出たら、自分のお気に入りの言語でテストフレームワークを実装してみるといいかも?
Part3は、TDD(だけに限らず、テスト全般)を実践する中で遭遇するであろう事象に対する、実践的な解決策を提示してくれたり、リファクタリングの考え方や、普段の開発の中ですべきプラクティスの提示、テストで使えるテストパターンやTDD習得方法を解説している。リファクタリングの章は、今までコードは書きっぱなしで終わりにしていた人にとって、とても役立つんじゃないかな。
惜しむらくは、時折言い回しがよくわからん文章がでてくることだが、この本と、アジャイルサムライの「第14章 テスト駆動開発」を読むと、TDDに関する理解がより深まる。TDDを始めてみようと思った方は、是非、両方とも手にとって読んで欲しいと思う。きっと、TDDを実践したくなるはず! -
TDDはテスト技法ではない。分析技法および設計技法であり、実際には開発のすべてのアクティビティを構造化するための技法である。
TDDがテスト技法ではないとはいえ、TDDによりほとんどすべてのプログラマが十分とする正しさを得ることができる。(もちろん、医療や航空宇宙のソフトウェアは例外である)。
他者の実装を理解するための学習用テストや、他者に実装を説明するための説明用テストを記述し、コミュニケーションの役に立たなくなったり、不安が退屈に変わってしまったテストを削除する。
本書でTDDの進め方と本質を、著者とペアプログラミングしているように学ぶことができる。新しい言語に直面すると、自分自身で簡単な xUnit を構築することで、日々のプログラミングで使用する機能の多くの調査が済むという指摘も面白い。
ただ、残念なことにすでに多くのコードが存在するシステムにTDDを持ち込むことは、難問であるとしか言えないとのこと。TDD、テストファーストで開発できないと思われるシステムもあり、適用方法は熟慮する必要がある。
それでも議論の筋道を決めつけることなく、さまよううちに優れた考えにたどりつけるだろう。 -
写経する為の本。リズムをつかむ為に。
何度もする。丸写し、考えながら、変えながら。無意識にテストするくらいに馴染ませる。 -
コンピュータプログラムの開発手法。設計-実装-テストのフィードバックを極限まで速くする。テストツールJUnitの底にある思想。
サンプルは基本Java。Java(というかオブジェクト指向)をひと通り使いこなしていることが前提で初心者は厳しい。一部で出てくるPythonは初心者で問題ない。
私の場合、一応JUnitはすでにネットとか雑誌とかで情報を拾って何となく使ってはいたが、背景が分かってやっと本質を理解できた。
頻繁なテストにより土台を固めつつ少しずつ実装していくことで、プログラミングを自信を持って行える。また、一度に1つのことを考えれば良くなり、人間の短期記憶の制約(マジカルナンバー7)に収めやすくなる。
マシン性能が上がってプログラミング環境が充実し、気軽にテスト実行ができるようになった今の時代にマッチした手法だろう。
リファクタリングとセットで活用する。動作する単純な実装から始め、重複を取り除くという視点で設計を洗練していく。
ということで、次はリファクタリング http://booklog.jp/asin/4894712288 を深めたいと思う。
TDDを仕事で実践したくてウズウズ。 -
「テスト」という単語から様々な誤解をされがちの「テスト駆動開発(TDD)」について、その根底に流れる思想からテクニックまで開設した入門書。
著者はまず第一に「TDDは「設計・開発手法」であり、決してテスト手法ではないということをあげています。そしてTDDを行うことで「ストレス」の少ない開発が行えると謳っています。
実際に本書では、Moneyクラスの実装、xUnit(テスティングフレームワーク)をTDDで行っていく様子が解説されているので、まずは自分の得意とする言語で写経してみることをお勧めします。
(私の場合、xUnitについては手元ですぐ動かせるという理由でVBScriptで実装してみました。)
また、Amazonのレビューでは翻訳がいまいち、という評価がちらほら見られますが、私はそれほど違和感なく読み進められました。おそらくコードを中心に見ていたので、気にしていなかったのかなと思ってます。
とにかく、TDDをやるなら一度は目を通すべき本だと思います。 -
翻訳の独自な言い回しは読んでて疲れるよ。
内容は結局テスト駆動開発のテクニックまでで止まっている。
教科書レベル。 -
初版が2003年と古い事もあるかもしれないが、part1のMoneyオブジェクトをつかってのTDDの解説からとても冗長で退屈に感じる。
たぶんに観念的な表現でもあり、実践的内容がとても少ない。
TDDの本というより、Xpの本といった方がいいかもしれない。