この記事は何か?
本記事では、経験ベースのテスト技法の1つである探索的テストの基本と、テストチャーターについて解説します。
目次
探索的テストの基本概念
探索的テストは、テスト担当者がテスト対象について学習しながら、テストの設計と実行を同時に行うテスト技法です。
事前に詳細なテストケースを用意するのではなく、テスト実行中に得た知見をもとに次に行うテストを決定していきます。
探索的テストとスクリプトテストの違い
スクリプトテストとは?
スクリプトテスト(scripted testing)とは、事前に詳細なテスト手順書を作成してその手順書に従って実行するテストです。
スクリプトテストと探索的テストには以下の違いがあります。
| 項目 | スクリプトテスト | 探索的テスト |
|---|---|---|
| テスト設計 | 詳細なテスト手順書を作成 | 簡潔なテストチャーターのみ作成 |
| テスト実行 | テスト手順書に従う | テスト設計と実施を同時に行う |
| 適した場面 | 仕様が確定した機能の検証、回帰テスト | 新機能の初期検証、仕様が曖昧な段階のテスト |
スクリプトテストと探索的テストは目的や状況に応じて使い分ける必要があります。
探索的テストは、仕様書が不完全な状況や、短期間でソフトウェアをテストする必要がある場合に効果を発揮します。
探索的テストのメリット
- 要件や仕様が不明確な段階でもテストを開始できる
- 詳細なテスト手順書の作成が不要なため、すぐにテストを開始できる
- テスト担当者のスキルや経験を活かしてテストできる
探索的テストのデメリット
- テストの網羅性を客観的に評価することが難しい
- テスト実施の記録が不十分になりやすい
- テスト担当者のスキルや経験に依存するため属人性が高い
探索的テスト、アドホックテスト、モンキーテストの違い
探索的テストは「アドホックテスト」や「モンキーテスト」と混同されることがありますが、明確な違いがあります。
| テスト技法 | 特徴 | テスト設計 |
|---|---|---|
| 探索的テスト | 明確な目的をもってバグを探す | 簡潔なドキュメント(テストチャーター)がある |
| アドホックテスト | 場当たり的にバグを探す | 手順書なし |
| モンキーテスト | 無作為な操作でバグを検出する | 手順書なし |
テストチャーター
探索的テストは事前に詳細なテスト手順書を作成しませんが、テストの方向性を明確にするための簡潔なドキュメントを用意することが一般的です。
テストチャーターの基本的な要素
テストチャーターに決まった形式はありませんが以下の形式がよく使用されます。
「(対象)を(資源)で探索し、(情報)を発見する」
- 対象:何をテストするか
- テスト範囲を明確にします。
- 資源:どうテストするか
- テストに使用する手法、ツール、データ、環境などを指定します
- 情報:どのようなバグを発見するか
- 発見したいバグを明確にします。
セッションベースドテスト
セッションベースドテストとは、一定時間(セッション)に区切って探索的テストを実施する手法です。
通常30-120分のセッション単位で区切って結果を記録として残します。