Slide 1

Slide 1 text

© LY Corporation ローカル・UGC SBU 福山 怜史 コーディングAIが導く リスクベースド探索的テストの実践 Development with Agents Meetup #3

Slide 2

Slide 2 text

© LY Corporation 2 Satoshi Fukuyama 2019年新卒入社 ローカル・UGC SBU所属 Orchestration Guildメンバー ローカル領域のフロントエンド開発チームをリードし、 生成AIを活用した開発プロセスの最適化と品質向上に取り組む。 また複数のハッカソンにおいて多数の受賞経験を持ち、 社内外での技術的挑戦を続けている。 LINEヤフー株式会社 Frontend Engineer & Div Lead

Slide 3

Slide 3 text

© LY Corporation 皆さんの開発現場で こんな経験はありませんか? 3

Slide 4

Slide 4 text

© LY Corporation 4 前回バグった箇所、今回もまた壊れた テストを全部やる余裕はない。でも漏らしたら本番事故 どこを重点的にテストするか、いつもベテランの経験頼り

Slide 5

Slide 5 text

© LY Corporation 実はこれ、 業界共通のテスト課題です 5

Slide 6

Slide 6 text

© LY Corporation 6 業界共通のテスト課題 テストの判断は、ほとんどが "暗黙知" [ 原因 ] 前回バグったから 念入りに ここはしっかり テストすべき 何となく、 ここ怪しそう…

Slide 7

Slide 7 text

© LY Corporation 7 業界共通のテスト課題 テストの判断は、ほとんどが "暗黙知" [ 原因 ] バグが再発 テスト漏れで事故 ベテランしかバグを 見つけられない どこが危ない? 何を確認すべき? どう試すべき? 前回バグったから 念入りに ここはしっかり テストすべき 何となく、 ここ怪しそう…

Slide 8

Slide 8 text

© LY Corporation 8 業界共通のテスト課題 テストの判断は、ほとんどが "暗黙知" [ 原因 ] バグが再発 テスト漏れで事故 ベテランしかバグを 見つけられない どこが危ない? 何を確認すべき? どう試すべき? 前回バグったから 念入りに ここはしっかり テストすべき 何となく、 ここ怪しそう… AI エージェントで "暗黙知" を "形式知" にできないか?

Slide 9

Slide 9 text

© LY Corporation 9 本日のテーマ:リスクベースド × AIエージェント 過去のバグ傾向から "リスク" を可視化し、テスト深度に "メリハリ" をつける ─ それを AI が一気通貫で実行 ─ ①リスク分析表の生成 = どこが危ない? ③AIによる自動テスト = どう試すべき? ②テストケースの生成 = 何を確認すべき? ─ ベテランの "経験" を、組織の "仕組み" へ ─ ─ "暗黙知" を "形式知" に変える、3つのステップ ─

Slide 10

Slide 10 text

© LY Corporation ①起きやすさ×影響に沿った リスク分析表の生成 10

Slide 11

Slide 11 text

© LY Corporation 11 ①でやること:リスク分析表の生成 バグ起票チケットから、起きやすさ×影響に応じたリスク分析表をAIで生成する バグ起票チケット (GitHub Issue や JIRA チケットを想定) 出典:Sky株式会社 (2025) 発生確率・影響度マトリックス(リスクマネジメント)https://www.skygroup.jp/tech-blog/article/636/ ※サンプルアプリにおける結果

Slide 12

Slide 12 text

© LY Corporation 12 リスク分析表を生成するスキルを作る リスク分析表を生成するスキル(risk-table-generation)を実装 以下のようにスキルをコマンドとして実行するだけでリスク表が生成される # Claude CodeやCodexの起動 claude # リスク分析表を生成するスキル(risk-table-generation)を実行する # jira, githubなどのオプションがあり、それぞれの入力ソースに対応する › /risk-table-generation --jira # レポート用のMarkdownファイルおよびHTMLが生成されれば成功 • risk-table-generation --local を実行し、ローカルバグレポート10件からリスク表を生成しました。 - Markdown: risk-tables/risk-table-YYYYMMDD-HHMMSS.md - HTML: risk-tables/risk-table-YYYYMMDD-HHMMSS.html

