Geminiを活用したソフトウェアテストについて本気出して考えてみた_公開用

1.3K Views

June 14, 25

スライド概要

https://warai.connpass.com/event/353856/

profile-image

大阪のQAエンジニアです。

シェア

またはPlayer版

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

ダウンロード

関連スライド

各ページのテキスト
1.

本日は、テスト現場で話題の生成AI、特にLLMについて、どのように活用できるか、ど んな点に注意すべきかを、具体的な書籍の内容も踏まえながらお話しします。 開発ス ピードが上がる中、テストの重要性は増す一方、コストや時間、品質確保に悩む現場は 多いのではないでしょうか。そこに、生成AIという新しい技術が登場し、開発プロセスに も浸透し始めています。 この発表が、皆さんのテスト業務にAIをどう活かせるか、具体 的なヒントになれば幸いです。ただし、AIは万能ではありません。ツールとどう向き合う か、人間の役割は何か、という視点も重要であることを強調したいと思います。 皆さん も一度は触れたことがあるかもしれません。大量のデータから学習し、人間と自然な対 話ができ、様々な文章やコードを作ることができるのがLLMです。プロンプトと呼ばれ る指示の出し方が鍵になります。 LLMは単に何かを作るだけでなく、情報を整理した り、別の形に変えたり、アイデアを広げたりといった使い方もできます。これらの能力 をテストにどう活かせるか見ていきましょう。 分からないことを聞いたり、アイデアを ぶつけてみたり、まるで相談相手のように使えます。特定の役割になりきってもらうこ とで、多角的な視点を得ることも可能です。 ドキュメント作成は時間がかかりますが、 LLMはその下書きや構成案作りを手伝ってくれます。ゼロから書く手間を大幅に削減で きる可能性があります。 テストコード作成も支援してくれます。特に定型的なコード や、特定の処理を行う小さなコード部品の生成に役立ちます。ただし、生成されたコー ドのレビューは必須です。 テストデータの準備は面倒な作業ですが、LLMは様々な形 式・パターンのデータを生成する手伝いができます。APIと連携すれば、テスト実行中に データを動的に作ることも考えられます。 行き詰まった時や、網羅性を高めたい時に、 アイデア出しのパートナーになります。特に探索的テストのような、決まった手順がな い活動で有効です。 他にも、長い文章をまとめたり、コードの意味を説明させたり、文 章やコードをきれいにしたり、新しいことを学ぶ手助けをしたりと、様々な能力があり ます。 LLMは時々もっともらしい嘘をつきます。これは確率的にそれらしい単語を繋げ ているためです。必ず内容を確認しましょう。また、良い結果を得るには、上手な指示 の出し方(プロンプト)が非常に重要になります

2.

Geminiを活用した ソフトウェアテストについて 本気出して考えてみた WARAI 夏の陣 2025 2025.6.14(土) やまずん Dirty Tester バキバキQA

3.

やまずんとは ⚫ 愛称:Dirty Tester/バキバキQA ⚫ 職業:外資系(?)SaaSのQAエンジニア ⚫ 住居:大阪 ⚫ 所属(コミュニティ) ⚫ testingOsaka 主催者 ⚫ スクラム祭り 実行委員 ⚫ JaSST nanoお世話係軍団 ⚫ バキバキQAチャンネル 3

4.

本発表のゴール ⚫ チャットのインターフェース を持っている生成AIの性質に ついてなんとなく共通認識を 持つ ⚫ これらのソフトウェアテスト への活用について何かしらア イデアがある 4

5.

本発表の注意 ⚫ 大学などの専門機関や権威のある先生から習ったわけではありません ⚫ 生成AIの専門家でもありません ⚫ 世の中一般論ではなく、やまずんの私見の内容が含まれます ⚫ 個人で調べた内容に留まります ⚫ 私が所属する団体や世の中のQA・テスターの見解を代表するものではなく、 限界を表明するものでもありません ⚫ あくまでやまずんの見解や限界です ⚫ 最新のモデルや機能は追いきれていません ⚫ この発表内容も生成AIの出力結果と同様に疑い深く見てください 5

6.

生成AIってなんなの? 6

7.

この発表における生成AI ⚫ 広範なテキストやコードを学習して、人間が生成す るようなテキスト・コード・その他のコンテンツを 提供する能力を持つソフトウェア AIにもいろいろ あるからねえ ⚫ ユーザーからの指示を受け取り、それに基づいて自 然言語で応答する ⚫ 対話形式が多いことが特徴 ⚫ GeminiやChatGPTなど 7

8.

技術的な話を抜きにした生成AIの特徴 ⚫ 自然言語で指示を出し、コンテンツを生成する ⚫ 生成する際に変換したり、強化することもできる 僕も生成してほ しいです ⚫ その反面、思った通りに出力しないこともしばしば 8

9.

よくある生成AI導入の障壁 ⚫ 会社が許可してない ⚫ 高い ⚫ セキュリティ 甘えや ⚫ 実力不足 9

10.

利用者目線での生成AIの主な利用方法 情報収集と 多様なコンテ 情報の要約と 整理の支援 ンツ生成 抽出 壁打ち 情報収集 解説 文章・ドキュ 文書からの要 メント 約 コード データ リスト 翻訳・解説 多言語の翻訳 形式・表現の 変換と整形 表現方法(音 声→文字) ログから重要 自然言語の解 形式(文章→ な部分の抽出 説 箇条書き) コードの解説 敬語表現 自然言語から 抽出 学習の支援 問題作成 ぼくも6種類の 飾り方があるん だ 解説 レビュー 10

