SlideShare a Scribd company logo
1 of 17
Download to read offline
© NEC Corporation 2023
テストケースの自動生成に生成AI導入を検討してみた
2023年12月09日
日本電気株式会社
坂下 聡
ソフトウェアテスト自動化カンファレンス2023
 はじめに
 テストケースの自動生成について
 テストケース生成における生成AIの可能性
 今後に向けて
本日の発表
© NEC Corporation 2023
3
自己紹介
坂下 聡(さかした さとし)
日本電気株式会社
ソフトウェア&システムエンジニアリング統括
部
スペシャリスト
テストソリューション、テスト自動化推進担当
 経歴
 1993年入社
 システムコンサルティングやインフラ構築、テ
スト自動化ツールの開発や導入を経て、現在は
テスト全般のソリューション提供とテスト自動
化技術の普及活動を担当
© NEC Corporation 2023
4
はじめに
 近年、テストにおいて、ChatGPTを用いた生成AIをどのように活用できるのか、
多方面で検証された情報が公開されはじめています
 そこで、以前作成した設計書からテスト仕様書を作成し、テストスクリプトを出
力するツールの一部に、生成AIの機能を取りこむことができないかを検討しまし
た
 本日は、現時点での試行錯誤状況をお話しします
© NEC Corporation 2023
5
(参考)テストケースの自動生成について
 6年前に作成したツールの仕組み
 このツールの既存課題
 機能設計書の処理仕様が日本語の文章で記載されている場合、機械的に記載内容を判断してテ
ストケースを生成することができない(言語処理が必要)
機能設計書
(Excelで記載)
テスト仕様書
(キーワードドリブン形式)
テストスクリプト
確認&追記
解析&変換 解析&変換
今回の検証ターゲット
© NEC Corporation 2023
6
テストケース生成における生成AIの可能性
 処理仕様の解読について
 表形式のExcelシートをChatGPT-4に読み込ませて解読
 処理仕様の中で、詳細が記載されている部分が判別しやすいように、記載範囲をセル名で指定
 空白行があると、次の行が無いと判断してそこで解読を終了するため、空白行を削除
 解読における工夫点
 ChatGPT-4の実施時点の解析能力を確認するために、機能設計書そのものを読み込ませてどの
シートにテストケースを生成するための情報が記載されているかを判断させてみる
 機能設計書に記載されていない内容を含めてChatGPT-4はテストケースを生成するため、テス
トケースを生成するために必要な記載がされている部分を指定し、必要が無い記載の部分を除
外するようにあらかじめ指定する
 機能設計書に記載が不足している人間の「暗黙知」を前提条件として記載する
© NEC Corporation 2023
7
検証例
 インプットとなる機能設計書
© NEC Corporation 2023
8
検証例
 ChatGPT-4での解釈
© NEC Corporation 2023
9
検証例
 ChatGPT-4で作成されたテストケース
テストケース テストステップ キーワード 期待結果 変数の値
初期処理 システム起動 システム起動 システムが起動し、初期画面が表示される なし
予約処理 ログイン状態確認 ログイン状態チェック ログインしていない場合、ログイン促進メッ
セージ表示
ログイン状態=未ログイ
ン
予約処理 日付入力チェック 日付入力 3か月以内の日付であれば次へ進む、そう
でなければエラーメッセージ表示
宿泊日=2023/12/01
予約処理 必須項目入力チェック 必須項目チェック 全ての必須項目が入力されていれば次へ
進む、そうでなければエラーメッセージ表示
宿泊人数=2, 宿泊数=3,
連絡先=メール
予約処理 予約内容確認とページ遷移 ページ遷移 「予約内容を確認する」ボタンをクリック後、
宿泊予約画面(SHP0103)へ遷移
なし
このままだと、テストスクリプトに変換するときに再度
処理ステップにあわせたキーワードに分解する必要があ
るので、この時点でテストスクリプトに変換しやすい
キーワードにしておきたい
© NEC Corporation 2023
10
検証例
 ChatGPT-4に指定したキーワードで作成したテストケース
