はじめに
この記事では、ISTQB Advanced Test Analyst(アドバンスド テストアナリスト)シラバスの章「3.3 経験ベースのテスト技法(Experience-Based Techniques)」の中から、最初のテーマである**「エラー推測(Error Guessing)」**について詳しく解説します。
この技法は、テスター自身の経験や直感に基づいて欠陥を見つける手法です。
一見“感覚的”に思えますが、実はソフトウェア品質を高める上でとても実践的なアプローチです。
経験ベースのテスト技法とは?
経験ベースのテスト技法(Experience-Based Techniques)は、**仕様ベース(ブラックボックス)や構造ベース(ホワイトボックス)**のような形式的手法を補完するために使われます。
これらの技法は、形式的なテスト設計(例:同値分割、境界値分析など)を行った後に追加的な価値を生み出すものであり、テスターの知識・洞察・過去の失敗事例などに基づいて欠陥を探します。
主な特徴
-
ドキュメントが不十分な場合でも有効
-
開発スケジュールがタイトな場合にも適用可能
-
運用段階での障害分析にも役立つ
-
テスターのドメイン知識や経験が品質向上に直結する
経験ベース技法のメリットとデメリット
メリット
-
欠陥検出の効果が高い
過去の経験に基づくため、見落とされやすい不具合を発見しやすい。
-
ドキュメント不足でも実施できる
仕様書や設計資料が不十分なプロジェクトでも適用可能。
-
チームの理解促進
実際に動作を確認しながらテストを行うことで、チームがシステムに詳しくなる。
-
リスク分析にも応用できる
どの部分に障害が起きやすいかを特定し、リスク低減に繋げられる。
デメリット
-
再現性が低い
個人の経験に依存するため、他のテスターが同じ結果を得られないことがある。
-
テストカバレッジの測定が困難
体系的に記録されないため、どの範囲をテストしたかが不明確になる。
-
自動化が難しい
探索的・手動的な要素が多く、スクリプト化には向かない。
-
詳細なドキュメント化が行われにくい
テスト設計書が「箇条書き」や「一行メモ」で済まされる場合もある。
エラー推測(Error Guessing)とは?
エラー推測は、経験ベースの技法の中でも最も代表的な手法です。
テスターが**「どこにエラーが潜んでいそうか」を予測してテストケースを作成する**という考え方です。
基本の考え方
-
テスターやテストアナリストは、過去の経験・障害履歴・コードの複雑さなどから、欠陥が発生しやすい箇所を推測する。
-
その推測に基づいて、重点的にテストケースを設計・実行する。
よくある推測の例
-
入力チェックをしていない可能性があるフィールド
-
開発者が修正を繰り返している不安定な箇所
-
境界条件が複雑なロジック
-
異常系(エラーハンドリング)の動作
-
長い文字列・特殊文字・ゼロ除算などのエッジケース
具体例:パスワード入力画面のテスト
たとえば、ログイン画面で「パスワード」を入力する機能をテストする場合を考えましょう。
開発者の意図
-
8文字以上でなければならない
-
数字と英字を含む必要がある
-
特殊文字は許可される
エラー推測に基づくテストケース例
|
テスト項目 |
入力値 |
期待結果 |
|---|---|---|
|
最小文字数未満 |
abc12 |
エラーメッセージ表示 |
|
英字のみ |
abcdefghi |
エラーメッセージ表示 |
|
数字のみ |
123456789 |
エラーメッセージ表示 |
|
許可されない特殊文字 |
abc123<> |
エラーメッセージ表示 |
|
空入力 |
(空欄) |
エラーメッセージ表示 |
|
正常入力 |
Test1234 |
ログイン成功 |
このように、「どんな入力で問題が起こりそうか」を直感的に洗い出すのがエラー推測のポイントです。
リスク分析への応用
エラー推測は単なるテスト設計だけでなく、リスク分析にも応用できます。
例えば、
-
「入力チェック不足」が頻発している過去のシステムでは、入力項目に重点を置いたテストを行う。
-
「通信エラー」や「タイムアウト」が多いアプリでは、ネットワーク切断や遅延を模擬するテストを優先する。
こうした分析は、リスクの高い箇所を早期に特定し、欠陥を防止するうえで非常に有効です。
エラー推測の制限と注意点
エラー推測には次のような制約があります。
-
テストカバレッジを正確に測れない
どの範囲を網羅したかが不明確になりやすい。
-
熟練テスターに依存する
経験の浅いテスターでは有効な仮説を立てにくい。
-
再現性の問題
ドキュメントが少ないため、他のメンバーが同じ結果を再現しづらい。
-
記録の簡略化
「一行メモ」程度のテスト記録しか残らない場合が多く、後から分析しにくい。
まとめ
|
項目 |
内容 |
|---|---|
|
技法名 |
エラー推測(Error Guessing) |
|
分類 |
経験ベースのテスト技法 |
|
目的 |
経験や直感に基づき、欠陥を発見する |
|
主な利点 |
ドキュメント不足・短納期環境で有効 |
|
主な欠点 |
再現性・カバレッジの測定が困難 |
|
代表的な適用例 |
入力検証、エラーハンドリング、複雑なビジネスロジックの確認 |
まとめ:経験×直感=高品質なテスト
エラー推測は、テスターの「人間的な洞察」を最大限に活かす手法です。
形式的な手法では見落とされるバグを、経験と直感で補うことができます。
ただし、感覚に頼りすぎず、他の技法(境界値分析・決定表など)と組み合わせることで最も効果を発揮します。


コメント