11.

情報収集と整理の支援 ⚫ 壁打ち ⚫ 「大阪のソフトウェアテストのイベントを企画しています。どんなイベントにしたらいい でしょうか?」 ⚫ ⚫ コーチングしてもらう メンタルケア ぬいぐるみも整 理しようねえ ⚫ 「中庸思考で教えて!」 ⚫ 情報収集 ⚫ 「探索的テストの使い所について教えて!」 ⚫ Deep ResearchもFlashも味がある ⚫ 解説 ⚫ 「テスト計画書でテストレベルを書く必要があります。テストレベルとはなんなのでしょ うか?」 ⚫ 「小学生にもわかるように教えて」「例え話で教えて」 11

12.

多様なコンテンツ生成 ⚫ コード ⚫ 「これはPlaywright Codegenで生成したコードです。〇〇という操作について、 繰り返し実施できるようにしてください」 ⚫ 「以下の手順書をmermaidのフローチャートで表してください」 ⚫ データ ぼくはAIで書い てもらったわけ じゃないよ ⚫ 「以下のcsvのデータを〇〇にして、jsonにして返してください」 ⚫ 「〇〇の条件で人事データを生成してください」 ⚫ リスト ⚫ 「以下の情報から、必要そうなテスト戦略を箇条書きにしてください。テスト戦 略とは〜」 ⚫ プレゼンテーションのアイデアを出してください 12

13.

情報の要約と抽出 ⚫ 文書からの要約 ⚫ 「ISTQBシラバスの内容から、品質アシスタンスについて教えてくださ い」 ⚫ 「議事録から決定事項を要約してください」 ごまのセリフは 要約避け ⚫ ログから重要な部分の抽出 ⚫ 「このログから考えられる問題と、その対処法を教えてください」 ⚫ 自然言語からの抽出 ⚫ 「以下の本からテストケースについて言及している部分を抜き出してく ださい」 ⚫ 「ユーザーレビューの議事録から不満点を抜き出してください」 13

14.

翻訳・解説 ⚫ 日英翻訳 ⚫ 「英語を翻訳してください。」 ⚫ コードにふりがなをつける ごまの言葉も自 動翻訳されたも のだよ ⚫ 「このコードはどんな意味ですか。」 ⚫ 自然言語の翻訳 ⚫ 「この文書は何を言いたいのでしょうか?実際に起こったこ ととこの文書の作者の感情の両面で教えてください。」 14

15.

形式・表現の変換と整形 ⚫ 文字起こし ⚫ 「音声入力したものを文字起こししてください」 ⚫ 箇条書き ⚫ 「この文章を伝わりやすいように箇条書きにしてください」 ぼくはタメ口し か話せないから ねえ ⚫ 敬語表現 ⚫ 「敬語にしてください」 ⚫ レビュー ⚫ 「初心者にも読みやすいかという観点でレビューしてください」 15

16.

学習の支援 ⚫ 問題を作る ⚫ 「JSTQBシラバスの内容から四択の問題を出してください」 ⚫ 「この英文法について、学習を深める問題を出してくださ い」 おさかなの食べ 方をおしえてく ださい ⚫ 練習相手になってもらう ⚫ 「英会話の練習をさせてください」 ⚫ 「コーチングの練習相手になってください」 16

17.

利用上の懸念 ハルシネーション プロンプト依存 機密情報の取り扱い • 事実に基づかない、不正 • プロンプトエンジニアリ • 機密情報の入力がされて 確な情報を生成する ングの実力に依存する しまう 再現性のなさ 倫理 • 必ずしも同一のものが生 • 著作権、バイアス、利用 成されるとは限らない 規約 ごまの倫理観 17

18.

人間ができそうな対策 ⚫ 人間によるレビューやファクトチェック ⚫ プロンプトの工夫(プロンプトエンジニアリング) ⚫ セキュリティに関するガイドラインの設定と運用 技術が大事なん だね ⚫ 適切なツールやモデルの選択 ⚫ Notebook LMやDeep Researchなど 18

19.

ソフトウェアテストプロセスにおける生成AIの活用 ⚫ インプット ⚫ 情報収集・整理、データの分析、アイデアの生成、要約・抽 出、翻訳・解説 ⚫ プロセス いろいろできそ うだねえ ⚫ 分析モデルの生成、自動化コードの生成 ⚫ 壁打ち ⚫ アウトプット ⚫ ドキュメントの生成 19

20.

テストプロセス支援の具体例 ⚫ インプットの分析 ⚫ テストベースの要約・レビュー ⚫ 理解を促すモデルの生成 ⚫ プロセスの効率化 ⚫ テスト計画のスケルトンの作成 みんなもやって るのかな ⚫ テストケースの作成支援 ⚫ ユーザーシナリオ等の生成 ⚫ テストデータの生成 ⚫ テストスクリプトの生成 ⚫ アウトプットの生成 ⚫ ドキュメントの類(計画書・設計書・報告書など) 20

21.

これからの生成AI 21

22.

これからどうなるか? ⚫ AI Agentの登場で意思決定もAIが担うようになってきて いる ⚫ 「イデオロギーの問題」としてのAIの意思決定と人間の倫理 戦争や 観の対立しそう ⚫ AIに入力するセンサーとしての役割が残るかもしれない ⚫ 五感を使って世界を表現して、プロンプトで表現する職人 22

23.

参考文献 Winteringham, M. (2024). Software Testing with Generative AI. Manning Publications. いつもありがと ね〜 イラスト:タスマニアデビ男 23