キーワード
文字列入力
画面入力
アイテム選択
クリック
文字列確認
キー押下
マウス移動
待機(対象が現れるまで)
待機(対象がなくなるまで)
待機(時間指定)
文字列取得
テストケース テストステップ キーワード 対象 変数の値 期待結果
初期処理 システム起動時の初期化処理の確認 文字列確認 メニュー ログイン システムが正常に起動し、初期画面が表示される
予約処理 ログイン状態の確認 文字列確認 ログイン状態表示領域 ログイン ログインしていない場合、ログイン促進メッセージまたは
画面が表示される
予約処理 必須項目の入力確認 文字列入力 必須項目フィールド 必須項目の状態 必須項目がすべて入力されている
予約処理 宿泊日入力確認 文字列入力 宿泊日入力フィールド 宿泊日=2023/12/01 宿泊日が正しく入力される
予約処理 「このプランで予約」ボタンのクリック クリック このプランで予約 ボタンクリック後、次のステップへ進む
予約処理 タイトル確認 文字列確認 タイトル 宿泊予約 タイトルが「宿泊予約」であることを確認
予約処理 「予約内容を確認する」ボタンのクリックと
ページ遷移の確認
クリック 「予約内容を確認する」ボタン なし ボタンをクリックすると宿泊予約画面(SHP0103)へ正常
に遷移する
© NEC Corporation 2023
11
(参考)Bing ChatでExcelシートの記入例を聞いてみる
Bing Chatの指示通りに記載したExcelファイルを
ChatGPT-4に読み込ませると、「Excelのファイル
形式に問題があるため、解析できなくなりまし
た。」と言われてしまいました。。。
© NEC Corporation 2023
12
この時点での課題
 一つの処理仕様に対し、テストスクリプトに変換可能な表現にする場合は、複数
のステップに分解して処理仕様に記載された状態を変換する必要がある
 分解するルールが一定の法則を持つようであればよいが、表現によっては人が理
解したうえで言い換える必要がある
 ChatGPT-4でテストケースを作成した際の課題
 ログイン有無の条件分岐が解釈できないので、書き方を考える必要あり
 入力チェックのチェック項目は、全部バラバラに記載する必要あり
© NEC Corporation 2023
13
再検証
 どんなExcelファイルが読み込めないのかを確認
考えられるのはこの2点
2.データの整理
4.データの構造
この2点を下記のように対応することにした
2.データの整理
別シートを参照しているセルが複数あったので、
参照後に表示される値に修正する
4.データの構造
プロンプトの指示で空白行と空白列を対象外と
するように追記する
© NEC Corporation 2023
14
再検証
 読めそうなシートから「このシートは読み込めますか?」と順に聞いてみる
© NEC Corporation 2023
15
再検証
処理仕様の条件による記載も空白行と空白列を対象外に
する指示をするだけで反映されるようになった!
テストケースID テスト項目 キーワード 変数 実施するテスト 期待される結果
TC-01 ログイン有無チェック 文字列確認 ログイン状態: ログオフ ログイン状態で画面を表示 氏名の項目に会員名が表示される
TC-02 ログイン有無チェック 文字列確認 非ログイン状態: ログイン 非ログイン状態で画面を表示 氏名の項目に何も表示されない
TC-03 日付チェック 文字列確認 明日の日付: YYYY/MM/DD 画面を開いた際に宿泊日を確認 宿泊日の項目に翌日の年月日が表示されている
TC-04 入力チェック 文字列入力 宿泊日 宿泊日に3か月以内の日付を入力 正しい日付が受け入れられる
TC-04 入力チェック 文字列確認 宿泊日 宿泊日に3か月以内の日付を入力 正しい日付が受け入れられる
TC-05 入力チェック 文字列入力 宿泊日 宿泊日に3か月を超える日付を入力 エラーメッセージが表示される
TC-05 入力チェック 文字列確認 宿泊日 宿泊日に3か月を超える日付を入力 エラーメッセージが表示される
TC-06 入力チェック 文字列入力 各項目 各項目に適切な文字を入力 入力した文字が受け入れられる
TC-06 入力チェック 文字列確認 各項目 各項目に適切な文字を入力 入力した文字が受け入れられる
TC-07 入力チェック 文字列入力 必須項目 必須項目を空白で入力 エラーメッセージが表示される
TC-07 入力チェック 文字列確認 必須項目 必須項目を空白で入力 エラーメッセージが表示される
TC-08 ボタンクリック処理 クリック 予約内容を確認するボタン 「予約内容を確認する」をクリック 宿泊予約画面(SHP0103)へ遷移する
© NEC Corporation 2023
16
AI-Readyなデータを準備することが活用促進のカギ
今後に向けて
 仕様書をAI-Readyなデータとして準備
 シート間の連携情報は事前に学習
 自己学習機能の追加は必要
 方眼紙のような仕様書もチャレンジ
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023

