Upgrade to Pro — share decks privately, control downloads, hide ads and more …

生成AIエージェントを用いた、 手動テスト手順書から自動テストへの 変換手法の検討

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.
Avatar for MagicPod MagicPod
September 11, 2026

生成AIエージェントを用いた、 手動テスト手順書から自動テストへの 変換手法の検討

2026/9/11開催
ソフトウェア品質シンポジウム(SQiPシンポジウム) 2026 B3-1 経験発表資料

Avatar for MagicPod

MagicPod

September 11, 2026

More Decks by MagicPod

Other Decks in Technology

Transcript

  1. 自己紹介 MagicPod エバンジェリスト 伊藤 由貴 / Yoshiki Ito QAエンジニア・テスト自動化エンジニアを 10年以上経験。

    テスト自動化技術の普及推進チーム立ち上げや、 事業会社でのQAチーム立ち上げを経て、 2025年よりMagicPodエバンジェリスト。 『ソフトウェアテスト技法練習帳』共著。 JSTQBテスト自動化エンジニアシラバス 翻訳メンバー。
  2. 手動テスト手順書から自動テスト手順への変換フロー 手動テストケース (全量) 追加知識 (マニュアル等) 自動化可否 判断 画面遷移図 作成 曖昧箇所

    検出・修正 画面遷移図 自動化候補 テストケース 自動化候補 テストケース CRUD ・依存分類 依存関係 分析 テストケース 再構成 自動化用 テスト手順書
  3. 手動テスト手順書から自動テスト手順への変換フロー 手動テストケース (全量) 追加知識 (マニュアル等) 自動化可否 判断 画面遷移図 作成 曖昧箇所

    検出・修正 画面遷移図 自動化候補 テストケース 自動化候補 テストケース CRUD ・依存分類 依存関係 分析 テストケース 再構成 自動化用 テスト手順書
  4. 手動テスト手順書から自動テスト手順への変換フロー 手動テストケース (全量) 追加知識 (マニュアル等) 自動化可否 判断 画面遷移図 作成 曖昧箇所

    検出・修正 画面遷移図 自動化候補 テストケース 自動化候補 テストケース CRUD ・依存分類 依存関係 分析 テストケース 再構成 自動化用 テスト手順書
  5. 手動テスト手順書から自動テスト手順への変換フロー 手動テストケース (全量) 追加知識 (マニュアル等) 自動化可否 判断 画面遷移図 作成 曖昧箇所

    検出・修正 画面遷移図 自動化候補 テストケース 自動化候補 テストケース CRUD ・依存分類 依存関係 分析 テストケース 再構成 自動化用 テスト手順書
  6. 補足:応募時点からの状況変化 経験発表への応募時点では本手法による効果が大きい状態であったが、このあと 共有する最新の結果では、手法有無による成功率の差分が少なくなっている。 環境:Claude Desktop Opus4.7 + MagicPod Autopilot MagicPod

    45.45% 77.27% 当初本手法は成功率向上を目的の一つとしていたが、AIモデルおよびテスト自動 化ツール側の機能追加や能力向上により、本手法なしの場合の成功率は今後も向 上すると予想される。 今後は、テストケース粒度の調整や依存関係の最適化など、「より保守性の高い 自動テストを生成するための中間処理」として考えるほうが望ましい。
  7. MagicPodで実際に行なっているフローのイメージ Phase1 分析 テスト手順書 補助資料 自動化可 否判断 分析レポート 画面遷移 図作成

    画面遷移図 テストケ ース分析 テストケース Phase2 設計 Phase3 実装 共通関数 設計 共通関数 設計書 プロンプ ト作成 自動化 プロンプト 自動テス ト設計 自動テスト 手順書 自動化 自動テスト 自動化ログ
  8. プロンプト実例:テストケースの再構成 合意した粒度方針に基づき、まずCRUD・依存関係の分析を行い、その結果をもとにグルーピング・分割を判断する。 1. **CRUD・依存関係の分析(先行)**: 後述のA〜E属性(特にA: 操作の性質・D: 依存関係)を 仮判定する。これにより「どのテストケースを一緒にまとめられるか」「どこで分割すべきか」が見えてくる 2. 粒度方針に従い、仮判定結果を踏まえて関連するテストケースをグルーピングする

    3. グルーピングしたテストケース群について必要に応じて再分割する - 手順の長さ(目安: 20手順超)は意味のある区切りで分割する 4. 再構成後の各テストケースに新しいID(再構成後テストケースID)を付与する。 5. **トレーサビリティの確認**: 母集団に存在する元テストケースIDが、再構成後のいずれかのテストケースに1件以上 対応していることを確認する。対応漏れがあれば再構成のミスとして扱い、修正する 6. **[レビュー]** 再構成結果(グルーピング方針・トレーサビリティ確認結果)をユーザーに提示し、合意を得る
  9. プロンプト実例:依存関係分析観点 **A. 操作の性質** **D. 依存関係** | 分類 | 判定基準 |

    | ------ | --------- | | 判定 | 基準 | | 参照 | データ・設定を一切変更しない | | :----: | ------ | | 作成 | 新しいデータを追加する | | 独立 | 他テストに依存しない | | 変更 | 既存のデータまたは設定を書き換える | | 順序依存 | 特定テスト実行後の状態を前提とする | | 削除 | データまたは設定を削除・無効化する | | データ依存 | 他テストが作成するデータを使用する | **B. データ準備の要否** **E. 手順の抽象度** | 判定 | 基準 | 対応方針 | | 判定 | 基準 | | :----: | ------ | --------- | | :----: | ------ | | 不要 | 参照のみ、または作成がテスト対象 | そのまま実行可能 | | 具体的 | 操作対象・操作内容・期待結果がすべて明示 | | テスト内作成 | 編集・削除対象のデータをテスト冒頭で作成できる | エポック時変数で名称重複防止 | 部分的に曖昧 | 一部の手順で不明確 | | | 抽象的 | WHATのみでHOWがない | | 外部準備 | テスト内で作成困難 | Setupケースとして設計 | **C. 後片付けの要否** | 判定 | 基準 | 対応方針 | | :----: | ------ | --------- | | 不要 | 参照のみ、または他テストに影響しない | 後片付け不要 | | テスト内復元 | テスト末尾で元に戻せる | 復元ステップを含める | | Teardown必要 | 復元が複雑 | Teardownケースとして設計 |
  10. プロンプト実例:自動化可否判定 A〜Eの判定結果を総合し、各テストケースを以下に分類する: | トラック | 条件 | | :-------: |

    ------ | | ファストトラック | コマンドマッチング全て明確、操作の性質が「参照」か「作成」、データ準備不要orテスト内 作成、依存なし、手順が具体的 | | ノーマルトラック | 一部不明確だがClaudeの推測で補完可能 | | 要確認トラック | 抽象的、外部準備が必要、または自動化困難パターンの「要確認基準」に該当する操作を含む | | 投入見送り | 自動化困難パターンの「不可基準」に該当 |
  11. プロンプト実例:共通処理の切り出し #### 共有ステップ化の判断基準 以下の2パターンのいずれかに該当する操作を共有ステップ化する。それ以外はインライン実装とする。 - 繰り返し登場する操作列 - 複数のテストケースで同じ操作列が登場する。画面到達手順の共通化もここに含む(画面ごとの共有ステップをさら に呼び出す上位共有ステップとして実現する) -

    2テストケース以上で登場する場合に共有ステップ化 - バリエーション操作 - 同一テストケース内で同じ操作を異なる入力値/状態で繰り返す。呼び出し前に変数(`${変数名}`)に値をセット し、共有ステップを繰り返し呼び出す形で実現する - 同一テストケース内で3回以上繰り返す場合に共有ステップ化 共有ステップ化しないケース: 1つのテストケースでしか使わない操作 / テストケース固有の状態に強く依存する操作