はじめに
探索的テストは、ソフトウェアテストの手法の一つであり、テストの設計、実行を同時に行うことが特徴です。 この手法は、事前に詳細なテストケースを用意せず、テスターの知識、経験を活かしてテストを行います。以下に、探索的テストのメリット、デメリット、実施例について解説します。
メリット
1.コスト効率が良い
テストの設計、実行を同時に行うため、テスト設計の工数が必要ないため 短期間で多くのテストを実施することができます。
2.柔軟性が高い
事前に詳細なテストケースを用意しないため、テスト中に発見されたバグの傾向に応じて 方向性を変更したり、新たな仕様変更にも柔軟に対応できます。
3.学習により効果があがる
探索的テストを続けていくことで、テスターのシステム、仕様理解が深まり より効率的に効果的なテストが行えるようになります。
デメリット
1.スキル依存度が高い
テスターの知識や経験に大きく依存するため テストの品質がテスターのスキルに大きく左右されてしまいます。
2.テストの透明性が低い
事前に詳細なテストケースを用意しないため、テストの進行状況や結果を詳細に 記録することが難しく、テストの透明性が低下するため、これらについて対応が必要です。
3.再現性が低い
その時その時にテスト設計、実行している為、別プロジェクトで行った探索的テストを そのまま再現することは不可能です。これにより、テストの一貫性は確保できません。
探索的テストの実施例
探索的テストを実施する際には、以下のステップを踏むことが一般的です。
1.チャーターの設定
テストの目的や目標を明確にします。例えば、「xxx機能の不具合を発見する」などの具体的な機能や 「xxx画面の表示のバグを発見する」などを具体的なバグを設定します。
2.テストの実行
チャーターに基づいて各テスターの知識と経験を基に 頭の中でテスト設計を行い、常に正しい動作を考えながらテストを行います。
3.結果報告&方向性の修正
基本的にはバグを見つけ次第報告をあげ、テスト時間をあらかじめ設けて区切ることが一般的です。 区切りのタイミングでテスト結果の有効性を評価し(バグを多く見つけられたか) 次のチャーターの検討を行いテスト範囲を修正します。
ポイント
探索的テストを実施する際には、以下のポイントに気を付けましょう。
1.テストの記録
探索的テストだからといって、一切記録を残さないわけではありません。 一定のテスト結果は記録し、透明性や再現性を確保しましょう。
2.効率を常に意識する
メリットの効率性を最大限生かすためにテストの記録時間には注意しましょう。 記録を細かく残していると、その分時間がかかりテスト効率が落ちてしまいます。 結果入力の簡略化も行い、結果についても効率化しましょう。
3.テスターの得意不得意を考える
テスターにも得意不得意があります。これまでの結果を踏まえて 得意不得意を意識し、テスター毎にチャーターを変えることで より効率的な探索的テストが行えます。
最後に
探索的テストは、テスターの知識と経験を最大限に生かすことができる柔軟なテスト手法です。 計画的なテスト手法と組み合わせることで、システムの品質をより高めることができます。 テスターのスキル向上やチームでの共有を通じて、探索的テストの効果を最大限に引き出し、 より高品質なソフトウェアを提供することを目指しましょう。