テスト詳細設計に生成AIを導入してみた話

807 Views

October 06, 25

スライド概要

2025年10月7日に開催される「QA LT Night 〜品質を追求するプロたちの集い〜」で使用する資料です。
イベント詳細:https://lapras.connpass.com/event/368463/

profile-image

ウェルスナビ株式会社 技術広報チームの公式アカウントです。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

テスト詳細設計に ⽣成AIを導⼊してみた話 ⼤久保 椋也 QA LT Night 1

2.

⾃⼰紹介 大久保 椋也(Okubo Ryoya) ウェルスナビ株式会社 QAチーム ウェルスナビでは ● 2024年9⽉にWNのQAチームにジョイン ● 現在は複数プロダクトのQAを担当しながら生成AI活用を日々模索中 ひとこと ● 登壇者写真を生成AIで作ろうとしたら、ウ◯ジマくんの登場人物 みたいな画像しか生成されなかったのでやめました。 2 @2025 WealthNavi Inc.

3.

資産運用ロボアドバイザー 「 WealthNavi 」 3 ※ ⼀般社団法⼈⽇本投資顧問業協会「契約資産状況(最新版)(2025年3⽉末現在) 『ラップ業務』『投資⼀任業』」を基にネット専業業者を⽐較 ウエルスアドバイザー 社調べ(2025年6⽉時点) ※ 画⾯はイメージです。

4.

結論 生成AIを使って テスト詳細設計を部分的に 実現💪 4 @2025 WealthNavi Inc.

5.

アジェンダ 1. テスト詳細設計を AIにやらせて楽をしたかった話 2. 実現の為のアプローチ 3. 学んだ事とNextアクション 4. さいごに 5 @2025 WealthNavi Inc.

6.

1. テスト詳細設計を AIにやらせて楽をしたかった話 2. 実現の為のアプローチ 3. 学んだ事とNextアクション 4. さいごに 6 @2025 WealthNavi Inc.

7.

1. テスト詳細設計を AIにやらせて楽をしたかった話 7 @2025 WealthNavi Inc.

8.

1. テスト詳細設計をAIにやらせて楽をしたかった話 LLMが進化を遂げて⾔語処理能⼒が⾶躍的に向上し始めた2024年の冬… AIに仕事を投げて楽をしたい 8 @2025 WealthNavi Inc.

9.

1. テスト詳細設計をAIにやらせて楽をしたかった話 テキトーな指⽰でもそれっぽい結果を出してくれる。 デキマシタ この仕様を元に 詳細設計をして これはプロンプトを組めば余裕で実現できそう。 ▶勝利を確信してプロンプトの作成を開始 9 @2025 WealthNavi Inc.

10.

1. テスト詳細設計をAIにやらせて楽をしたかった話 デキマシタ この仕様を元に 詳細設計をして 10 @2025 WealthNavi Inc.

11.

1. テスト詳細設計を AIにやらせて楽をしたかった話 2. 実現の為のアプローチ 3. 学んだ事とNextアクション 4. さいごに 11 @2025 WealthNavi Inc.

12.

2. 実現の為のアプローチ その1. ⼊出⼒フォーマットを指定 12 @2025 WealthNavi Inc.

13.

⼊出⼒フォーマットを指定 出⼒フォーマットをMarkdownの表形式で指定、 仕様の⼊⼒フォーマットとして以下のようなモノを⽤意し、AIに定義。 AIの⾔語処理能⼒を活かす為、あえて柔軟性のあるフォーマットとして⽤意した。 要素名: 種別: 説明: 初期値: 表⽰条件‧トリガー: バリデーション∕制御条件 ‧必須∕任意: ‧⼊⼒形式の制限(正規表現など): ‧その他の制御条件: 状態保存の仕様 ‧保存内容: ‧保存タイミング∕条件: ‧初期化条件: 備考 : ‧ ⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻ (必要に応じて要素ごとに繰り返し) ⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻ ● 画⾯遷移‧ナビゲーションの仕様: ● エラー処理‧フォールバック時の挙動: ● 備考 : ⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻ 13 @2025 WealthNavi Inc.

14.

⼊出⼒フォーマットを指定 結果:失敗 正直ここは想定内 【問題点】 ● ⽣成を実⾏する度に⽣成される観点、観点数がバラバラ。 ● 網羅率もだめだめ。 ○ テストの対象に盛り込まれていない仕様が出てきてしまう 【解決案】 ● プロンプトに必要な観点の出⼒を強制 ○ 1要素辺りxx件の観点を出⼒するよう指定 ● 1仕様 - 1項⽬の粒度を指定 ● 準正常系、⾮機能の具体例を追加 14 @2025 WealthNavi Inc.

