目次
監訳者まえがき
まえがき
対象読者
レシピについて
本書の構成
本書での表記
意見と質問
謝 辞
1章 XPツール
1.1 JavaとXP
1.2 ツールと哲学
1.2.1 IDEの哲学
1.2.2 最小限のツール要件
1.3 オープンソースのツールキット
1.3.1 バージョン管理
1.3.2 Ant
1.3.3 JUnit
1.3.4 HttpUnitとCactus
1.3.5 JUnitPerf
1.3.6 アプリケーションサーバ
1.3.7 ビルドサーバの設定
2章 XPの概要
2.1 XPとは
2.1.1 シンプル
2.1.2 コミュニケーション
2.1.3 フィードバック
2.1.4 勇気
2.2 コーディング
2.2.1 シンプル
2.2.2 コメント
2.2.3 ペアプログラミング
2.2.4 コード共同所有
2.2.5 コーディング規約
2.2.6 コードインスペクション
2.3 ユニットテスト
2.3.1 テストの重要性
2.3.2 ユニットテストの作成担当者
2.3.3 テスト対象
2.3.4 新機能のテスト
2.3.5 バグのテスト
2.3.6 テストの作成方法
2.3.7 ユニットテストが常にパスする状態
2.3.8 テストによる設計改善
2.3.9 受入テスト
2.4 リファクタリング
2.4.1 目標
2.4.2 リファクタリングを行うタイミング
2.4.3 リファクタリングの方法
2.4.4 リファクタリングツール
2.5 設計
2.5.1 今日の機能の設計
2.5.2 シンプルな設計
2.5.3 UML
2.6 ビルド
2.6.1 常時結合
2.6.2 小さなタスク
3章 Ant
レシピ3.1 基本的なビルドファイルの作成
レシピ3.2 Antの実行
レシピ3.3 ヘルプの提供
レシピ3.4 環境変数の使用
レシピ3.5 ビルドファイルへのパラメータの設定
レシピ3.6 プロパティの存在のチェック
レシピ3.7 クラスパスの定義
レシピ3.8 プラットフォーム非依存のパスの定義
レシピ3.9 ファイルのインクルードとエクスクルード
レシピ3.10 条件分岐ロジックの実装
レシピ3.11 一貫した環境の定義
レシピ3.12 ビルド破壊の防止
レシピ3.13 JARファイルのビルド
レシピ3.14 JUnitのインストール
レシピ3.15 ユニットテストの実行
レシピ3.16 特定のテストの実行
レシピ3.17 テスト結果報告の生成
レシピ3.18 CVSからのコードのチェックアウト
レシピ3.19 ビルドの自動実行
4章 JUnit
レシピ4.1 開始
レシピ4.2 JUnitの実行
レシピ4.3 assertXXXメソッド
レシピ4.4 ユニットテストの大きさ
レシピ4.5 setUpとtearDown
レシピ4.6 1回だけのsetUpとtearDown
レシピ4.7 テストスイートへのテストの組織化
レシピ4.8 テストクラスの直接実行
レシピ4.9 テストの繰り返し実行
レシピ4.10 テストの命名規約
レシピ4.11 ユニットテストの組織化
レシピ4.12 例外処理
レシピ4.13 テストの同時実行
レシピ4.14 非同期メソッドのテスト
レシピ4.15 テスト用の基底クラスの作成
レシピ4.16 Swingコードのテスト
レシピ4.17 Swingにおけるマルチスレッドの問題の回避
レシピ4.18 Robotを用いたテスト
レシピ4.19 データベースロジックのテスト
レシピ4.20 同じメソッドの繰り返し実行
5章 HttpUnit
レシピ5.1 HttpUnitのインストール
レシピ5.2 テストファースト開発のための準備
レシピ5.3 静的なWebページのチェック
レシピ5.4 ハイパーリンクの追跡
レシピ5.5 テスト可能なHTMLの作成
レシピ5.6 HTMLテーブルのテスト
レシピ5.7 フォームタグのテストとテストのリファクタリング
レシピ5.8 HTMLフォーム内の要素のテスト
レシピ5.9 フォームデータのサブミット
レシピ5.10 ファイアウォール経由でのテスト
レシピ5.11 クッキーのテスト
レシピ5.12 セキュリティのかかったページのテスト
6章 モックオブジェクト
レシピ6.1 イベントリスナーのテスト
レシピ6.2 モックオブジェクトの自己技証
レシピ6.3 テスト可能なJDBCコードの生成
レシピ6.4 JDBCコードのテスト
レシピ6.5 MockMakerを用いたモックオブジェクトの生成
レシピ6.6 モックオブジェクトを回避するためのメソッド分解
レシピ6.7 サーバサイドのビジネスロジックのテスト
7章 Cactus
レシピ7.1 Cactus用の設定
レシピ7.2 安定したビルド環境の設定
レシピ7.3 cactus.propertiesファイルの作成
レシピ7.4 cactus.propertiesファイルの自動生成
レシピ7.5 Cactusテストの作成
レシピ7.6 フォームデータのサブミット
レシピ7.7 クッキーのテスト
レシピ7.8 HttpSessionによるセッション追跡のテスト
レシピ7.9 サーブレットの初期化パラメータのテスト
レシピ7.10 サーブレットフィルタのテスト
レシピ7.11 セキュリティに関連するCactusのテスト
レシピ7.12 HttpUnitを用いた複雑なアサートの実行
レシピ7.13 JSP出力のテスト
レシピ7.14 Cactusを使用しない状況
レシピ7.15 テスト可能なJSPの設計
8章 JUnitPerf
レシピ8.1 JUnitPerfを使用すべき状況
レシピ8.2 TimedTestの作成
レシピ8.3 LoadTestの作成
レシピ8.4 さまざまな負荷で実行されるTimedTestの作成
レシピ8.5 負荷がかかった状態での応答時間のテスト
レシピ8.6 AntでのTestSuiteの実行方法
レシピ8.7 JUnitPerfテストの生成
9章 XDoclet
レシピ9.1 ファイル生成用の開発環境の設定
レシピ9.2 XDocletを実行するためのAntの設定
レシピ9.3 ファイルの再生成
レシピ9.4 EJB配置記述子の生成
レシピ9.5 EJB仕様のバージョン指定
レシピ9.6 EJBホームインターフェースとリモートインターフェースの生成
レシピ9.7 カスタムテンプレートの作成と実行
レシピ9.8 カスタムファイルを生成するためのXDocletの拡張
レシピ9.9 XDocletタスクの作成
レシピ9.10 XDocletタグハンドラの作成
レシピ9.11 テンプレートファイルの作成
レシピ9.12 xdoclet.xmlの作成
レシピ9.13 XDocletモジュールの作成
10章 TomcatとJBoss
レシピ10.1 Tomcatに配置されたWebアプリケーションの管理
レシピ10.2 Tomcatへのホットデプロイ
レシピ10.3 TomcatからのWebアプリケーションの削除
レシピ10.4 Webアプリケーションが配置されていることの確認
レシピ10.5 AntによるTomcatの起動
レシピ10.6 AntによるTomcatの停止
レシピ10.7 Managerアプリケーションを使用するためのAntの設定
レシピ10.8 JBossへのホットデプロイ
レシピ10.9 JBossへのWebアプリケーションのホットデプロイ
レシピ10.10 複数のサーバに対するテスト
11章 補足説明
レシピ11.1 XMLファイルのテスト
レシピ11.2 EJB用テストツール
レシピ11.3 EJBテストの回避
レシピ11.4 Swing GUIのテスト
レシピ11.5 プライベートメソッドのテスト
索 引
コラム
ユニットテストか、受入テストか
プロパティファイル
その他のテクニック
接頭辞か接尾辞か
本章での開発
モックオブジェクトとは
setUpメソッドの代わりにコンストラクタを使用することの弊害
Cactusは難しすぎるのか
Cactusによるコード動作の証明
Cactusはやりすぎなのか
|