SlideShare a Scribd company logo
© 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

チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
Tokoroten Nakayama
 
プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)
プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)
プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)
NTT DATA Technology & Innovation
 
コミュニティと人の縁
コミュニティと人の縁コミュニティと人の縁
コミュニティと人の縁
Takuya Okamoto
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
 
AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介
ssuser39314d
 
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
 
Hyperledger Besuの動向
Hyperledger Besuの動向Hyperledger Besuの動向
Hyperledger Besuの動向
Hyperleger Tokyo Meetup
 
Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習
西岡 賢一郎
 
MLOps入門
MLOps入門MLOps入門
MLOps入門
Hiro Mura
 
機械学習工学の進展と課題 2021
機械学習工学の進展と課題 2021機械学習工学の進展と課題 2021
機械学習工学の進展と課題 2021
Fuyuki Ishikawa
 
Goで実装した UPSIDERの決済金額リミット機能
Goで実装した UPSIDERの決済金額リミット機能 Goで実装した UPSIDERの決済金額リミット機能
Goで実装した UPSIDERの決済金額リミット機能
Miki Masumoto
 
ITコミュニティと情報発信に共通する成長と貢献の要素
ITコミュニティと情報発信に共通する成長と貢献の要素ITコミュニティと情報発信に共通する成長と貢献の要素
ITコミュニティと情報発信に共通する成長と貢献の要素
NISHIHARA Shota
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
Hitachi, Ltd. OSS Solution Center.
 
自動テストにおけるコードベース戦略とローコード戦略のすみ分け
自動テストにおけるコードベース戦略とローコード戦略のすみ分け自動テストにおけるコードベース戦略とローコード戦略のすみ分け
自動テストにおけるコードベース戦略とローコード戦略のすみ分け
tomohiro odan
 
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
Shotaro Suzuki
 
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
NTT DATA Technology & Innovation
 
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Masashi Umezawa
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
 
BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話
itkr
 
開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて
開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて
開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて
SEGADevTech
 

What's hot (20)

チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
 
プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)
プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)
プロセスマイニングとソースコード解析を用いたマイクロサービス分割(ソフトウェアエンジニアリングシンポジウム2021 発表資料)
 
コミュニティと人の縁
コミュニティと人の縁コミュニティと人の縁
コミュニティと人の縁
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介AI-first Code Editor 「Cursor」の機能紹介
AI-first Code Editor 「Cursor」の機能紹介
 
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
 
Hyperledger Besuの動向
Hyperledger Besuの動向Hyperledger Besuの動向
Hyperledger Besuの動向
 
Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習
 
MLOps入門
MLOps入門MLOps入門
MLOps入門
 
機械学習工学の進展と課題 2021
機械学習工学の進展と課題 2021機械学習工学の進展と課題 2021
機械学習工学の進展と課題 2021
 
Goで実装した UPSIDERの決済金額リミット機能
Goで実装した UPSIDERの決済金額リミット機能 Goで実装した UPSIDERの決済金額リミット機能
Goで実装した UPSIDERの決済金額リミット機能
 
ITコミュニティと情報発信に共通する成長と貢献の要素
ITコミュニティと情報発信に共通する成長と貢献の要素ITコミュニティと情報発信に共通する成長と貢献の要素
ITコミュニティと情報発信に共通する成長と貢献の要素
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
自動テストにおけるコードベース戦略とローコード戦略のすみ分け
自動テストにおけるコードベース戦略とローコード戦略のすみ分け自動テストにおけるコードベース戦略とローコード戦略のすみ分け
自動テストにおけるコードベース戦略とローコード戦略のすみ分け
 
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
 
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
 
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話
 
開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて
開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて
開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて
 

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
 
ファーストアカウンティング会社説明資料 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 ~明日にでも訪れてしまう組込みシステムのテストの姿~
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なデータとして準備  シート間の連携情報は事前に学習  自己学習機能の追加は必要  方眼紙のような仕様書もチャレンジ