15.

2. 実現の為のアプローチ その2. 観点を⽤意して出⼒数を指定 15 @2025 WealthNavi Inc.

16.

観点を⽤意して出⼒数を指定 想定される要素に対しての観点をプロンプトに追加 さらに、「1要素 15件」という出⼒件数を指定(以下、プロンプトの⼀部抜粋) ・入力フィールド 以下の観点を個別の観点として分解し、全て網羅してください: * 空入力 * 初期値の表示確認 * 最小長・最小値(正常系) * 最大長・最大値(正常系) * 最小−1(異常系) * 最大+1(異常系) * 不正形式(例:全角・半角の誤使用) (省略) ・準正常系の確認 * 以下のような中間的な異常・非安定条件に対する確認観点を出力してください: * ページ離脱 * 戻る操作 * 連打操作 * エラー表示確認 (省略) 16 @2025 WealthNavi Inc.

17.

観点を⽤意して出⼒数を指定 結果:失敗! 【問題点】 ● ⽣成AIの「⾮決定性」「ハルシネーション」の問題が⾜を引っ張り始める… ○ ⽣成温度を下げても変わらず、⽣成する度にブレが⽣じてしまう ○ 「必ず」「漏れなく」といった指⽰はAIが守らない事が判明 ○ 件数を指定すると指定件数以上の観点が出てこない問題も発⽣ ■ 15件以上の観点が想定される要素であっても15件で⽣成を終了 【解決案】 ● ⽣成温度の指定では制御できなかった「ブレ」にあえて着⽬ ○ 複数回⽣成を実⾏し、その結果を統合するAIを作成することで 漏れのない観点を実現できないか?というアプローチを検証する 17 @2025 WealthNavi Inc.

18.

2. 実現の為のアプローチ その3. 複数回⽣成と統合AIの運⽤ 18 @2025 WealthNavi Inc.

19.

複数回⽣成と統合AIの運⽤ プロセスとして、まず既存のテスト詳細設計AIで同じインプットに対し5回⽣成を実⾏する。 その後、5回分の結果を統合⽤のAIに⼊⼒、1つの詳細設計としてアウトプットさせる。 統合AI 5回分の結果を要素単位で⽐較する 仕様をAIが読み取れる フォーマットに合わせる 👤 true 完全一致 ? false 同一観点かつ 表記揺れ? インプット 5回分の 生成結果 true false 類似観点 かつ 仕様と ”=” ? テスト詳細設計AI true 観点統合 false 新規観点 19 完成 🎉 テスト 観点 @2025 WealthNavi Inc.

20.

複数回⽣成と統合AIの運⽤ 結果:失敗!! 【問題点】 ● 件数を指定して無理やり出⼒した観点×5が統合されることで不要な観点が爆増 ○ ⼿作業で観点の精査を⾏い解消出来たが、逆に⼯数が増加する結果に… ● 肝⼼の品質も100点満点とは⾏かず ○ 特に複数条件が絡む要素に対して出⼒される観点が弱い 【解決案】 ● 観点を⽣成するロジックを再検証 ○ 観点を⽣成する前に⾃⼰アンサンブルで多⾓的な視点で確認する⽅式へ ● ⾮機能要件は除外し、定義した観点のみを出⼒するよう修正 20 @2025 WealthNavi Inc.

21.

2. 実現の為のアプローチ その4. ⾃⼰アンサンブルを⽤いた検証 21 @2025 WealthNavi Inc.

22.

⾃⼰アンサンブル※を⽤いた検証 同⼀のAI内に複数の視点を⽴て、内部で検証を⾏いながら⽣成を⾏う考え⽅。 ※アンサンブル学習から引⽤した造語 テスト詳細設計AI 視点1 テスト観点 視点2 テスト観点 最終的な観点 視点3 テスト観点 仕様 視点4 ×5 テスト観点 統合AI 22 @2025 WealthNavi Inc.

23.

⾃⼰アンサンブルを⽤いた検証 結果:失敗!!! 【問題点】 ● やっぱり観点の抜け、漏れ、存在しない項⽬の確認が⽣成される事がある。 ○ 初期と⽐べて精度⾃体はかなり向上しているものの… ■ ⽣成する度に観点のブレも⽣じる 【解決案】 ● ⼿詰まり ○ ちょっと前提から考え直してみることに 23 @2025 WealthNavi Inc.