More Related Content

What's hot

経営のアジリティを支えるDevOpsと組織
経営のアジリティを支えるDevOpsと組織経営のアジリティを支えるDevOpsと組織
経営のアジリティを支えるDevOpsと組織Recruit Technologies
 
マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話Makoto Haruyama
 
テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏Naoki Nakano
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクスRakuten Group, Inc.
 
日本におけるアジャイル開発の認知度の変遷を情報処理技術者試験の問題から考察してみた_公開用
日本におけるアジャイル開発の認知度の変遷を情報処理技術者試験の問題から考察してみた_公開用日本におけるアジャイル開発の認知度の変遷を情報処理技術者試験の問題から考察してみた_公開用
日本におけるアジャイル開発の認知度の変遷を情報処理技術者試験の問題から考察してみた_公開用ESM SEC
 
LINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 PresentationLINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 PresentationYasuharu Nishi
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!Kenji Okumura
 
テスト分析.pptx
テスト分析.pptxテスト分析.pptx
テスト分析.pptxkauji0522
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~SEGADevTech
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方Shohei Koyama
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)NTT DATA Technology & Innovation
 
modern software qa - draft 1
modern software qa - draft 1modern software qa - draft 1
modern software qa - draft 1Yasuharu Nishi
 
テスト分析についての説明資料公開用
テスト分析についての説明資料公開用テスト分析についての説明資料公開用
テスト分析についての説明資料公開用Tsuyoshi Yumoto
 
ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢swamp Sawa
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメYoji Kanno
 
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証Yasuharu Nishi
 
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話Koichiro Takashima
 
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜Tetsuya Kouno
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 

What's hot (20)

経営のアジリティを支えるDevOpsと組織
経営のアジリティを支えるDevOpsと組織経営のアジリティを支えるDevOpsと組織
経営のアジリティを支えるDevOpsと組織
 
マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話
 
テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏
 
アジャイル開発とメトリクス
アジャイル開発とメトリクスアジャイル開発とメトリクス
アジャイル開発とメトリクス
 
日本におけるアジャイル開発の認知度の変遷を情報処理技術者試験の問題から考察してみた_公開用
日本におけるアジャイル開発の認知度の変遷を情報処理技術者試験の問題から考察してみた_公開用日本におけるアジャイル開発の認知度の変遷を情報処理技術者試験の問題から考察してみた_公開用
日本におけるアジャイル開発の認知度の変遷を情報処理技術者試験の問題から考察してみた_公開用
 
LINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 PresentationLINE Developer Meetup in Tokyo #39 Presentation
LINE Developer Meetup in Tokyo #39 Presentation
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!
 
テスト分析.pptx
テスト分析.pptxテスト分析.pptx
テスト分析.pptx
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
 
modern software qa - draft 1
modern software qa - draft 1modern software qa - draft 1
modern software qa - draft 1
 
テスト分析についての説明資料公開用
テスト分析についての説明資料公開用テスト分析についての説明資料公開用
テスト分析についての説明資料公開用
 
ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢
 
今さら聞けない人のためのCI/CD超入門
今さら聞けない人のためのCI/CD超入門今さら聞けない人のためのCI/CD超入門
今さら聞けない人のためのCI/CD超入門
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
 
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
 
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
 
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 

Similar to STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023

STAC2022 ローコード開発におけるテストピラミッド考察
STAC2022 ローコード開発におけるテストピラミッド考察STAC2022 ローコード開発におけるテストピラミッド考察
STAC2022 ローコード開発におけるテストピラミッド考察Satoshi Sakashita
 
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析貴志 上坂
 
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析貴志 上坂
 
de:code2018 登壇資料
de:code2018 登壇資料de:code2018 登壇資料
de:code2018 登壇資料Hiroshi Senga
 
メタバースの始め方、たとえば製造業でのデジタルツインとは?
メタバースの始め方、たとえば製造業でのデジタルツインとは?メタバースの始め方、たとえば製造業でのデジタルツインとは?
メタバースの始め方、たとえば製造業でのデジタルツインとは?IoTビジネス共創ラボ
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)NTT DATA Technology & Innovation
 