Slide 13

Slide 13 text

© LY Corporation 13 リスク分析スキルの解説 バグ履歴の情報を正規化した後に、バグの起こりやすさ/ 影響度の観点で三段階評価し集計する 最後にリスクマトリクス表に当てはめてリスクレベルを決定する 集計はスクリプトが確定、AIは自然言語の解釈や生成のみ データのばらつきを減らしつつ、再現性を担保

Slide 14

Slide 14 text

© LY Corporation 14 リスク分析スキルの実行結果(1) # ローカルに配置したバグレポートで分析 › /risk-table-generation --local ローカルバグレポートを使用してリスク表を生成します。まず、リファレンスファイルとバグレ ポートを読み込みます。 全バグレポートを読み込みました。Step 2の正規化を行います。 正規化の結果: - BUG-03: 機能領域なし → 原因コード(cartRepository.ts)から「カート・注文確定」に分類。優先度 Low → High(在庫超過注文の可能性 → データ整合性に影響) - BUG-06: 機能領域なし → 原因コード(クーポン適用条件判定)から「クーポン適用」に分類。優先度 Low → High(不正なクーポン適用 → 金額計算に影響) - その他8件: 補正なし TSVファイルを作成し、集計スクリプトを実行します。 集計完了。 A B C ※サンプルアプリにおける結果

Slide 15

Slide 15 text

© LY Corporation 15 Step 4: リスク表のMarkdownファイルを生成します。 Write(省略/risk-tables/risk-table-20260427-000844.md) ⎿ Wrote 72 lines to 省略/risk-tables/risk-table-20260427-000844.md Step 5: HTMLレポートに変換します。 Bash(bash .agents/skills/risk-table-generation/scripts/convert.sh risk-tables/risk-table-20260427-000844.md) ⎿ Generated: risk-tables/risk-table-20260427-000844.html HTML path: risk-tables/risk-table-20260427-000844.html D リスク分析スキルの実行結果(2) ※サンプルアプリにおける結果

Slide 16

Slide 16 text

© LY Corporation 16 リスク分析スキルの最終結果 リスク表の生成が完了しました。 生成結果 リスクサマリー ※サンプルアプリにおける結果

Slide 17

Slide 17 text

© LY Corporation 17 成功するとリスク表がブラウザで確認できます ※サンプルアプリにおける結果

Slide 18

Slide 18 text

© LY Corporation 18 本日のテーマ:リスクベースド × AIエージェント 過去のバグ傾向から "リスク" を可視化し、テスト深度に "メリハリ" をつける ─ それを AI が一気通貫で実行 ─ ①リスク分析表の生成 = どこが危ない? ③AIによる自動テスト = どう試すべき? ②テストケースの生成 = 何を確認すべき? ─ ベテランの "経験" を、組織の "仕組み" へ ─ ─ "暗黙知" を "形式知" に変える、3つのステップ ─

Slide 19

Slide 19 text

© LY Corporation ②リスク分析表に基づく テストケースの生成 19

Slide 20

Slide 20 text

© LY Corporation 20 ②でやること:テストケースの生成 リスク表とプルリクエストをもとにテストケースドキュメントを作成する ※サンプルアプリにおける結果

Slide 21

Slide 21 text

© LY Corporation 21 テストケースを生成するスキルを作る テストケースを生成するスキル(test-case-generation)を実装 以下のようにスキルをコマンドとして実行するだけでテストケースが生成される # Claude CodeやCodexの起動 claude # リスク分析表を生成するスキル(test-case-generation)を実行する › /test-case-generation --pr 3 • --pr 3 の差分と最新リスク表をもとに、テストケースを生成して保存しました。 作成ファイル: - test-cases/test-cases-20260406-215854.md

Slide 22

Slide 22 text

© LY Corporation 22 テストケース生成スキルの解説(1) ステップバイステップで必要な情報を取得し、テストケースを作成します 変更差分 + 過去バグ傾向の2入力を突合し、 リスクが高い領域ほどテストケースが追加で生成される。

Slide 23

Slide 23 text

© LY Corporation 23 テストケース生成スキルの解説(2) Agent Skillsのreferencesに各機能のベースとなるテストケースが実装されています 基盤となるテストケースを用意することで生成されるテストケースの質を高めます ※サンプルアプリにおける結果

Slide 24

Slide 24 text

© LY Corporation 24 成功するとテストケースが作成されます 通常のテストフローに加えて、アプリケーションのリスクを考慮したテストケースが追加される! ※サンプルアプリにおける結果

Slide 25

Slide 25 text

© LY Corporation 25 本日のテーマ:リスクベースド × AIエージェント 過去のバグ傾向から "リスク" を可視化し、テスト深度に "メリハリ" をつける ─ それを AI が一気通貫で実行 ─ ①リスク分析表の生成 = どこが危ない? ③AIによる自動テスト = どう試すべき? ②テストケースの生成 = 何を確認すべき? ─ ベテランの "経験" を、組織の "仕組み" へ ─ ─ "暗黙知" を "形式知" に変える、3つのステップ ─

Slide 26

Slide 26 text

© LY Corporation ③ AIによるリスクベースド 探索的テストの実践 26

Slide 27

Slide 27 text

© LY Corporation 27 ③でやること:AIによるテストの自動化 テストケースに基づいてPlaywright MCPがUIを操作しテストを実行する Playwright MCP 出典:Microsoft https://github.com/microsoft/playwright-mcp ※サンプルアプリにおける結果

Slide 28

Slide 28 text

© LY Corporation 28 テストケースを実行するスキルを作る # Claude CodeやCodexの起動 claude # リスク分析表を生成するスキル(test-case-execution)を実行する › $test-case-execution • テストケース実行を完了し、結果を test-cases/test-cases-2026MMDD-HHMM.md の末尾に追記しまし た。 - 対象URL: http://localhost:3000 - 実行件数: 18 - 結果: PASS 17 / FAIL 1 / SKIP 0 - FAIL: C-4(商品追加導線で上限超過時に代金引換が自動解除されない) - スクリーンショット: test-cases/screenshots/C-4-20260413.png テストケースを実行するスキル(test-case-execution)を実装 以下のようにスキルをコマンドとして実行するだけでplaywright-mcpを使ってテストを実行できる

Slide 29

Slide 29 text

© LY Corporation 29 テストケース実行スキルの解説 テストケースに基づきPlaywright MCPがブラウザを操作します テストケースファイルの操作手順をPlaywright MCPで忠実に再現し、 結果をファイルに追記する。FAIL=0でも追加検証を実施。

Slide 30

Slide 30 text

© LY Corporation 30 テストケース実行スキルのデモ ※サンプルアプリのデモ動画です

Slide 31

Slide 31 text

© LY Corporation 31 成功するとAIがブラウザを操作してテストを実行します バグが検出されていればテスト結果に追記されます! ※サンプルアプリにおける結果

Slide 32

Slide 32 text

© LY Corporation 32 本日のテーマ:リスクベースド × AIエージェント 過去のバグ傾向から "リスク" を可視化し、テスト深度に "メリハリ" をつける ─ それを AI が一気通貫で実行 ─ ①リスク分析表の生成 = どこが危ない? ③AIによる自動テスト = どう試すべき? ②テストケースの生成 = 何を確認すべき? ─ ベテランの "経験" を、組織の "仕組み" へ ─ ─ "暗黙知" を "形式知" に変える、3つのステップ ─

Slide 33

Slide 33 text

© LY Corporation 社内Webアプリでの検証 ─ 現場で本当に使えるのか? 33

Slide 34

Slide 34 text

© LY Corporation 対象となる環境 34 直近対応したタスクについてリスク分析表生成、テストケース生成、AIによる自動テストを実施した 検証の概要 一部機能に対してローカル環境で検証 02 01 対象となる修正内容 パフォーマンス改善のPR(数百行規模) 03 検証内容 リスク分析表の生成 +テストケースの生成 + AIによる自動テストの実施 04 使ったツール / モデル Claude Code / Claude Opus 4.7

Slide 35

Slide 35 text

© LY Corporation リスクを考慮した テストケース数 34% 自動生成された テストケース数 41件 PRレビューの所要時間 35 検証結果:手動テスト以外を 30分で完了 完了した テストケース数 70% 成果①:過去の重大なバグが再発してないことを確認できた 過去発生したリスクレベルの高いバグの再発無しを直接担保 成果②:人手だと1時間相当の作業を30分まで短縮 リスク表生成からテストケース生成・実行までAIが一気通貫で完走 ※本結果は特定の検証環境・条件下での一例です。すべてのプロジェクトで同様の効果を保証するものではありません。

Slide 36

Slide 36 text

© LY Corporation 良かった点 36 良かった点 / 改善が必要な点 02 01 03 「自動テスト可能」と判定したケースがモックやデータの都合で検証不能になり、 テスト環境整備はE2Eと同じ課題が残った 改善が必要な点 集中力が切れがちな異常系の繰り返し検証を、AIが淡々と代行してくれてムラなく 網羅できた リスクから考える過程で実装漏れUTが浮上し、AIがコード修正まで提案してくれて、 過去バグの再発を防止できた 任せるべき領域(観点生成・繰り返し検証)と人が向き合うべき領域 (テスト環境整備)の境界が、今回のフローで明確になった ※本結果は特定の検証環境・条件下での一例です。すべてのプロジェクトで同様の効果を保証するものではありません。

Slide 37

Slide 37 text

© LY Corporation まとめ 37

Slide 38

Slide 38 text

© LY Corporation 38 本日のテーマ:リスクベースド × AIエージェント 過去のバグ傾向から "リスク" を可視化し、テスト深度に "メリハリ" をつける ─ それを AI が一気通貫で実行 ─ ①リスク分析表の生成 = どこが危ない? ③AIによる自動テスト = どう試すべき? ②テストケースの生成 = 何を確認すべき? ─ ベテランの "経験" を、組織の "仕組み" へ ─ ─ "暗黙知" を "形式知" に変える、3つのステップ ─

Slide 39

Slide 39 text

© LY Corporation 起きやすさ×影響に沿ったリスク分析表の生成:どこが危ない? 過去3ヶ月分のバグ報告書(JIRAやIssueなど)を入力するだけで、5分で試作可能。 既存のデータがあれば、明日からでもリスク傾向が見えてきます。 リスク分析表に基づくテストケースの生成:何を確認すべき? 1つの PR・1つの機能領域から始めるのがおすすめ。 AI が生成したケースと既存テストケースの差分から、テストの抜け漏れが浮かび上がります。 AIによるリスクベースド探索的テストの実践:どう試すべき? 最初は1ケースだけ、AI に実行させて感覚を掴む。 繰り返しが必要な操作やシンプルな回帰テストを試してみて、日々の開発作業を楽にする。 01 03 02 39 これから取り組むチームへのおすすめステップ 以下の3つを小さく試しながら、自分たちのチームに合った形にカスタマイズしていくのがおすすめです 具体的なAgent Skillsの内容は近日中にテックブログで公開予定です!

Slide 40

Slide 40 text

© LY Corporation Thank You

Slide 41

Slide 41 text

© LY Corporation 出典 Playwright MCP https://github.com/microsoft/playwright-mcp 41 Sky株式会社 (2025) 発生確率・影響度マトリックス(リスクマネジメント) https://www.skygroup.jp/tech-blog/article/636/ GitHub Logo © GitHub, Inc. https://github.com/logos