24.

1. テスト詳細設計を AIにやらせて楽をしたかった話 2. 実現の為のアプローチ 3. 学んだ事とNextアクション 4. さいごに 24 @2025 WealthNavi Inc.

25.

3. 学んだ事とNextアクション 課題解決に向けた対策 25 @2025 WealthNavi Inc.

26.

学んだ事とNextアクション プロンプトを改善しても解決しない事から、インプットデータ(仕様)に問題があると仮定。 AIが正しく認識し、判断できるフォーマットに再構築してみることに。 テスト詳細設計AI 視点1 テスト観点 視点2 テスト観点 最終的な観点 視点3 テスト観点 仕様 視点4 ×5 テスト観点 統合AI 26 @2025 WealthNavi Inc.

27.

学んだ事とNextアクション AIが存在しない仕様をテストケース化したり観点が漏れているのは何故だろう? ▶仮定:AIが不⾜している仕様を良かれと思って補完しているのではないか 柔軟性を持たせたことでハルシネーションが発⽣している気がする。 インプットした仕様 (例) AIの解釈 ● メールアドレス⼊⼒欄 ○ 正しい形式のみ受付 ‧それ以外はERR⽂⾔表⽰ ○ 必須項⽬ ● メールアドレス⼊⼒欄 ○ RFC準拠のハズ ‧サブドメインは不可にしよう ○ 未⼊⼒の場合の確認は未定義だし 確認項⽬は不要。 ● 初期値 ● 初期値 ○ 空欄を表⽰ ○ プレースホルダーで「空欄」表⽰ ○ リロードやブラウザバックは未定義 だから確認項⽬は不要。 AIに補完させない粒度のインプットを⽤意すればいい 27 @2025 WealthNavi Inc.

28.

学んだ事とNextアクション ブラックボックスの粒度で、テスト詳細設計に必要なデータ、属性などを 画⾯、要素単位で埋めていくフォーマットを作成。 ▼実際のフォーマットと、⽣成AIで作成したダミーのECサイトデータ(⼀部抜粋) 28 @2025 WealthNavi Inc.

29.

学んだ事とNextアクション さらに⼊⼒フォーマットに合わせたプロンプトの改善も実施 ● テスト観点の細分化 ○ 要素、属性×テスト観点のマトリクスをプロンプト化 ○ 各テスト観点で必要な項⽬を列挙 ● 詳細設計で⽤いる⽂⾔をリスト化 ○ ⽣成に利⽤する⽂⾔を固定する事で成果物のブレを抑制 ● ⾃⼰アンサンブルの観点強化 ○ 詳細設計の実施前に仕様のレビューと⽣成する観点の宣⾔を追加 ■ 仕様の疑義がある場合は指摘を⾏い仕様の修正をテスターに促す 統合AIの廃⽌ ● 観点のブレを抑制が出来たので5回⽣成、統合AIのプロセスは廃⽌ ● 代わりに仕様と成果物を⽐較してレビューするレビューAIを新規作成 29 @2025 WealthNavi Inc.

30.

学んだ事とNextアクション 最終的な詳細設計プロセスはこんな感じに テスト詳細設計AI 仕様 視点1 テスト観点 視点2 テスト観点 最終的な観点 新フォーマット 視点3 テスト観点 視点4 テスト観点 レビューAI 30 完成 @2025 WealthNavi Inc.

31.

3. 学んだ事とNextアクション 実際の動作デモ 31 @2025 WealthNavi Inc.

32.

学んだ事とNextアクション - 動作デモ - 今回はcsvの中⾝をAIに⼊⼒すると、 テスト詳細設計が⾏われる所までを動画で紹介。 ▼この部分 仕様 新フォーマット csvで出⼒ ⼊⼒ 32 詳細設計AI レビューAI @2025 WealthNavi Inc.

33.

学んだ事とNextアクション - 動作デモ 動画 - 33 @2025 WealthNavi Inc.

34.

3. 学んだ事とNextアクション 結果の測定と結論 34 @2025 WealthNavi Inc.

35.

学んだ事とNextアクション - 結果の測定と結論 - 仕様カバレッジ :インプットした仕様がテスト観点として出⼒された割合 観点カバレッジ :仕様に対して必要な観点が出⼒された割合 フォーマット健全率 :フォーマットが指定した通りに出⼒された割合 項⽬重複数 :出⼒された観点が重複している割合 35 @2025 WealthNavi Inc.