Microsoft Intelligent Data Platform -データ活用のための最新技術-
Microsoft Intelligent Data Platform -データ活用のための最新技術-Microsoft Intelligent Data Platform -データ活用のための最新技術-
Microsoft Intelligent Data Platform -データ活用のための最新技術-Daiyu Hatakeyama
 
Stac2021 [初学者向け]ローコード開発におけるテストの考え方
Stac2021 [初学者向け]ローコード開発におけるテストの考え方Stac2021 [初学者向け]ローコード開発におけるテストの考え方
Stac2021 [初学者向け]ローコード開発におけるテストの考え方Satoshi Sakashita
 
EdgeWorkers の導入について - Akamai TechWeek 2021 Japan Customer Session
EdgeWorkers の導入について - Akamai TechWeek 2021 Japan Customer SessionEdgeWorkers の導入について - Akamai TechWeek 2021 Japan Customer Session
EdgeWorkers の導入について - Akamai TechWeek 2021 Japan Customer Session慎太郎 木村
 
[OCPJ PoCWG Engineering Workshop] Zabbixを用いたOCPベアメタル監視環境の自動構築
[OCPJ PoCWG Engineering Workshop] Zabbixを用いたOCPベアメタル監視環境の自動構築[OCPJ PoCWG Engineering Workshop] Zabbixを用いたOCPベアメタル監視環境の自動構築
[OCPJ PoCWG Engineering Workshop] Zabbixを用いたOCPベアメタル監視環境の自動構築cloudconductor
 
第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介
第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介
第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介Tsuyoshi Hirayama
 
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬日本マイクロソフト株式会社
 
[AC04] 『シン・ブロックチェーン』第 2 形態 ~進化する BaaS を体感せよ!
[AC04] 『シン・ブロックチェーン』第 2 形態 ~進化する BaaS を体感せよ![AC04] 『シン・ブロックチェーン』第 2 形態 ~進化する BaaS を体感せよ!
[AC04] 『シン・ブロックチェーン』第 2 形態 ~進化する BaaS を体感せよ!de:code 2017
 
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Yasuharu Nishi
 
事業共創ワークセッションのご案内
事業共創ワークセッションのご案内事業共創ワークセッションのご案内
事業共創ワークセッションのご案内Yuichiro KATO
 
テストマネジメントツールSquash TMを利用した継続的テスト改善
テストマネジメントツールSquash TMを利用した継続的テスト改善テストマネジメントツールSquash TMを利用した継続的テスト改善
テストマネジメントツールSquash TMを利用した継続的テスト改善Mizuho Wakai
 
[PrimeCloud Controller / OSS MeetUp] CloudConductorのご紹介
[PrimeCloud Controller / OSS MeetUp] CloudConductorのご紹介[PrimeCloud Controller / OSS MeetUp] CloudConductorのご紹介
[PrimeCloud Controller / OSS MeetUp] CloudConductorのご紹介cloudconductor
 
Invitation to development tools オープン系開発ツールへのいざない
Invitation to development tools オープン系開発ツールへのいざないInvitation to development tools オープン系開発ツールへのいざない
Invitation to development tools オープン系開発ツールへのいざないSatoru Yoshida
 
ドミノピザおよびJet.comの事例 から学ぶストレスフリーな 顧客体験の作り方
ドミノピザおよびJet.comの事例から学ぶストレスフリーな顧客体験の作り方ドミノピザおよびJet.comの事例から学ぶストレスフリーな顧客体験の作り方
ドミノピザおよびJet.comの事例 から学ぶストレスフリーな 顧客体験の作り方Microsoft Azure Japan
 

Similar to STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023 (20)

STAC2022 ローコード開発におけるテストピラミッド考察
STAC2022 ローコード開発におけるテストピラミッド考察STAC2022 ローコード開発におけるテストピラミッド考察
STAC2022 ローコード開発におけるテストピラミッド考察
 
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
 
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
 
de:code2018 登壇資料
de:code2018 登壇資料de:code2018 登壇資料
de:code2018 登壇資料
 
