最少のテストケースで最大の効果をあげるためのツールを満載
第1章 テストのプロセス
第2章 ケーススタディの説明
Section 1 ブラックボックステスト技法
Section 2 ホワイトボックステスト技法
Section 3 テストのパラダイム
Section 4 支援技法
Section 5 最後の考察事項
■第1章 テストのプロセス
ソフトウェアテストの定義
「テストとは、テストされるソフトウェアの品質を測定して改善するために、テストウェアをエンジニアリングし、利用し、保守しながら、同時並行的に進めるライフサイクルプロセスである。」(P.12)
•テストとは 「実際どうなっているか」と「本来はどうあるべきか」の比較
•この本の役割 ◦テスト設計を有効かつ効率よく行うための技法
•テストケースの構成
・入力
・出力 ■期待値(オラクル)
・実行の順番 ■ランダム or シーケンシャル
•すべてをテストすることは不可能
■Section 1 ブラックボックステスト技法
ブラックボックステストは、要件と仕様書だけをよりどころにしたテスト戦略です。ホワイトボックステストとの違いは、ブラックボックステストではテスト対象ソフトウェアの内部パス、構造や実装に関する知識を必要としないことです。
(pp.26)
★組み合わせの数が非常に大きいときは、すべての変数のすべての値のすべての組み合わせをテストするのではなく、全てのペアのテストをします。テストケースが大幅に減ります。
このペア構成テストの効果を理論的に保障してくれる「ソフトウェア欠陥物理学」は存在しません。
ただ多くのプロジェクトでそれが成功しているという事実です。(P.88)
→ 直行表★★★
状態遷移図はテストすべき状態、イベント、アクション、遷移を明確にしてくれるので、テスト作業の指針として役に立ちます。
抜け漏れのない体系的な分析を行いたいときは、状態遷移表のほうが使いやすい手法です。
(P.104)
<ブラックボックステストの技法>
・同値クラステスト
・境界値テスト
・デシジョンテーブルテスト
・ペア構成テスト
・状態遷移テスト
・ドメイン分析テスト
・ユースケーステスト
■Section 2 ホワイトボックステスト技法
ホワイトボックステストは、テスト対象ソフトウェアの内部パス、構造、実装に関する知識をよりどころにしたテスト戦略です。ブラックボックステストとの違いは、ホワイトボックステストを実施するには通常、詳細なプログラミングのスキルが必要になることです。
(pp.126)
<ホワイトボックステストの技法>
・制御フローテスト
・データフローテスト
■Section 3 テストのパラダイム
・スクリプトテスト(事前計画テスト)
・探索的テスト(例:20の扉。頭の中に思い描いているものを20個の質問(Yes-Noで答えられる質問)を通じて当てるゲーム。仮に全ての質問を事前に計画しておいたとしたら、当てることはできないだろう。質問の結果を次の質問のインプットとする方法。)
計画が現在進行形のプロセスである以上、計画は現時点でわかっている情報と知識に基づいた暫定的な産物であり、新しい情報や理解が得られた際は常に見直しの対象となる、と認識すべきです。
P192
■Section 4 支援技法
テストをいつ終了するかを判定するための基本的な条件を5つ挙げると、以下のようになるでしょう。
・事前に決めたカバレッジの目標値を達成した
・欠陥検出率が事前に決めたしきい値以下に下がった
・「次」の欠陥を見つけるのに要する限界コストが、
その欠陥で生じると予想される損害額よりも大きくなった
・プロジェクトチームが、製品をリリースしてもよいという合意に達した
・上司による「いいから出荷しろ」の一言
■Section 5 最後の考察事項
・腕の良い職人には、道具が入ったバケツが必要
・そして、どの状況でどの道具を使うべきかがわかっていること
・能力レベルの3つのカテゴリ
1.知識
2.理解
3.応用 → よって実践が大事
■引用著作
・基本から学ぶソフトウェアテスト
・ソフトウェアテスト293の鉄則
・体系的ソフトウェアテスト入門
・ソフトウェアテスト12の必勝プロセス
・基礎から学ぶテストプロセス管理
・ソフトウェアテスト技法
■目次
第1章 テストのプロセス
第2章 ケーススタディの説明
Section 1 ブラックボックステスト技法
第3章 同値クラステスト
第4章 境界値テスト
第5章 デシジョンテーブルテスト
第6章 ペア構成テスト
第7章 状態遷移テスト
第8章 ドメイン分析テスト
第9章 ユースケーステスト
Section 2 ホワイトボックステスト技法
第10章 制御フローテスト
第11章 データフローテスト
Section 3 テストのパラダイム
第12章 スクリプトテスト
第13章 探索的テスト
第14章 テストの計画
Section 4 支援技法
第15章 欠陥の分類
第16章 テストの終了判定
Section 5 最後の考察事項
付録A ブラウン&ドナルドソンのケーススタディ
付録B ステートレス大学の登録システムのケーススタディ
システムの規模がどのようなものであっても、すべての異なる論理パスの組み合わせと、すべての異なる入力データの組み合わせに対してテストを行うことは不可能です。
リソースの制約があるので、それぞれテストするなんらかの意味を持つ無限の選択肢の中から、テスト担当者がほんの小さな部分(サブセット)を選んでテストする以外に、方法はありません。
この書籍の目的は、このようなサブセットを分析、設計、選択して、欠陥をより多く検出できるテストケースを作成できるように読者を支援することです。
(pp.1)