テスト駆動開発

テストクドウカイハツ

テスト駆動開発の表紙
ソフトウェア工学 / 設計
著者:
Kent Beck / 和田 卓人(ケント ベック / ワダ タクト)
出版社:
株式会社オーム社
出版日:
2017年10月14日頃
ISBN:
9784274217883
在庫:
在庫あり
4.12(18 件 / 楽天ブックス)
中級者向け
TDDリファクタリングユニットテストオブジェクト指向ソフトウェア設計ソフトウェア開発実例学習コード品質開発手法デザインパターン

なぜ注目されているか

言及数
12位
総合136位 ↑ 3 ランクアップ 言及 151 件・うち記事 92 件を掲載
091720222023202420252026

書籍紹介

テスト駆動開発の原点が新訳で蘇る
本書は、自分たちのコードに自信を持って開発を続けたいプログラマ、チームリーダー向けに、テスト駆動開発 (TDD) の実践方法を解説した“Test-Driven Development By Example”の日本語版です。テスト駆動開発の考案者である Kent Beck 自身によって書かれた原典を、日本におけるテスト駆動開発の第一人者である和田卓人氏が訳しました。

テスト駆動開発とは単にテスト自動化を行うことではなく、ユニットテストとリファクタリングを両輪とした小さいサイクルを回すことで不確実性を制御し、不断の設計進化を可能にする手法であることを、実例を通して学ぶことができます。

まえがき

謝辞

はじめに

第 I 部 例題: 通貨オブジェクト

第 1 章 多国通貨オブジェクト

第 2 章 目標を手前に設定する

第 3 章 万人の平等

第 4 章 プライバシー

第 5 章 フランクに話すなら

第 6 章 万人の平等、再び

第 7 章 リンゴとオレンジ

第 8 章 オブジェクトを作る

第 9 章 times

第 10 章 times の実験

第 11 章 諸悪の根源

第 12 章 ようやく、足し算

第 13 章 実装を導く

第 14 章 変化

第 15 章 通貨の混合

第 16 章 今度は抽象化

第 17 章 多国通貨の全体ふりかえり

第 II 部 例題: xUnit

第 18 章 xUnit への道

第 19 章 前準備

第 20 章 後片付け

第 21 章 数え上げ

第 22 章 失敗の扱い

第 23 章 スイートにまとめる

第 24 章 xUnit の全体ふりかえり

第 III 部 テスト駆動開発のパターン

第 25 章 テスト駆動開発のパターン

第 26 章 レッドバーパターン

第 27 章 テスティングパターン

第 28 章 グリーンバーパターン

第 29 章 xUnit パターン

第 30 章 デザインパターン

第 31 章 リファクタリング

第 32 章 TDD を身につける

付録 A 因果ループ図

付録 B フィボナッチ

付録 C 『テスト駆動開発』出版後の 15 年

参考文献

あとがき

訳者あとがき

著者・訳者について

技書の森解説

テストを先に書き、通るだけの実装を入れ、重複を取り除く。この小さなサイクルを考案者自身が一歩ずつ実演した原典が、『テスト駆動開発』 (Kent Beck 著、和田 卓人 訳、オーム社、2017 年 10 月刊) です。原書は Test-Driven Development By Example で、版元はこの本を、自分たちのコードに自信を持って開発を続けたいプログラマやチームリーダーに向けて、テスト駆動開発 (TDD) の実践方法を解説した日本語版と案内しています。単にテストを自動化する技法ではなく、ユニットテストとリファクタリングを両輪とした小さいサイクルで不確実性を制御し、設計を絶えず進化させる手法として学べるのが本書の位置づけです。

全 32 章、多国通貨と xUnit の 2 つの例題とパターン集

本文は 3 部 32 章です。第 I 部「多国通貨」 (1〜17 章) は、通貨の掛け算と足し算を扱うオブジェクトをテストから育てていく例題で、章題には「仮実装」「明白な実装」「三角測量」「歩幅の調整」といった、実装をどう進めるかの判断そのものが並びます。第 II 部「xUnit」 (18〜24 章) では、テストを動かすための仕組みである xUnit 型のテスティングフレームワークをテスト駆動で組み上げ、前準備と後片付け、失敗の扱い、スイートへのまとめ方を順に作ります。第 III 部「テスト駆動開発のパターン」 (25〜32 章) は、TODO リストやテストファースト、レッドバーとグリーンバーのパターン、Mock Object を含むテスティングのパターン、デザインパターン、リファクタリングの手法を項目ごとに整理した参照用のパートで、最終の 32 章「TDD を身につける」は一歩の大きさやテストを消すべき場面といった問いに答える形になっています。巻末には付録 A 因果ループ図、付録 B フィボナッチ、そして訳者による解説の付録 C が収められています。

「歩幅」を自分で調整できるようになる読みどころ

TDD の説明は「レッド、グリーン、リファクタリング」の 3 語で済んでしまいますが、実務で迷うのはその手前です。最初のテストに何を選ぶか、通すために定数を返すような仮実装で済ませてよいのか、いつ一般化に踏み込むのか。本書の第 I 部は、この判断を例題の中で一手ずつ見せる構成で、確信があるときは大股で明白な実装へ進み、不安なときは三角測量で小股に戻るという、歩幅を状況に応じて変える考え方が中心にあります。この感覚が身につくと、テストは品質確認の後工程ではなく、設計を少しずつ確かめる道具に変わります。第 III 部のパターン集は、例題で体験した判断に名前を与える役割を持つため、手を動かしたあとに読み返すと効き目が大きい部分です。

訳者による付録 C は、ユニットテストの普及と TDD の普及の関係、TDD から BDD への流れ、教条主義化と意味の希薄化といった論点を取り上げており、原著の刊行後に TDD がどう受け止められてきたかを日本語読者向けに整理しています。原典の主張と、その後の議論の両方を一冊で押さえられる点は、この日本語版ならではの価値です。

オブジェクト指向の基礎を前提に、例題を手で追う読み方

読み進めるには、クラスとオブジェクト、メソッドの呼び出し、等価性の比較といった オブジェクト指向 の基本が分かっていることが前提になります。例題は小さく、コードを自分の環境で一歩ずつ再現しながら読む形に向いています。逆に、テストの種類の使い分けやテスト戦略全体の設計、結合テストや E2E テストの比率を知りたい人には、本書は範囲が合いません。扱うのは開発者が手元で回す単位の小さなサイクルであり、組織としてのテスト計画は対象外です。テスト分野の本の中で位置づけを確かめたい場合は、テスト本の選び方 を先に眺めておくと、本書を読む目的がはっきりします。

テストを書いてはいるものの、後からまとめて書くせいで設計の役に立っていないと感じている人や、リファクタリングに踏み切れずコードが固まっていくことに悩んでいる人にとって、本書は考案者の判断の手順をそのまま追える一冊です。例題を自分の手で最後まで写し、第 III 部で判断に名前を付け直せば、日々のコードの書き方を変えるきっかけになります。

言及した記事 (92 件)

この本は技書デッキのカードです (備え 4 / 流儀: 備えの持ち越し) 図鑑でこの本を見る

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: