Share
Embed
それっぽさが問題を隠す — AI によるテストケース生成の失敗と再設計 #yamanote_west
2026年8月25日(火)開催の「山手ウエスト #1」での発表資料です。
セッションタイトル: それっぽさが問題を隠す — AI によるテストケース生成の失敗と再設計(Ryutaro Yako)
https://yamanote-west.connpass.com/event/399789/
Ryutaro Yako
August 25, 2026
Transcript
26 slides
-
それっぽさが問題を隠す — AI によるテストケース生成の失敗と再設計 2026.08.25 山手ウエスト #1 @新宿 / Ryutaro
Yako Copyright ©Unique Vision Company. All Rights Reserved. -
自己紹介 名前: Ryutaro Yako 所属: ユニークビジョン株式会社 役割: Chief Architect 興味:
フロントエンドの技術 Copyright ©Unique Vision Company. All Rights Reserved. -
事業内容 当社はソーシャルメディアを利用した、ソーシャルメディア総合管理ツールや X・LINE・Instagram・TikTokなどSNSマーケティングツールを多数提供しています。 Belugaスタジオ Beluga キャンペーン その他 X/Facebook/Instagramなどのアカウ フォロー&リポストに代表されるXのイ SNSキャンペーンに連動した、生成AIを
ントを一元管理できるソーシャルメディ ンスタントウィンをはじめとしたキャン 活用したシステムやプラットフォームが ア総合管理ツールです。企業のSNS運用 ペーンを複数展開しています。質の高い 提供する独自ツールやシステム開発も順 をサポートします。 キャンペーンの実施を支援しています。 次行っています。 Copyright ©Unique Vision Company. All Rights Reserved. -
アジェンダ 01. やりたかったこと 02. やってみた結果 03. どう対処したか 04. まとめ Copyright
©Unique Vision Company. All Rights Reserved. -
テストケース作成を AI で自動化したい テストケースは作成コストが高い 画面・項目ごとにたくさん書く必要がある 一方で書き方にはパターンがある 期待していたこと 設計書からテストケースを自動生成 ドメイン知識に基づいてレビューに専念 事前条件
→ 手順 → 確認事項 ここを AI に任せれば一気に楽になるのでは? → 作成リードタイムの大幅短縮! Copyright ©Unique Vision Company. All Rights Reserved. -
結果:品質レビューで Reject テストケース外でバグが見つかった AI で書いたテストケースの課題 周辺のテストケースも漏れていた 漏れ — 網羅できるはずの箇所が抜ける (品質レビューで指摘された)
AI に任せて人間はレビューに専念した結果、 品質面で問題が起こった 重複 — 似たケースが各所に散らばる 曖昧さ・冗長さ — 何を確かめたいのか分から ない Copyright ©Unique Vision Company. All Rights Reserved. -
問題① 漏れ 機械的に網羅できるはずの箇所が漏れる 網羅性を保証できない バグの見逃しの可能性がある とくにキャンペーン設定のような組み合わせの多い箇所ほど弱い ケース1: 事前条件: - 参加条件「オープン」・抽選方式「インスタントウィン」のキャンペーンである
確認事項: … ケース2: 事前条件: - 参加条件「レシート」・抽選方式「インスタントウィン」のキャンペーンである 確認事項: … ケース3: 事前条件: - 参加条件「Xポスト」・抽選方式「インスタントウィン」のキャンペーンである 確認事項: … # ← 参加条件 × 抽選方式は 3 × 3 = 9 通りあるが、インスタントウィンの列しかない、等 Copyright ©Unique Vision Company. All Rights Reserved. -
問題② 重複 テストケースをどこに配置すべきかが自明でない 離れた場所に似たケースが作られる 既存のテストケースをうまく探せないので AI や人が重複に気づけない 重複するのはテストケース全体を管理できていない証 # CMS
編集画面のテスト コピー&ペースト: 事前条件: - メインパネルにコンテンツが配置されている 手順: - Ctrl+Cキーを押してコンテンツをコピーする 確認事項: - Ctrl+Cでコンテンツがクリップボードにコピーされること # CMS のコンテンツごとのテスト コンテンツのコピー: 事前条件: - メインパネルにフレームコンテンツが配置されている 手順: - フレームコンテンツをクリックして選択する - Ctrl+Cを押してコピーする 確認事項: Copyright ©Unique Vision Company. All Rights Reserved. -
問題③ 曖昧さ・冗長さ そのケースで何を保証したいのかが分からない 「プレースホルダーの表示?」「改行入力?」「追記?」「リアルタイム性?」「スタイルのデフォルト設 定?」 テキストコンテンツ入力: 事前条件: - キャンペーンの編集画面が開かれている -
メインパネルに新しいテキストコンテンツが配置されている - テキストコンテンツに「クリックしてテキストを追加」というプレースホルダーが表示されている 手順: - テキストコンテンツの文字エリアをクリックする - 「春の特別キャンペーン実施中!」と入力する - Enterキーを押して改行する - 「豪華賞品が当たるチャンス」と続けて入力する 確認事項: - 文字エリアをクリックしたときテキストカーソルが表示されること - 最初の文字を入力したときプレースホルダーが消えること - 入力した文字が即座にメインパネルに表示されること - 改行が反映され、1行目に「春の特別キャンペーン実施中!」、2行目に「豪華賞品が当たるチャンス」と2行のテキストで表示されること - フォントサイズとスタイルがデフォルト設定で表示されること Copyright ©Unique Vision Company. All Rights Reserved. -
曖昧さのサイン:手順・確認事項に if が入る 手順や確認事項に「〜の場合」 が入っている 仕様が不明のままテストが書かれている # campaigns/main_panel.yaml 編集モード時にコンテンツ編集に制限がないこと: 手順:
- 左パネルからすべての種類のコンテンツをメインパネルに追加する - 編集可能な項目がある場合は任意の値を入力または選択する # if ← 何が編集可能かが仕様として未確立 確認事項: - すべてのコンテンツが追加できること # 「すべて」が未定義 - すべてのコンテンツの編集可能な項目が編集できること # 循環定義 - 非活性状態のUI要素が存在しないこと # 網羅不可能 Copyright ©Unique Vision Company. All Rights Reserved. -
なぜ起きたのか LLM を使うとそれっぽいケースが書けてしまう それっぽさが問題を隠す 保証すべき観点を考えるステップが省略される 漏れ・重複は生成したテストケース周辺にはない 生成物はレビュー時には適切に見える 量が増えるにつれ問題が深刻化する → 規模が大きくなって手がつけられなくなってから
気づく Copyright ©Unique Vision Company. All Rights Reserved. -
どう対処したか 暗黙だった観点を「タグ」として明示する STEP 1 タグを定義 STEP 2 ケースにタグ付け 漏れ、重複、曖昧さ・冗長さは構造化によって防ぐ! Copyright
©Unique Vision Company. All Rights Reserved. STEP 3 タグを軸に整理 -
① タグの概念を追加 プロダクトに合ったタグを定義 キャンペーンや画面の観点・パターンを明示 排他タグ:1 ケースに 1 値だけ 例: 抽選方式
は 1 つに定まる 非排他タグ( [] ):複数値 OK 例:ページ内の コンテンツ[] は複数あり得る # tags/tags.yaml(抜粋) 参加条件: # 排他 - レシート - Xポスト - オープン 抽選方式: # 排他 - 事後抽選 - インスタントウィン コンテンツ[]: # 非排他 - テキスト - 画像 - ボタン Copyright ©Unique Vision Company. All Rights Reserved. -
② テストケースにタグ付け テストケースを YAML 化 + JSON Schema でスキーマを定義し、タグを付けられるようにした(社内 OSS)。
Before After サイトで設定する項目は空: 事前条件: - 参加条件「オープン」 - 抽選方式「インスタントウィン」 - 抽選頻度制限「1日1回…」 # 観点が文章に埋もれている サイトで設定する項目は空: tags: 参加条件: オープン 抽選方式: インスタントウィン 抽選頻度制限: 1日1回抽選に参加できる 事前条件: - … # 観点が構造化されて見える Copyright ©Unique Vision Company. All Rights Reserved. -
Skills でタグ付けを効率化 タグ付けを手動でやるのは大変 $ /tag-testcases campaigns/winning_settings.yaml Skills を作成 → tags.yaml
の語彙を取得 → 各ケースを分析してタグ付与 → 変更サマリーを表示 tags.yaml を読み込み、ルールに沿って自動 でタグ付け タグがちゃんと設計されていれば精度はよい Copyright ©Unique Vision Company. All Rights Reserved. -
③ タグを軸に構造を作り直す 付けたタグを使って、分かりやすい切り口で構造を再構築 「どの軸で網羅するか」を可視化できるようになる :排他タグ 3 軸で整理 After 抽選方式: インスタントウィン
:画面の見た目順 Before ケース9 ケース10 ケース11 参加条件: オープン … ログイン方式: LIFF 参加条件: レシート ログイン方式: LINE Copyright ©Unique Vision Company. All Rights Reserved. ログイン方式: LIFF 抽選方式: 事後抽選 ログイン方式: LINE … -
タグによる構造化の効果 漏れ:タグの組み合わせで網羅状況が見える 抜けている軸に気づける 重複:同じタグで似たケースを検索できる 配置の判断もしやすい 曖昧さ・冗長さ:タグがそのケースで保証すべきことを明確化する スコープが小さくなる 確認事項から if が消える
Copyright ©Unique Vision Company. All Rights Reserved. -
まとめ AI でテストケースを自動生成したら、漏れや重複、曖昧さ・冗長さが発生 AI で設計しなくてもそれっぽいケースを生成できるため問題が見えにくい テストケース量が増えてから発覚する タグで観点を明示して構造を作り直すことで立て直した タグ付けは Skills で効率化した
AI による生成物の品質を、構造化によって向上させよう! Copyright ©Unique Vision Company. All Rights Reserved.