探索的テストの導入効果 および 実施方法の納得性を高めるための取り組み事例
氏名 藤澤敏浩
所属 日本ナレッジ株式会社
はじめに・背景（200～400 文字程度）
探索的テストの導入におけるステークホルダーの納得性を高めるために行った取り組みの事例である。
探索的テストの効果についてはいろいろな文献などにより既知であることから、技術支援チームとしては総合テストにおける不具合流出対策として探索的テストの導入を推進することになった。しかし具体的な検討を進めていった際、具体的な導入効果や実施方法について管理者やテストチームメンバーからの理解が得られず、思うように具体化が進まない状況となった。
初めて探索的テストを導入するケースにおいて、導入効果、特に網羅性やエビデンスが残らないことに不安を抱き、管理者やメンバーなどのステークホルダーが導入に理解を示さない場合がある。
当発表は、具体的な効果測定方法と実施方法を提示することにより、導入効果と実施方法に納得性を与え、探索的テスト導入の障壁を下げることを目的とする。
概要
探索的テストの導入におけるステークホルダーの納得性を高めるために行った取り組みの事例である。探索的テストの導入に向けステークホルダーの理解を得られていない状況に対し、どのように課題を整理し、納得性の高い効果測定方法とテスト実施方法を検討していったかをお伝えする。
問題提起
１）探索的テストのメリット/デメリットについて納得性の高い内容で整理できていない
２）記述式テストの他に探索的テストを導入するとコスト増になることを懸念されている
３）探索的テストの実施結果は再現性が保証できない可能性がある
４）担当者のスキル依存度が高くなり、担当範囲により品質のバラつきが生じることを懸念されている個々の問題に対する課題を示す
１-１）探索的テストの実施効果を明示的にする必要がある
１-２）デメリットが大きな品質リスクとならない理由を明確にする必要がある
２-１）記述式テストを削減して探索的テストを実施しても、品質低下にならない理由を明確にする
２-２）記述式テストと探索的テストの棲み分けが必要である
３）

エビデンスの残し方を明確にする必要がある

４-１）担当者のスキル依存度を低くするための準備プロセスを検討する必要がある
４-２）テスト観点が担当者スキル依存になることで生じやすい、観点漏れを防ぐ方法を検討する必要がある
個々の課題に対する対策を示す
１-１）品質状況の分析方法 および 効果測定方法を検討した
記述式テスト/探索的テストで検出された不具合を体系的に分類する方法、それを基にどのように品質傾向を分析し、次の探索観点を導き出すか、また探索的テストの状況を客観視するための定量化方法について、運用フローとフォーマットを検討することで実現できた。
１-２）記述式テストと探索的テストの両手法を併用することで、どのようにリスクを低減できるかを検討した
当プロジェクトの特徴としては、従来は記述式テストのみで行ってきた予算相当で、記述式テストの一部を探索的テストに置き換えることで不具合流出対策を実現しなければならない、という前提条件が存在していた。
1

両手法の棲み分け範囲の定義し、各手法での品質確保範囲を認識あわせすることで、どのように一定の網羅性と不具合流出対策を実現するか、また置き換えによる記述式テストの網羅率低下が品質リスクにつながらない理由について、ステークホルダー間で十分な認識合わせを行い、合意を得ることができた。
ただし、リリース後の流出不具合については、現時点では把握できていない。
２-１）探索的テストのメリット/デメリットと不具合検出効率が高い理由を明確にした弊社が積み上げた過去の実績を基に探索的テストのメリット、デメリットを明示した。また不具合検出がテスト実行担当者のスキル頼みにならないよう、チーム全体として不具合検出効率を上げるための取り組み方法を検討することができた。
一概に比較できないが、不具合検出数は記述式テストに対し、探索的テストは 3 倍弱の不具合検出数であった。
２-２）それぞれのテストについて目的を明確にする(1-2 に関連)記述式テスト、探索的テストそれぞれの手法で期待する品質、棲み分け範囲を明確にすることで、両手法の目的を明確にして進めることができた。
３）

試験者を問わず同じ粒度のエビデンスを残すための記録ルールを作成する
探索的テストの実行方針 および フォーマットを定義することで、一定水準でのエビデンス粒度を残す仕組みを実現できた。（実施結果 および 不具合発生時のテンプレ）
なお、フォーマットを含め、事前にステークホルダーと合意を得ることで、エビデンス粒度についてのトラブルは発生しなかった。

