第1部 業務アプリケーションのテストの全体像
第1章 ソフトウェアテスト概論
1.1 ソフトウェアテストの困難性
1.2 ソフトウェアテストにおける科学的アプローチの重要性
1.3 ソフトウェアテストにおけるテストコストの削減について
1.4 ソフトウェアテスト概論 ― まとめ
第2章 業務アプリケーション開発におけるテストプロセス
2.1 ソフトウェアテストのフェーズ分け
2.1.1 ソフトウェアテストの基本となる4つのフェーズ
2.1.2 フェーズ分割のキーポイントになる考え方
2.2 単体機能テスト
2.2.1 単体機能テストの実施イメージ
2.2.2 単体機能テストの小分類
2.2.3 単体機能テストの実施上のキーポイント
2.2.4 単体機能テストのまとめ
2.3 結合機能テスト
2.3.1 結合機能テストの実施イメージ
2.3.2 結合機能テストの小分類
2.3.3 結合機能テストの実施上のキーポイント
2.3.4 BVT(Build Verification Test)
2.3.5 結合機能テストのまとめ
2.4 システムテスト
2.4.1 システムテストの小分類
2.4.2 システムテストの実施上のキーポイント
2.4.3 システムテストのまとめ
2.5 テストチームにおけるテスト実践の際の注意点
2.6 テストの自動化に関する一般的な注意点
2.6.1 テストの自動化に関して最も注意すべき点
2.6.2 テスト自動化の目的とメリット
2.6.3 テストの種類による自動化の向き不向き
2.7 業務アプリケーション開発におけるテストプロセス ― まとめ
第2部 VSTSによるソフトウェアテストの実践
第3章 VSTSとTFSによるソフトウェアテストの全体像
3.1 Visual Studio Team System概要
3.1.1 クライアントツールVisual Studio 2005 Team Edition
3.1.2 サーバー環境Team Foundation Server
3.2 VSTS / TFSの導入手順について
3.2.1 導入範囲のポイント
3.2.2 論理作業フローと物理開発環境の違い
3.3 VSTSとTFSによるソフトウェアテストの全体像 ― まとめ
第4章 開発チームによる単体機能テストの開発
4.1 開発チームによる単体機能テストの概要
4.2 ユーティリティクラス(アプリケーションブロック)に対する単体機能テスト
4.2.1 テストプロジェクトの作り方とテストクラスの基本的な書き方
4.2.2 テストの実行方法とテスト実施結果の保存先
4.2.3 テストコードの自動生成機能とアプリケーションコードの自動生成機能
4.2.4 コードカバレッジデータの取得方法
4.2.5 内部メソッドの検証方法
4.2.6 テストの実行環境
4.2.7 構成設定ファイルの置換方法と周辺ファイルの配置方法
4.2.8 ユーティリティクラスに対する単体機能テスト ― まとめ
4.3 データアクセスクラスに対する単体機能テスト
4.3.1 テスト用データベースの準備方法
4.3.2 テストコードの記述方法
4.3.3 テストの初期化処理と終了処理
4.3.4 データアクセスクラスに対する単体機能テスト ― まとめ
4.4 ビジネスロジッククラスに対する単体機能テスト
4.4.1 単体機能テストの実施方法の選択
4.4.2 データ駆動型テスト
4.4.3 ビジネスロジッククラスに対するストレステスト
4.4.4 ビジネスロジッククラスに対する単体機能テスト ― まとめ
4.5 XML Webサービスに対する単体機能テスト
4.5.1 プロキシクラスの作成とテストコードの記述の考え方
4.5.2 XML Webサービスの単体機能テスト実施に必要な設定作業
4.5.3 XML Webサービスに対する単体機能テスト ― まとめ
4.6 その他のテストツール
4.6.1 静的コード分析ツール
4.6.2 プロファイラツール
4.6.3 その他のテストツール ― まとめ
4.7 効果的な単体機能テストの実践方法
4.7.1 ブラックボックステストの考え方とホワイトボックステストの考え方
4.7.2 ブラックボックステストの考え方に基づくテストケースの洗い出し
4.7.3 ホワイトボックステストの考え方に基づくテストケースの洗い出し
4.7.4 効果的な単体機能テストの実践方法 ― まとめ
4.8 単体機能テストに関するTips & Tricks
4.8.1 テストメソッドの粒度
4.8.2 汎用テストと順序指定テスト
4.8.3 テストリストによるテストの管理
4.8.4 厳密名が付与されている場合の取り扱い方
4.9 開発チームによる単体機能テストの開発 ― まとめ
第5章 テストチームによる結合機能テストの実施
5.1 テストチームによる結合機能テストの概要
5.1.1 ビルドサーバーを介した開発チームとテストチームの連携作業
5.1.2 テストチームによるテスト実施までの手順
5.1.3 結合機能テスト時に利用できるVisual Studio 2005のテスト機能
5.2 テスト手順書の作成のポイント
5.2.1 テスト手順書のテンプレートと記述例
5.2.2 テスト手順書作成に関するTips & Tricks
5.3 テスト実施計画の作成のポイント
5.3.1 日次ビルドとテストリソースの割り当て
5.3.2 テスト実施計画の作成に関するTips & Tricks
5.4 手動テストの実施方法
5.4.1 手動テストによるテスト手順書の管理
5.4.2 テストリスト管理とテストの実施
5.4.3 Visual Studio Team Systemによる手動テスト実施のメリット
5.5 WebテストツールによるWebテストの自動化
5.5.1 Webテストツールの概要
5.5.2 Webテストツールを利用するための事前準備作業
5.5.3 レコーディングとリプレイの基本
5.5.4 テスト実施結果の検証方法
5.5.5 抽出規則とデータ駆動型テストによる動的なデータ入力方法
5.5.6 Webサーバー名のパラメータ化
5.5.7 認証とユーザーアカウントの切り替え方法
5.5.8 WebテストツールのTips & Tricks
5.5.9 Webテストツールの利用に関する注意点
5.5.10 WebテストツールによるWebテストの自動化 ― まとめ
5.6 結合機能テストにおけるコードカバレッジデータの取得方法
5.6.1 開発環境側(ビルドサーバー上)での事前準備作業
5.6.2 テスト環境側でのカバレッジデータ取得作業
5.6.3 収集されたカバレッジデータの解析作業
5.6.4 コードカバレッジデータ取得のトラブルシューティング
5.7 テストチームによる結合機能テストの実施 ― まとめ
第6章 テストチームによるシステムテストの実施
6.1 Visual Studio 2005がカバーするシステムテストの範囲
6.2 性能テストの考え方
6.2.1 Webアプリケーションの性能テストの重要性
6.2.2 マルチユーザー環境で発生する主な問題点
6.2.3 2種類の性能テスト
6.2.4 負荷発生ツールの必要性
6.3 性能テストの実施方法
6.3.1 性能テストで測定する2つのグラフ
6.3.2 実施結果の確認方法
6.3.3 思考時間の有無とピーク出現位置
6.3.4 性能テストを実施する場合の一般的な注意点
6.4 Visual Studio 2005による性能テストの実施方法
6.4.1 2種類の性能テスト
6.4.2 ローカルマシンからの性能テストの実施方法
6.4.3 ステップロード機能の活用方法
6.4.4 測定結果データの解析方法について
6.4.5 Rigを用いた大規模性能テストの実施方法
6.5 テストチームによるシステムテスト ― まとめ
本書のまとめ
索引
謝辞
|