メタバースの始め方、たとえば製造業でのデジタルツインとは?
メタバースの始め方、たとえば製造業でのデジタルツインとは?メタバースの始め方、たとえば製造業でのデジタルツインとは?
メタバースの始め方、たとえば製造業でのデジタルツインとは?
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
 
Microsoft Intelligent Data Platform -データ活用のための最新技術-
Microsoft Intelligent Data Platform -データ活用のための最新技術-Microsoft Intelligent Data Platform -データ活用のための最新技術-
Microsoft Intelligent Data Platform -データ活用のための最新技術-
 
Stac2021 [初学者向け]ローコード開発におけるテストの考え方
Stac2021 [初学者向け]ローコード開発におけるテストの考え方Stac2021 [初学者向け]ローコード開発におけるテストの考え方
Stac2021 [初学者向け]ローコード開発におけるテストの考え方
 
EdgeWorkers の導入について - Akamai TechWeek 2021 Japan Customer Session
EdgeWorkers の導入について - Akamai TechWeek 2021 Japan Customer SessionEdgeWorkers の導入について - Akamai TechWeek 2021 Japan Customer Session
EdgeWorkers の導入について - Akamai TechWeek 2021 Japan Customer Session
 
[OCPJ PoCWG Engineering Workshop] Zabbixを用いたOCPベアメタル監視環境の自動構築
[OCPJ PoCWG Engineering Workshop] Zabbixを用いたOCPベアメタル監視環境の自動構築[OCPJ PoCWG Engineering Workshop] Zabbixを用いたOCPベアメタル監視環境の自動構築
[OCPJ PoCWG Engineering Workshop] Zabbixを用いたOCPベアメタル監視環境の自動構築
 
第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介
第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介
第79回 Machine Learning 15minutes ! 生成AIをエンタープライズで活用するWatsonx.aiの紹介
 
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
【de:code 2020】 Azure Expert MSP の FIXER が処方、DX に効く 「クラウド運用」「AI」「人材育成」 の即効薬
 
[AC04] 『シン・ブロックチェーン』第 2 形態 ~進化する BaaS を体感せよ!
[AC04] 『シン・ブロックチェーン』第 2 形態 ~進化する BaaS を体感せよ![AC04] 『シン・ブロックチェーン』第 2 形態 ~進化する BaaS を体感せよ!
[AC04] 『シン・ブロックチェーン』第 2 形態 ~進化する BaaS を体感せよ!
 
ファーストアカウンティング会社説明資料 for engineer 2022年7月版
ファーストアカウンティング会社説明資料 for engineer 2022年7月版ファーストアカウンティング会社説明資料 for engineer 2022年7月版
ファーストアカウンティング会社説明資料 for engineer 2022年7月版
 
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
 
事業共創ワークセッションのご案内
事業共創ワークセッションのご案内事業共創ワークセッションのご案内
事業共創ワークセッションのご案内
 
テストマネジメントツールSquash TMを利用した継続的テスト改善
テストマネジメントツールSquash TMを利用した継続的テスト改善テストマネジメントツールSquash TMを利用した継続的テスト改善
テストマネジメントツールSquash TMを利用した継続的テスト改善
 
[PrimeCloud Controller / OSS MeetUp] CloudConductorのご紹介
[PrimeCloud Controller / OSS MeetUp] CloudConductorのご紹介[PrimeCloud Controller / OSS MeetUp] CloudConductorのご紹介
[PrimeCloud Controller / OSS MeetUp] CloudConductorのご紹介
 
Invitation to development tools オープン系開発ツールへのいざない
Invitation to development tools オープン系開発ツールへのいざないInvitation to development tools オープン系開発ツールへのいざない
Invitation to development tools オープン系開発ツールへのいざない
 
ドミノピザおよびJet.comの事例 から学ぶストレスフリーな 顧客体験の作り方
ドミノピザおよびJet.comの事例から学ぶストレスフリーな顧客体験の作り方ドミノピザおよびJet.comの事例から学ぶストレスフリーな顧客体験の作り方
ドミノピザおよびJet.comの事例 から学ぶストレスフリーな 顧客体験の作り方
 

STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023

  • 1. © NEC Corporation 2023 テストケースの自動生成に生成AI導入を検討してみた 2023年12月09日 日本電気株式会社 坂下 聡 ソフトウェアテスト自動化カンファレンス2023
  • 2.  はじめに  テストケースの自動生成について  テストケース生成における生成AIの可能性  今後に向けて 本日の発表
  • 3. © NEC Corporation 2023 3 自己紹介 坂下 聡(さかした さとし) 日本電気株式会社 ソフトウェア&システムエンジニアリング統括 部 スペシャリスト テストソリューション、テスト自動化推進担当  経歴  1993年入社  システムコンサルティングやインフラ構築、テ スト自動化ツールの開発や導入を経て、現在は テスト全般のソリューション提供とテスト自動 化技術の普及活動を担当
  • 4. © NEC Corporation 2023 4 はじめに  近年、テストにおいて、ChatGPTを用いた生成AIをどのように活用できるのか、 多方面で検証された情報が公開されはじめています  そこで、以前作成した設計書からテスト仕様書を作成し、テストスクリプトを出 力するツールの一部に、生成AIの機能を取りこむことができないかを検討しまし た  本日は、現時点での試行錯誤状況をお話しします
  • 5. © NEC Corporation 2023 5 (参考)テストケースの自動生成について  6年前に作成したツールの仕組み  このツールの既存課題  機能設計書の処理仕様が日本語の文章で記載されている場合、機械的に記載内容を判断してテ ストケースを生成することができない(言語処理が必要) 機能設計書 (Excelで記載) テスト仕様書 (キーワードドリブン形式) テストスクリプト 確認&追記 解析&変換 解析&変換 今回の検証ターゲット
  • 6. © NEC Corporation 2023 6 テストケース生成における生成AIの可能性  処理仕様の解読について  表形式のExcelシートをChatGPT-4に読み込ませて解読  処理仕様の中で、詳細が記載されている部分が判別しやすいように、記載範囲をセル名で指定  空白行があると、次の行が無いと判断してそこで解読を終了するため、空白行を削除  解読における工夫点  ChatGPT-4の実施時点の解析能力を確認するために、機能設計書そのものを読み込ませてどの シートにテストケースを生成するための情報が記載されているかを判断させてみる  機能設計書に記載されていない内容を含めてChatGPT-4はテストケースを生成するため、テス トケースを生成するために必要な記載がされている部分を指定し、必要が無い記載の部分を除 外するようにあらかじめ指定する  機能設計書に記載が不足している人間の「暗黙知」を前提条件として記載する
  • 7. © NEC Corporation 2023 7 検証例  インプットとなる機能設計書
  • 8. © NEC Corporation 2023 8 検証例  ChatGPT-4での解釈
  • 9. © NEC Corporation 2023 9 検証例  ChatGPT-4で作成されたテストケース テストケース テストステップ キーワード 期待結果 変数の値 初期処理 システム起動 システム起動 システムが起動し、初期画面が表示される なし 予約処理 ログイン状態確認 ログイン状態チェック ログインしていない場合、ログイン促進メッ セージ表示 ログイン状態=未ログイ ン 予約処理 日付入力チェック 日付入力 3か月以内の日付であれば次へ進む、そう でなければエラーメッセージ表示 宿泊日=2023/12/01 予約処理 必須項目入力チェック 必須項目チェック 全ての必須項目が入力されていれば次へ 進む、そうでなければエラーメッセージ表示 宿泊人数=2, 宿泊数=3, 連絡先=メール 予約処理 予約内容確認とページ遷移 ページ遷移 「予約内容を確認する」ボタンをクリック後、 宿泊予約画面(SHP0103)へ遷移 なし このままだと、テストスクリプトに変換するときに再度 処理ステップにあわせたキーワードに分解する必要があ るので、この時点でテストスクリプトに変換しやすい キーワードにしておきたい
  • 10. © NEC Corporation 2023 10 検証例  ChatGPT-4に指定したキーワードで作成したテストケース キーワード 文字列入力 画面入力 アイテム選択 クリック 文字列確認 キー押下 マウス移動 待機(対象が現れるまで) 待機(対象がなくなるまで) 待機(時間指定) 文字列取得 テストケース テストステップ キーワード 対象 変数の値 期待結果 初期処理 システム起動時の初期化処理の確認 文字列確認 メニュー ログイン システムが正常に起動し、初期画面が表示される 予約処理 ログイン状態の確認 文字列確認 ログイン状態表示領域 ログイン ログインしていない場合、ログイン促進メッセージまたは 画面が表示される 予約処理 必須項目の入力確認 文字列入力 必須項目フィールド 必須項目の状態 必須項目がすべて入力されている 予約処理 宿泊日入力確認 文字列入力 宿泊日入力フィールド 宿泊日=2023/12/01 宿泊日が正しく入力される 予約処理 「このプランで予約」ボタンのクリック クリック このプランで予約 ボタンクリック後、次のステップへ進む 予約処理 タイトル確認 文字列確認 タイトル 宿泊予約 タイトルが「宿泊予約」であることを確認 予約処理 「予約内容を確認する」ボタンのクリックと ページ遷移の確認 クリック 「予約内容を確認する」ボタン なし ボタンをクリックすると宿泊予約画面(SHP0103)へ正常 に遷移する
  • 11. © NEC Corporation 2023 11 (参考)Bing ChatでExcelシートの記入例を聞いてみる Bing Chatの指示通りに記載したExcelファイルを ChatGPT-4に読み込ませると、「Excelのファイル 形式に問題があるため、解析できなくなりまし た。」と言われてしまいました。。。
  • 12. © NEC Corporation 2023 12 この時点での課題  一つの処理仕様に対し、テストスクリプトに変換可能な表現にする場合は、複数 のステップに分解して処理仕様に記載された状態を変換する必要がある  分解するルールが一定の法則を持つようであればよいが、表現によっては人が理 解したうえで言い換える必要がある  ChatGPT-4でテストケースを作成した際の課題  ログイン有無の条件分岐が解釈できないので、書き方を考える必要あり  入力チェックのチェック項目は、全部バラバラに記載する必要あり
  • 13. © NEC Corporation 2023 13 再検証  どんなExcelファイルが読み込めないのかを確認 考えられるのはこの2点 2.データの整理 4.データの構造 この2点を下記のように対応することにした 2.データの整理 別シートを参照しているセルが複数あったので、 参照後に表示される値に修正する 4.データの構造 プロンプトの指示で空白行と空白列を対象外と するように追記する
  • 14. © NEC Corporation 2023 14 再検証  読めそうなシートから「このシートは読み込めますか?」と順に聞いてみる
  • 15. © NEC Corporation 2023 15 再検証 処理仕様の条件による記載も空白行と空白列を対象外に する指示をするだけで反映されるようになった! テストケースID テスト項目 キーワード 変数 実施するテスト 期待される結果 TC-01 ログイン有無チェック 文字列確認 ログイン状態: ログオフ ログイン状態で画面を表示 氏名の項目に会員名が表示される TC-02 ログイン有無チェック 文字列確認 非ログイン状態: ログイン 非ログイン状態で画面を表示 氏名の項目に何も表示されない TC-03 日付チェック 文字列確認 明日の日付: YYYY/MM/DD 画面を開いた際に宿泊日を確認 宿泊日の項目に翌日の年月日が表示されている TC-04 入力チェック 文字列入力 宿泊日 宿泊日に3か月以内の日付を入力 正しい日付が受け入れられる TC-04 入力チェック 文字列確認 宿泊日 宿泊日に3か月以内の日付を入力 正しい日付が受け入れられる TC-05 入力チェック 文字列入力 宿泊日 宿泊日に3か月を超える日付を入力 エラーメッセージが表示される TC-05 入力チェック 文字列確認 宿泊日 宿泊日に3か月を超える日付を入力 エラーメッセージが表示される TC-06 入力チェック 文字列入力 各項目 各項目に適切な文字を入力 入力した文字が受け入れられる TC-06 入力チェック 文字列確認 各項目 各項目に適切な文字を入力 入力した文字が受け入れられる TC-07 入力チェック 文字列入力 必須項目 必須項目を空白で入力 エラーメッセージが表示される TC-07 入力チェック 文字列確認 必須項目 必須項目を空白で入力 エラーメッセージが表示される TC-08 ボタンクリック処理 クリック 予約内容を確認するボタン 「予約内容を確認する」をクリック 宿泊予約画面(SHP0103)へ遷移する
  • 16. © NEC Corporation 2023 16 AI-Readyなデータを準備することが活用促進のカギ 今後に向けて  仕様書をAI-Readyなデータとして準備  シート間の連携情報は事前に学習  自己学習機能の追加は必要  方眼紙のような仕様書もチャレンジ