４-１）スキル依存度を低くするための分析方法とテストチャーターの内容を検討する
テストチャーターは製品品質の品質特性を軸とし、また各品質特性とテスト観点を紐づけ、当プロジェクトにおける品質特性の定義/テスト観点をテスト開始前に認識合わせする場を設けた。またフォーマットの記載ルールを明確にすることで、スキル依存度に影響されず、実施状況の把握と品質状況の分析が可能なフォーマットで進めることができた。
一方で、テスト実行担当者以外のステークホルダーを含め、探索的テストの事前レクチャーなどの基礎スキルを習得する仕組みがないと、ステークホルダー間で理解度に温度差が生じる可能性がある点は今後の課題と考える。
４-２）テスト実行時に不具合傾向や品質状況を踏まえた重要観点を共有する仕組みを検討する
日々2 回（朝/午後一）、進行状況、不具合検出状況、次の探索ポイントを共有する打合せを実施した。短いスパンで状況の認識合わせを行うことで、怪しい観点の共有、探索ポイントのジャッジを行うことができた。
なお、品質状況が日々客観的に把握できるということで、途中から他チームのメンバーも興味を持ち参加者が増え、状況に応じて不具合や品質状況に対する対応を早めることができたことは副次的効果であった。
結果・まとめステークホルダーが抱える不安を取り除くため、以下の点について具体策を検討していった。
・導入効果、メリットとデメリットの明確化・リスクを低減するための具体施策
・担当者のスキル依存が高い手法に対し、スキル依存度を低くするための実施方法
・探索的テストを一定水準で定量化する方法
・それらを、テスト分析、テスト計画の段階からステークホルダーと認識合わせを実施
また準備段階からステークホルダーへの説明、疑問点や課題の解消など、密なコミュニケーションを積み重ね、具体的な進め
2

方や、それによる効果の説明などを丁寧に進めていくことで、課題を段階的に解決しステークホルダーの不安を緩和していくことができた。
テスト実施の段階においては、ステークホルダーにもテスト実施や分析作業などに参加してもらうことで、効果的に不具合検出を進めるアプローチを肌で感じてもらうことで、品質面の不安が低減されることに理解を示してもらうことができた。
ステークホルダーの理解を得て、本格的な導入を進められることになったが、記述式テスト/探索的テストを標準テストプロセス化したいとの要望を請け、一点大きな課題が顕在化した。
従来は、社内標準化されている試験密度やバグ密度を品質判断基準としテスト工程の完了判定材料としていたが、探索的テスト導入により従来の試験密度やバグ密度を具体的にどのように見直すべきか、ということである。
これらは今後の検討課題として、探索的テストを標準テストプロセスに組み込むこととあわせ、探索的テストを導入した際の品質判断基準の見直しを引き続き検討していくこととなった。

参考文献
SQiP シンポジウム発表論文
短納期型開発プロジェクトのためのテスト手法「FaRSeT（ Flexible and Rapid Software Test）」の適用と効果
https://www.juse.jp/sqip/symposium/archive/2018/day1/files/A2-2_ronbun.pdf
JaSST’15 Hokkaido 基調講演「探索的テスト - アジャイル時代の効率的なテストを考える」
https://www.jasst.jp/symposium/jasst15hokkaido/pdf/S1.pdf
JaSST’20 Hokkaido 基調講演
「なぜ大規模 SIer で探索的テストを推進しているのか？～NTT データが目指すソフトウェアテストの世界～」
https://jasst.jp/symposium/jasst20hokkaido/pdf/S2-1.pdf
Microsoft Doc「Exploratory Software Testing (探索的ソフトウェア テスト)」
https://docs.microsoft.com/ja-jp/previous-versions/jj620911(v=vs.120)?redirectedfrom=MSDN
仙台ソフトウェアテスト勉強会ブログ「ソフトウェアテスト勉強会 探索的テスト入門②」
https://ameblo.jp/sendai-test/entry-11919265075.html
はてなブログ「シナリオベースの探索的テストとは何か」
https://www.kzsuzuki.com/entry/2014/03/26/091300

3