36.

学んだ事とNextアクション - 結果の測定と結論 - 結果:成功! 【結論】 ● 新フォーマットと自己アンサンブルの組み合わせで仕様カバレッジ100%を達成 ● 観点カバレッジも高水準、レビューAIと組み合わせる事で実用可能なラインに到達 機械的な観点はAIで担保が可能になったことで 人はUX観点や非機能要件の設計工数を確保する事が可能に 🎉 単純な工数削減だけではなく AIを用いる事で、もう一歩先の品質を実現 36 @2025 WealthNavi Inc.

37.

3. 学んだ事とNextアクション 課題と今後のビジョン 37 @2025 WealthNavi Inc.

38.

学んだ事とNextアクション - 課題と今後のビジョン 現状、以下のような課題が残っている 課題 ● 仕様→フォーマットへの変換が現状⼿作業で、ある程度⼯数がかかる ○ 予めフォーマットに合わせた仕様が存在する状態がベスト ○ 仕様の抜け漏れ = 観点漏れ となってしまうのでレビュー⼯数も必要 ○ 仕様→フォーマットへの変換もAIで実現できないか模索中 🤔 ● 詳細設計AIの観点のテスト観点はまだ改良の余地アリ ○ 実際に運⽤してみて不⾜している観点を改善していきたい ■ プロダクトによって観点の調整は必要 Action ● フォーマットの恒常的な改善 ● テスト観点のアップデート ● より効率的な⽅法の模索 38 @2025 WealthNavi Inc.

39.

1. テスト詳細設計を AIにやらせて楽をしたかった話 2. 実現の為のアプローチ 3. 学んだ事とNextアクション 4. さいごに 39 @2025 WealthNavi Inc.

40.

さいごに 説明できなかった部分をQ&Aで補⾜ Q プロンプトの詳細について 基本的にスライドで公開した以上の内容については社外秘となります。 プロンプトの文量はテスト詳細設計 AIが11,000文字、レビュー AIが6,000文字程になります。 Q レビュー AIについて まだ検証中なので詳しい説明については省略しています。 スコアリングによる品質の見える化、観点のヒートマップ化、観点の指摘、修正方針、 Gap分析、仕様の矛盾の指摘などを行 うレビュー用の AIです。 Q 具体的に工数は削減できる? 具体的な数値は出せていませんが、 10~20%程の工数削減が見込めます。 先述の通り、あくまで品質向上が主であり工数削減は副次的な効果に留まる予定です。 40 @2025 WealthNavi Inc.

41.

さいごに ウェルスナビでは複数の開発系ポジションで採⽤を強化しています。 QAエンジニア テスト⾃動化エンジニア(SET) エンジニアリングマネージャー バックエンド開発エンジニア モバイル開発エンジニア 主な採⽤中職種 ● ● ● ● ● 採⽤情報詳細 下記URL(QRコード)よりご確認ください。 https://recruit.wealthnavi.com/ 採⽤に関する お問い合わせ先 ● ● 「カジュアルに話を聞いてみたい」という温度感でも構いません。 ウェルスナビ採⽤チーム([email protected])までご連 絡お待ちしております。 41 @2025 WealthNavi Inc.

42.

【重要な注意事項】 ● 本資料は、断定的判断を提供するものではなく、情報を提供することのみを⽬的としており、いか なる種類の商品も勧誘するものではありません。最終的な決定は、お客様⾃⾝で判断するものと し、当社はこれに⼀切関与せず、また、⼀切の責任を負いません。 ● 本資料には将来の出来事に関する予想が含まれている場合がありますが、それらは予想であり、ま た、本資料の内容の正確性、信頼性、完全性、適時性等を⼀切保証するものではありません。本資 料に基づいて被ったいかなる損害についても、当社は⼀切の責任を負いません。また、当社は、新 しい情報や将来の出来事その他の情報について、更新⼜は訂正する義務を負いません。 ● 本資料を利⽤することによりお客様に⽣じた直接的損害、間接的損害、派⽣的損害その他いかなる 損害についても、当社は⼀切の責任を負いません。 商号等:ウェルスナビ株式会社 金融商品取引業者 関東財務局長(金商) 第2884号 加入協会:日本証券業協会 一般社団法人日本投資顧問業協会 42 @2025 WealthNavi Inc.

43.

ご清聴ありがとうございました 43 @2025 WealthNavi Inc.