CppUnitによるXP - eXtreme Programming - 実践テスト技法
すでに絶版
http://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=4-7980-0571-1
著 者: 大月美佳
定 価: 2,415円 (本体 2,300円)
ISBNコード: 4-7980-0571-1
初版発売日: 2003/07/11
判 型: A5
色 数: 1色
ページ数: 304
CD/DVD: 無し
サポートページ
http://www.mikamama.com/CppUnitBook/
第1章 テスト駆動型開発のススメ
1.1 テストって何?
1.1.1 一般的なソフトウェア・テスト
1.1.2 この本で対象とするテスト
1.1.3 テストケース
1.2 なぜテストが必要なのか
1.2.1 このバグはどこからきたの?
1.2.2 作り変えられない!
1.3 テスト駆動型開発って何?
1.3.1 テスト駆動型開発の流れ
1.3.2 なぜテストを先に書かねばならないか
1.3.3 xUnitとテスト駆動型開発
1.4 それで結局何が嬉しいの?
第2章 CppUnitを使ってみよう
2.1 CppUnitを導入する前に
2.1.1 対象とする環境
2.1.2 対象とするCppUnit
2.1.3 対象とするCppUnitのバージョン
2.2 CppUnitをインストールしてみよう
2.2.1 CppUnitをダウンロードしよう
2.2.2 GNU C++でのインストール
2.2.3 SRPMからのインストール
2.2.4 Visual C++でのインストール9)
2.3 サンプルコードを実行してみよう
2.3.1 サンプルコードの中身
2.3.2 GNU C++でのサンプル実行
2.3.3 SRPMでインストールした場合のサンプル実行
2.3.4 Visual C++でのサンプル実行
2.4 環境を整備するためのTIPS
2.4.1 GNU makeの設定
2.4.2 Visual C++での初期設定
第3章 ダミープロジェクトとXP
3.1 豆返しゲーム
3.1.1 要望を整理してみる
3.1.2 eXtreme Programming
3.1.3 eXtreme Programmingを採用する理由
3.2 計画ゲーム
3.2.1 ストーリーを書き出してみる
3.2.2 ストーリーの優先順位を決める
3.2.3 ストーリーをタスクに分割する
3.2.4 タスクを分配して見積もる
3.3 CRCカード
3.3.1 クラスを割り出す
3.3.2 シミュレートしてみる
3.4 XPのプラクティス
3.4.1 コーディング標準を決めておく
3.4.2 バージョン管理システムを使う
第4章 テスト駆動型開発をやってみる
4.1 クラスに対するテストクラスを作ろう
4.1.1 テストクラスのはじめの一歩
4.1.2 Boardクラス用テストクラスはじめの一歩
4.1.2 Boardクラス用テストクラスへのテストメソッド追加
4.1.3 もっと詳しく
4.2 状態保持についてテストを考えてみよう
4.2.1 Makefileを作っておこう
4.2.2 初期状態のテストを書く
4.2.3 リファクタリング
4.2.4 テストデータを増やしてみる
4.3 例外処理について考えてみる
4.3.1 宣言部と実装部の分離
4.3.2 例外のテストケースを考えてみる
4.3.3 CPPUNIT_TEST_EXCEPTIONを使ってみる
4.3.4 最終的な実装
4.4 タスクを追加してみる
4.4.1 責務からインターフェースを考える
4.4.2 他の置ける手について
4.4.3 toString()の導入
4.4.4 toString()を利用したテスト
4.4.5 白1手目のテスト
4.4.6 黒2手目のテスト
4.4.6 2個以上ひっくり返す
4.4.7 ボード端での挙動チェック
4.5 置き場判定についてテストを考えてみよう
4.5.1 8方向全てひっくり返せなかったとき
4.5.2 テストケースを考えてみる
4.5.3 おまけのテストケース
4.5.4 重複のテストケース
4.5.5 境界オーバーのテストケース
4.6 簡易UIを作ってみよう
4.6.1 SimpleUIクラスのCRCカード
4.6.2 SimpleUIクラス用テストクラスの準備
4.6.3 盤の状態更新を試みる
4.6.4 盤の状態と手番の出力
4.6.5 入力待ちと入力チェック
4.6.6 駆動部
4.6.7 SimpleBeanReversiGame
4.7 Visual C++ 6.0でのテスト
4.7.1 主プロジェクトBeanReversiGameの用意
4.7.2 テストプロジェクトTestMainの用意
4.7.3 TestMainにファイルを作成・登録していく
4.7.4 環境の違いによる挙動の違い
4.7.5 SimpleBeanReversiGameプロジェクトの追加
第5章 テスト駆動型開発まとめ
5.1 テスト駆動型開発のまとめ
5.1.1 テスト駆動型開発の流れ
5.1.2 インターフェースについて
5.1.3 TODOリストについて
5.1.4 テストケースについて
5.1.5 テスト記述直後の実装戦略について
5.1.6 リファクタリングについて
5.2 テスト駆動型開発用テンプレート
5.2.1 テストクラス用テンプレート
5.2.2 Main部分テンプレート
5.2.3 Makefileテンプレート
5.2.4 テンプレート自動生成について
5.3 (おまけ)CppUnitの高度な機能
5.3.1 GUIの利用
5.3.2 多様な出力形式
5.3.3 テストクラスのカテゴライズ
付録A リファレンス
A.1 クラス CppUnit::Test
publicなコンストラクタ、デストラクタ
publicなメンバ関数
A.2 クラス CppUnit::TestFixture
publicなコンストラクタ、デストラクタ
publicなメンバ関数
A.3 クラス CppUnit::TestCase
publicなコンストラクタ、デストラクタ
privateなコンストラクタ、デストラクタ
publicなメンバ関数
protectedなメンバ関数
privateなメンバ関数
privateなメンバデータ
A.4 ASSERTマクロ群
A.5 クラス CppUnit::TestSuite
publicなコンストラクタ、デストラクタ
privateなコンストラクタ、デストラクタ
publicなメンバ関数
privateなメンバ関数
privateなメンバデータ
A.6 TestFixture作成を支援するためのマクロ群
A.7 クラス CppUnit::TextUi::TestRunner
publicなコンストラクタ、デストラクタ
publicなメンバ関数
protectedなメンバ関数
protectedなメンバデータ
A.8 クラス CppUnit::Outputter
publicなコンストラクタ、デストラクタ
publicなメンバ関数
A.9 クラス CppUnit::TextOutputter
publicなコンストラクタ、デストラクタ
publicなメンバ関数
Protectedなメンバデータ
privateなメンバ関数
A.10 クラス CppUnit::CompilerOutputter
publicなコンストラクタ、デストラクタ
privateなコンストラクタ、デストラクタ
publicなメンバ関数
privateなメンバ関数
privateなメンバデータ
A.11 クラス CppUnit::XmlOutputter
publicなコンストラクタ、デストラクタ
privateなコンストラクタ、デストラクタ
publicなメンバ関数
privateなメンバ関数
privateなメンバデータ
A.12 クラス CppUnit::MfcUi::TestRunner
publicなコンストラクタ、デストラクタ
publicなメンバ関数
protectedなメンバ関数
protectedなメンバデータ