テスト駆動開発入門

  • 桐原書店
3.57
  • (17)
  • (21)
  • (35)
  • (7)
  • (1)
本棚登録 : 410
感想 : 27
本ページはアフィリエイトプログラムによる収益を得ています
  • Amazon.co.jp ・本 (217ページ)
  • / ISBN・EAN: 9784894717114

感想・レビュー・書評

並び替え
表示形式
表示件数
絞り込み
  • テスト駆動開発を学びたい人への1冊。
    言語的にはJavaとPythonが中心ですが他の言語でもxUnitさえあれば
    応用できると思います。
    200ページ程度なのでさくっと読める分量。

    TDDの過程を細かく書いているため、どのような手順でコードを書けば
    いいのかが分かりやすいです。
    読むだけでなく実際にコードを打ち込むことによって体に覚えさせる
    ことができます。

    TDDをやりたいけど身近にペアプロする人がいないような場合の
    自主学習用の教材としても最適です。

  • 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、テストファーストで開発できないと思われるシステムもあり、適用方法は熟慮する必要がある。
    それでも議論の筋道を決めつけることなく、さまよううちに優れた考えにたどりつけるだろう。

  • XP(エクストリーム・プログラミング)開発プラクティスの一つであるテスト駆動開発(TDD)
    この本はまさにその入門書として非常に実用的である。

    Part1では複数通貨の計算クラス作成をTDDで実践している。
    著者も「何度も書きなおした」というとおり、あれやこれやと不安を覚える程のゆっくりとしたペースで
    一つ一つとテストしては実装し、リファクタリングしてゆく。

    Part2はxUnitの例ということで、
    簡単なテストフレームワークをPythonで作る実践が行われている。
    もちそんその開発もテスト駆動だ。
    これが必要になる事は殆ど無いと思われるが、理解のためと割り切れば再開発にも価値がある。

    Part3はTDDの実践におけるパターン集となっている。

    自分のTDD経験は勉強会2度ほど、そのあと自習で少しといった所で、
    まとまった知識を得ずに実践重視だったのだが。
    この本のPart1を一度読んで、写経することで。
    まるでケント・ベック氏とペアプロしているかのような感覚で、
    TDDのリズムの楽しさ、テストの安心感が味わえた。
    (少し言い過ぎかも知れない、でも心地よい疲労感を覚えたのは確かだ)
    一つ一つのステップが小刻みなので、実習本としてとても良いと思う。

    過去の実践で得られていなかった知識として、
    重複を取り除くという大事な作業があった。
    (フェイズとしてはリファクタリングにあたる)
    DRY原則からすると当たり前過ぎて、TDDする際に忘れていた自分が間抜けなだけなのだが、
    テストコード内、プロダクトコード内、そしてテストコードとプロダクトコード間で
    重複しているものは、十中八九取り除くことが出来る。
    (それは仮実装から本実装への変移でもある。)
    TDDにおいてはリファクタリング=改善ではなく。完成に至るまでの欠かせない作業なのだ。

    本書中でいくつか興味深かった点がある。
    (1)一人でプログラミングする際に、テストを失敗させて一日を終えるスタイル。
    テストが失敗していれば、そのテストを通す作業に集中せざるを得ないので
    迅速な再スタートが切れるという事らしい。

    (2)ケント・ベック氏のご息女はTDDを最初のプログラミングスタイルとして学んだらしい。
    他のプログラマーと比べてどのような思考の違いが起きているのか気になる。
    壁にぶつかったりしないのだろうか。

    (3)シングルトンについてばっさり切り捨てていたのは笑った。

    最後に、初めて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の本といった方がいいかもしれない。

全27件中 1 - 10件を表示

ケント・ベックの作品

  • 話題の本に出会えて、蔵書管理を手軽にできる!ブクログのアプリ AppStoreからダウンロード GooglePlayで手に入れよう
ツイートする
×