(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-07-22
(45)【発行日】2024-07-30
(54)【発明の名称】プログラム、方法、情報処理装置、システム
(51)【国際特許分類】
G06F 11/36 20060101AFI20240723BHJP
【FI】
G06F11/36 184
(21)【出願番号】P 2024026968
(22)【出願日】2024-02-26
【審査請求日】2024-02-27
【新規性喪失の例外の表示】特許法第30条第2項適用 令和5年8月9日において開催された89祭2023(https://topics.shiftinc.jp/89matsuri2023/)で発表
【早期審査対象出願】
(73)【特許権者】
【識別番号】507179553
【氏名又は名称】株式会社SHIFT
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】丹下 大
(72)【発明者】
【氏名】小林 元也
(72)【発明者】
【氏名】松永 杏樹
(72)【発明者】
【氏名】坂瀬 成俊
(72)【発明者】
【氏名】小田柿 敦士
(72)【発明者】
【氏名】石井 達也
(72)【発明者】
【氏名】室 開里
(72)【発明者】
【氏名】坂本 京也
(72)【発明者】
【氏名】林 一成
【審査官】武田 広太郎
(56)【参考文献】
【文献】米国特許出願公開第2019/0213115(US,A1)
【文献】特開2023-167877(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
(57)【特許請求の範囲】
【請求項1】
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、前記プログラムは、前記プロセッサに、
仕様書データに仕様が記載される機能についてのテストのテスト区分を出力するように学習された第1学習済みモデルに仕様書データを入力し、前記第1学習済みモデルからテスト区分を出力させるステップと、
テスト区分に対応付けられるテスト観点、及びテスト観点毎に対応付けられている確認項目を出力するように学習された第2学習済みモデルに、前記第1学習済みモデルから出力された前記テスト区分を入力し、前記第2学習済みモデルからテスト観点、及び確認項目を出力させるステップと、
仕様書、テスト区分、テスト観点、及び確認項目に対して設定され得る因子・水準を出力するように学習された第3学習済みモデルに、前記第1学習済みモデルに入力された仕様書データ、前記第1学習済みモデルから出力されたテスト区分、前記第2学習済みモデルから出力されたテスト観点及び確認項目を入力し、前記第3学習済みモデルから因子・水準を出力させるステップと、
仕様書、テスト区分、テスト観点、確認項目により規定されるテストケースにおいて発現が期待される期待値を出力するように学習された第4学習済みモデルに、前記第1学習済みモデルに入力された仕様書データ、前記第1学習済みモデルから出力されたテスト区分、前記第2学習済みモデルから出力されたテスト観点及び確認項目を入力し、前記第4学習済みモデルから期待値を出力させるステップと
を実行させるプログラム。
【請求項2】
前記期待値を出力させるステップにおいて、前記第4学習済みモデルは、仕様書、テスト区分、テスト観点、確認項目、因子・水準により規定されるテストケースにおいて発現が期待される期待値を出力するように学習されており、当該第4学習済みモデルに、前記第1学習済みモデルに入力された仕様書データ、前記第1学習済みモデルから出力されたテスト区分、前記第2学習済みモデルから出力されたテスト観点及び確認項目、前記第3学習済みモデルから出力された因子・水準を入力し、前記第4学習済みモデルから期待値を出力させる請求項1記載のプログラム。
【請求項3】
前記テスト観点及び確認項目を出力させるステップにおいて、前記第2学習済みモデルは大規模言語モデルに、過去のデバッグ処理において蓄積された情報を用いた追加学習を施したモデルであり、前記大規模言語モデルに、前記テスト区分と、前記テスト区分に対応したテスト観点及び確認項目を出力させるための指示文とを入力し、前記大規模言語モデルから前記テスト観点及び前記確認項目を出力させる請求項1記載のプログラム。
【請求項4】
前記期待値を出力させるステップにおいて、前記第4学習済みモデルは前記大規模言語モデルに、過去のデバッグ処理において蓄積された情報を用いた追加学習を施したモデルであり、前記大規模言語モデルに、前記第1学習済みモデルに入力された仕様書データ、前記第1学習済みモデルから出力されたテスト区分、前記第2学習済みモデルから出力されたテスト観点及び確認項目と、当該情報に基づいて発現が期待される期待値を出力させるための指示文とを入力し、前記大規模言語モデルから前記期待値を出力させる請求項3記載のプログラム。
【請求項5】
前記テスト観点及び確認項目を出力させるステップにおいて、前記第2学習済みモデルは大規模言語モデルに、過去のデバッグ処理において蓄積された情報を用いた追加学習を施したモデルであり、前記大規模言語モデルに、前記テスト区分と、前記テスト区分に対応したテスト観点及び確認項目を出力させるための指示文とを入力し、前記大規模言語モデルから前記テスト観点及び前記確認項目を出力させる請求項2記載のプログラム。
【請求項6】
前記期待値を出力させるステップにおいて、前記第4学習済みモデルは前記大規模言語モデルに、過去のデバッグ処理において蓄積された情報を用いた追加学習を施したモデルであり、前記大規模言語モデルに、前記第1学習済みモデルに入力された仕様書データ、前記第1学習済みモデルから出力されたテスト区分、前記第2学習済みモデルから出力されたテスト観点及び確認項目、前記第3学習済みモデルから出力された因子・水準と、当該情報に基づいて発現が期待される期待値を出力させるための指示文とを入力し、前記大規模言語モデルから前記期待値を出力させる請求項5記載のプログラム。
【請求項7】
前記第1学習済みモデルから出力させた前記テスト区分に基づき、前記第2学習済みモデルに入力する情報についてユーザからの選択、修正、又は追加を受け付けるステップと、
前記第2学習済みモデルから出力させた前記テスト観点及び前記確認項目に基づき、前記第3学習済みモデルに入力する情報についてのユーザからの選択、修正、又は追加を受け付けるステップと、
前記第3学習済みモデルから出力させた前記因子・水準に基づき、前記第4学習済みモデルに入力する情報についてのユーザからの選択、修正、又は追加を受け付けるステップと
を前記プロセッサに実行させる請求項1記載のプログラム。
【請求項8】
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、前記プロセッサが、請求項1から請求項7のいずれかに係る発明において実行される全てのステップを実行する方法。
【請求項9】
プロセッサと、メモリとを情報処理装置であって、前記プロセッサが、請求項1から請求項7のいずれかに係る発明において実行される全てのステップを実行する情報処理装置。
【請求項10】
請求項1から請求項7のいずれかに係る発明において実行される全てのステップを実行する手段を備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、方法、情報処理装置、システムに関する。
【背景技術】
【0002】
複数の視点で、仕様項目毎に適切なテスト項目を得るための技術が提案されている(特許文献1参照)。特許文献1では、開発対象物の仕様を1つ以上の単語を用いて記述する仕様項目を複数含む新規仕様書データでの単語の出現傾向を仕様項目毎に解析し、仕様項目毎の単語の出現傾向の解析結果に基づき、各仕様項目を、各々がテストのカテゴリーである複数のテストカテゴリーのうちのいずれかのテストカテゴリーに分類する。また、テスト内容を記述するテスト項目とテストカテゴリーとを対応付ける過去分類結果情報を参照し、仕様項目毎に、当該仕様項目が分類されたテストカテゴリーと過去分類結果情報で対応付けられているテスト項目を提示する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、新規仕様項目毎に、分類されたテストカテゴリーでの過去テスト項目をテスト設計担当者に提示する。特許文献1では、仕様書の内容が反映されたテスト内容(因子、水準)が作成される訳ではない。そのため、ユーザは、仕様書に対応するテストケースを作成しようとすると、提示された過去テスト項目を仕様書に合わせて修正しなければならない。
【0005】
本開示の目的は、テストケースを作成する労力を軽減することである。
【課題を解決するための手段】
【0006】
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムである。プログラムは、プロセッサに、プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムである。プログラムは、プロセッサに、第1学習済みモデルに仕様書データを入力し、第1学習済みモデルからテスト区分を出力させるステップと、第2学習済みモデルに、テスト区分を入力し、第2学習済みモデルからテスト観点、及び確認項目を出力させるステップと、第3学習済みモデルに、仕様書データ、テスト区分、テスト観点、確認項目を入力し、第3学習済みモデルから因子・水準を出力させるステップと、第4学習済みモデルに、仕様書データ、テスト区分、テスト観点、確認項目を入力し、第4学習済みモデルから期待値を出力させるステップとを実行させる。
【発明の効果】
【0007】
本開示によれば、テストケースを作成する労力を軽減できる。
【図面の簡単な説明】
【0008】
【
図1】システム1の全体構成の例を示すブロック図である。
【
図2】
図1に示す端末装置10の構成例を表すブロック図である。
【
図3】サーバ20の機能的な構成の例を示す図である。
【
図4】ユーザ情報テーブル2021のデータ構造を示す図である。
【
図5】仕様書テーブル2022のデータ構造を示す図である。
【
図6】プロンプトテーブル2023のデータ構造を示す図である。
【
図7】テスト設計書テーブル20241のデータ構造を示す図である。
【
図8】パターンテーブル20242のデータ構造を示す図である。
【
図9】テスト観点テーブル20243のデータ構造を示す図である。
【
図11】サーバ20がテスト設計書の作成を補助する際の端末装置10とサーバ20との動作を説明するための図である。
【
図12】ディスプレイ141に表示されるテスト設計書の作成画面の一例を表す模式図である。
【
図13】ディスプレイ141に表示されるテスト設計書の作成画面のその他の例を表す模式図である。
【
図14】ディスプレイ141に表示されるテスト設計書の作成画面のその他の例を表す模式図である。
【
図15】ディスプレイ141に表示されるテスト設計書の作成画面のその他の例を表す模式図である。
【
図16】ディスプレイ141に表示されるテスト設計書の作成画面のその他の例を表す模式図である。
【
図17】コンピュータ90の基本的なハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0009】
以下、図面を参照しつつ、本開示の実施形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0010】
<概略>
本実施形態に係るシステムは、仕様書に基づいてテストケースを作成する際、作成の各ステップにおいて、学習済みモデルを用いる。具体的には、システムは、テスト対象を洗い出すステップにおいて、学習済みモデルを利用してテスト区分を出力する。システムは、テスト観点を選定するステップにおいて、学習済みモデルを利用してテスト観点及び確認項目を出力する。システムは、テストの具体的な内容を決めるステップにおいて、学習済みモデルを利用してテストパターンを出力する。システムは、テストの具体的な内容を決めるステップにおいて、学習済みモデルを利用してテストの期待値を出力する。学習済みモデルには、例えば、大規模言語モデル(LLM:Large Language Models)が利用されてもよい。
【0011】
<1 システム全体の構成図>
図1は、システム1の全体構成の例を示すブロック図である。
図1に示すシステム1は、例えば、端末装置10、サーバ20、及びLLMシステム30を含む。端末装置10、サーバ20、及びLLMシステム30は、例えば、ネットワーク80を介して通信接続する。
【0012】
図1において、システム1が端末装置10を2台含む例を示しているが、システム1に含まれる端末装置10の数は、2台に限定されない。システム1に含まれる端末装置10は、1台であってもよいし、3台以上であってもよい。
【0013】
図1において、システム1が1つのLLMシステム30を含む例を示しているが、システム1に含まれるLLMシステム30の数は、1つに限定されない。システム1に含まれるLLMシステム30は、2つ以上であってもよい。
【0014】
本実施形態において、複数の装置の集合体を1つのサーバとしてもよい。1つ又は複数のハードウェアに対して本実施形態に係るサーバ20を実現することに要する複数の機能の配分の仕方は、各ハードウェアの処理能力及び/又はサーバ20に求められる仕様等に鑑みて適宜決定することができる。具体的には、例えば、仕様書に基づいてテストケースを作成する機能を有するサーバと、学習済みモデルが構築されているサーバとは異なる装置であってもよい。
【0015】
図1に示す端末装置10は、サーバ20により提供されるサービスを利用するユーザが使用する情報処理装置である。例えば、端末装置10は、サーバ20により提供されるテスト設計書の作成サポートを利用し、テスト設計書を作成するテスト設計者が操作する情報処理装置である。端末装置10は、例えば、据え置き型のPC(Personal Computer)、ラップトップPC、ヘッドマウントディスプレイ等により実現される。また、端末装置10は、スマートフォン、又はタブレット端末等の携行性を備えたコンピュータであってもよい。
【0016】
端末装置10は、通信IF(Interface)12と、入力装置13と、出力装置14と、メモリ15と、ストレージ16と、プロセッサ19とを備える。入力装置13は、ユーザからの入力操作を受け付けるための装置(例えば、タッチパネル、タッチパッド、マウス等のポインティングデバイス、キーボード等)である。出力装置14は、ユーザに対して情報を提示するための装置(ディスプレイ、スピーカー等)である。
【0017】
サーバ20は、テスト設計書の作成をサポートするサービスを提供する情報処理装置である。例えば、サーバ20は、複数の学習済みモデルを用い、ユーザによるテスト設計書の作成をサポートする。
【0018】
サーバ20は、例えば、ネットワーク80に接続されたコンピュータにより実現される情報処理装置である。
図1に示すように、サーバ20は、通信IF22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29とを備える。入出力IF23は、ユーザからの入力操作を受け付けるための入力装置、及び、ユーザに対して情報を出力するための出力装置とのインタフェースとして機能する。
【0019】
LLMシステム30は、例えば、自然言語処理(NLP)の分野で使用される大規模な人工知能モデル(LLM)が構築されたシステムである。LLMは、大量のテキストデータ(ウェブページ、書籍、記事等)を学習することで、人間が使用する言語のパターンを理解し、自然言語生成(NLG)タスクを効果的に実行することができる。
【0020】
LLMは、特定の問いへの応答生成、文章の自動生成、テキストの要約、翻訳、感情分析等、多くのNLPタスクで使用される。また、教育、エンターテイメント、カスタマーサービス、製品開発等、様々な用途で活用可能である。LLMには、例えば、以下のようなものが存在する。
・GPT-4(登録商標)(OpenAI社)
・PaLM2(登録商標)(Google社)
・StableLM(StableAI社)
・Llama2(Meta社)
【0021】
LLMシステム30は、サーバ20から出力されたテストに関する情報、及びプロンプトをLLMに入力し、入力したテキストデータ、及びプロンプトに基づく回答をLLMに出力させる。LLMシステム30は、LLMから出力された回答をサーバ20へ送信する。
【0022】
各情報処理装置は演算装置と記憶装置とを備えたコンピュータにより構成されている。コンピュータの基本ハードウェア構成および、当該ハードウェア構成により実現されるコンピュータの基本機能構成は後述する。端末装置10、サーバ20のそれぞれについて、後述するコンピュータの基本ハードウェア構成およびコンピュータの基本機能構成と重複する説明は省略する。
【0023】
<1.1 端末装置の構成>
図2は、
図1に示す端末装置10の構成例を表すブロック図である。
図2に示すように、端末装置10は、通信部120と、入力装置13と、出力装置14と、音声処理部17と、マイク171と、スピーカー172と、カメラ160と、位置情報センサ150と、記憶部180と、制御部190とを備える。端末装置10に含まれる各ブロックは、例えば、バス等により電気的に接続される。
【0024】
通信部120は、端末装置10が他の装置と通信するための変復調処理等の処理を行う。通信部120は、制御部190で生成された信号に送信処理を施し、外部(例えば、サーバ20)へ送信する。通信部120は、外部から受信した信号に受信処理を施し、制御部190へ出力する。
【0025】
入力装置13は、端末装置10を操作するユーザが指示、又は情報を入力するための装置である。入力装置13は、例えば、操作面へ触れることで指示が入力されるタッチ・センシティブ・デバイス131等により実現される。端末装置10がPC等である場合には、入力装置13は、リーダー、キーボード、マウス等により実現されてもよい。入力装置13は、ユーザから入力される指示を電気信号へ変換し、電気信号を制御部190へ出力する。なお、入力装置13には、例えば、外部の入力機器から入力される電気信号を受け付ける受信ポートが含まれてもよい。
【0026】
出力装置14は、端末装置10を操作するユーザへ情報を提示するための装置である。出力装置14は、例えば、ディスプレイ141等により実現される。ディスプレイ141は、制御部190の制御に応じたデータを表示する。ディスプレイ141は、例えば、LCD(Liquid Crystal Display)、又は有機EL(Electro-Luminescence)ディスプレイ等によって実現される。
【0027】
音声処理部17は、例えば、音声信号のデジタル-アナログ変換処理を行う。音声処理部17は、マイク171から与えられる信号をデジタル信号に変換して、変換後の信号を制御部190へ与える。また、音声処理部17は、音声信号をスピーカー172へ与える。音声処理部17は、例えば音声処理用のプロセッサによって実現される。マイク171は、音声入力を受け付けて、当該音声入力に対応する音声信号を音声処理部17へ与える。スピーカー172は、音声処理部17から与えられる音声信号を音声に変換して当該音声を端末装置10の外部へ出力する。
【0028】
カメラ160は、受光素子により光を受光し、撮影信号として出力するためのデバイスである。
【0029】
位置情報センサ150は、端末装置10の位置を検出するセンサであり、例えばGPS(Global Positioning System)モジュールである。GPSモジュールは、衛星測位システムで用いられる受信装置である。衛星測位システムでは、少なくとも3個または4個の衛星からの信号を受信し、受信した信号に基づいて、GPSモジュールが搭載される端末装置10の現在位置を検出する。位置情報センサ150は、端末装置10が接続する無線基地局の位置から、端末装置10の現在の位置を検出してもよい。
【0030】
記憶部180は、例えば、メモリ15、及びストレージ16等により実現され、端末装置10が使用するデータ、及びプログラムを記憶する。記憶部180は、例えば、ユーザ情報181を記憶する。
【0031】
ユーザ情報181は、例えば、端末装置10を使用するユーザについての情報を含む。ユーザについての情報には、例えば、ユーザの氏名、年齢、住所、生年月日、連絡先等が含まれる。
【0032】
制御部190は、プロセッサ19が記憶部180に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部190は、端末装置10の動作を制御する。制御部190は、プログラムに従って動作することにより、操作受付部191と、送受信部192と、提示制御部193としての機能を発揮する。
【0033】
操作受付部191は、入力装置13から入力される指示、又は情報を受け付けるための処理を行う。具体的には、例えば、操作受付部191は、タッチ・センシティブ・デバイス131等から入力される指示、又は情報を受け付ける。
【0034】
また、操作受付部191は、マイク171から入力される音声指示を受け付ける。具体的には、例えば、操作受付部191は、マイク171から入力され、音声処理部17でデジタル信号に変換された音声信号を受信する。操作受付部191は、例えば、受信した音声信号を分析して所定の名詞を抽出することで、ユーザからの指示を取得する。
【0035】
送受信部192は、端末装置10が、サーバ20等の外部の装置と、通信プロトコルに従ってデータを送受信するための処理を行う。具体的には、例えば、送受信部192は、ユーザから入力された情報、又はユーザから指示をサーバ20へ送信する。また、送受信部192は、サーバ20から提供される情報を受信する。
【0036】
提示制御部193は、サーバ20から提供された情報をユーザに対して提示するため、出力装置14を制御する。具体的には、例えば、提示制御部194は、サーバ20から送信される情報をディスプレイ141に表示させる。また、提示制御部194は、サーバ20から送信される情報をスピーカー172から出力させる。
【0037】
<1.2 サーバの機能的な構成>
図3は、サーバ20の機能的な構成の例を示す図である。
図3に示すように、サーバ20は、通信部201と、記憶部202と、制御部203としての機能を発揮する。
【0038】
通信部201は、サーバ20が外部の装置と通信するための処理を行う。
【0039】
記憶部202は、例えば、ユーザ情報テーブル2021、仕様書テーブル2022、プロンプトテーブル2023、テスト情報テーブル2024、及び複数の学習済みモデル等を有する。複数の学習済みモデルは、例えば、テスト設計をする際の少なくともいずれかのステップで利用される学習済みモデルを含む。具体的には、例えば、複数の学習済みモデルは、テスト観点の選定の際に利用される第1学習済みモデル2025を含む。また、複数の学習済みモデルは、例えば、テストの具体的な内容を決定する際に利用される第2学習済みモデル2026を含む。本実施形態では、例えば、テスト対象の洗い出しの際、及びテストの具体的な内容を決定する際には、LLMシステム30において構築されるLLMが用いられる。なお、記憶部202で記憶される情報は、これらに限定されない。
【0040】
ユーザ情報テーブル2021は、ユーザについての情報を記憶するテーブルである。詳細は後述する。
【0041】
仕様書テーブル2022は、仕様書に関する情報を記憶するテーブルである。詳細は後述する。本実施形態において、仕様書は、検査対象が有する機能についての仕様が記載されているデータである。テスト設計者は、例えば、仕様書を参照しながら、テスト設計書を作成する。仕様書は、例えば、機能の詳細な仕様が記憶される領域と、メッセージ定義が記憶される領域とを含む。仕様書が表計算ソフトにより作成されている場合、これらの領域は、例えば、異なるシートで実現される。機能の詳細な仕様は、例えば、仕様の名称、オブジェクト種別、要件、及び制御等を含む。
【0042】
プロンプトテーブル2023は、プロンプト(指示文)に関する情報を記憶するテーブルである。詳細は後述する。
【0043】
テスト情報テーブル2024は、過去の各種のデバッグ処理において蓄積された情報を記憶するテーブルである。例えば、テスト情報テーブル2024は、過去の各種のデバッグ処理において作成されたテスト設計書と、このテスト設計書から分解された要素を記憶するテーブルである。すなわち、テスト情報テーブル2024は、例えば、蓄積されたテストに関する情報を、一般化し、共有ナレッジとして共有するためのテーブルである。テスト設計書から分解された要素は、例えば、必要なテストを規定するための情報、及び具体的なテストケースが設定されている情報を表す。テスト情報テーブル2024では、例えば、記憶されるテスト設計書、及び要素に、属性を表す識別子が付されている。属性は、複数種類設定可能であり、例えば、業種/業界、システム種別、工程タイプの種類がある。属性を表す識別子を用いることで、属性に応じてテスト設計書、又は要素を分類することが可能である。
【0044】
本実施形態において、テスト設計書は、例えば、メタ情報、実施するテストに関する情報、及びパターン表を含む。メタ情報は、例えば、テスト設計書のタイトル、プロジェクト名、プロダクト名、管理番号、バージョン、作成日、作成者、最終更新日、更新者等の情報を含む。なお、メタ情報に含まれる情報はこれらに限定されない。このうちのいずれかの情報がなくてもよいし、これら以外の情報が含まれていてもよい。
【0045】
実施するテストに関する情報は、例えば、テストの大枠が規定された、いわゆる基本設計書の役割を果たす。テストに関する情報は、例えば、「テスト対象項目/対象機能」を含む。「テスト対象項目/対象機能」は、例えば、テストの対象となる項目/機能を表す。「テスト対象項目/対象機能」は、テスト区分とも称され得る。テスト区分には、下位概念としての大機能(区分1)、中機能(区分2)、小機能(区分3)が含まれていてもよい。
【0046】
テストに関する情報は、例えば、テスト観点を含む。テスト観点は、例えば、テストの拠り所となる見地(考え方)を表す。テスト観点は、テスト区分に対応付けられている。テスト観点の配列は、例えば、テストの順序を規定している。テスト観点には、確認項目が対応付けられている。確認項目は、実施するテストを特定するための情報を表す。
【0047】
テストに関する情報は、例えば、期待値を含む。期待値は、例えば、確認の際に発現が期待される挙動又は状態を表す。なお、テストに関する情報はこれらに限定されない。このうちのいずれかの情報がなくてもよいし、これら以外の情報が含まれていてもよい。
【0048】
パターン表は、例えば、確認する内容、確認処理により発現される挙動の条件、及び確認内容と条件とが組み合わされてなる具体的なテストケースをパターンとして規定している。パターン表では、例えば、検査する機能に応じた少なくとも1つのパターンが設定されている。パターン表において、確認する内容は、例えば、因子、水準として規定されている。因子は、例えば、コンピュータの状態変化に影響を与え得る要因を表す。水準は、例えば、因子の具体的な要素を表す。パターン表において、確認処理により発現される挙動の条件は、例えば、期待値として記憶される条件により規定される。パターン表において、具体的なテストケースは、例えば、因子、水準と関連付けられたマトリクスを用いて規定される。
【0049】
テスト設計書からは、例えば、必要なテストを規定するための情報として、テスト観点が分解される。また、テスト設計書からは、例えば、具体的なテストケースが設定されている情報として、パターンが分解される。
【0050】
第1学習済みモデル2025は、テスト区分に基づき、適すると推定されるテスト観点、及び当該テスト観点に対応付けられている少なくとも1つの確認項目を出力させるためのモデルである。具体的には、第1学習済みモデル2025は、自然言語処理(NLP)の分野で使用される大規模な人工知能モデルに、追加学習を施したものである。追加学習では、タスク毎の正解を教える、いわゆるファインチューニングを行うことで、テスト設計書の作成に特化させる。具体的には、例えば、第1学習済みモデル2025は、入力されるテスト区分に対し、適すると推定されるテスト観点、及び当該テスト観点に対応付けられている少なくとも1つの確認項目を出力するように学習されている。このとき、第1学習済みモデル2025をトレーニングするための学習用データは、例えば、テスト情報テーブル2024に記憶されるテスト区分を入力データとし、入力したテスト区分と対応する、テスト情報テーブル2024に記憶されるテスト観点、確認項目を正解出力データとする。入力データとして入力する情報は、テスト区分に含まれる下位概念としての大機能(区分1)、中機能(区分2)、小機能(区分3)であってもよい。
【0051】
また、第1学習済みモデル2025に対してコンテキストチューニングがなされてもよい。コンテキストチューニングでは、例えば、ユーザが所望する形式で第1学習済みモデル2025から情報が出力されるように、回答例、及び回答形式等を指示文に含めるようにする。
【0052】
第1学習済みモデル2025は、新たに追加されるテスト設計書に含まれるテスト区分、テスト観点、確認項目に基づき、随時再学習されてもよい。
【0053】
第1学習済みモデル2025は、入力されるテスト区分に対し、適すると推定されるテスト観点、及び当該テスト観点に対応付けられている少なくとも1つの確認項目を出力すると共に、出力したテスト観点の確からしさ(もっともらしさ)を表す指標値を出力するように学習されていてもよい。また、第1学習済みモデル2025は、テスト観点、及び確認項目を出力すると共に、出力したテスト観点、及び確認項目の確からしさ(もっともらしさ)を表す指標値を出力するように学習されていてもよい。テスト設計書によっては、同じテスト区分であっても異なるテスト観点、及び確認項目が設定されることがある。指標値は、例えば、テスト区分と対応付けられているテスト観点、及び確認項目にばらつきのある学習用データで第1学習済みモデル2025をトレーニングすることで出力されるようになる。
【0054】
第2学習済みモデル2026は、仕様書データ、テスト区分、テスト観点、確認項目、テストパターンに基づき、適すると推定される期待値を出力させるためのモデルである。具体的には、第2学習済みモデル2026は、自然言語処理(NLP)の分野で使用される大規模な人工知能モデルに、追加学習を施したものである。追加学習では、タスク毎の正解を教える、いわゆるファインチューニングを行うことで、テスト設計書の作成に特化させる。具体的には、例えば、第2学習済みモデル2026は、入力される仕様書データ、テスト区分、テスト観点、確認項目、テストパターンに対し、適すると推定される期待値を出力するように学習されている。このとき、第2学習済みモデル2026をトレーニングするための学習用データは、例えば、テスト情報テーブル2024に記憶されるテスト区分、テスト観点、確認項目、テストパターンを入力データとし、入力した情報と対応する、テスト情報テーブル2024に記憶される期待値を正解出力データとする。また、テスト観点及び確認項目によっては、パターン表が存在しない場合もあり得る。このような場合、第2学習済みモデル2026は、例えば、入力される仕様書データ、テスト区分、テスト観点、確認項目に対し、適すると推定される期待値を出力するように学習されている。このとき、第2学習済みモデル2026をトレーニングするための学習用データは、例えば、テスト情報テーブル2024に記憶されるテスト区分、テスト観点、確認項目を入力データとし、入力した情報と対応する、テスト情報テーブル2024に記憶される期待値を正解出力データとする。
【0055】
また、第2学習済みモデル2026に対してコンテキストチューニングがなされてもよい。コンテキストチューニングでは、例えば、ユーザが所望する形式で第2学習済みモデル2026から情報が出力されるように、回答例、及び回答形式等を指示文に含めるようにする。
【0056】
テスト区分、テスト観点、確認項目、テストパターンを入力データとして利用し、期待値を正解出力データとして利用する際、テストが実施された企業等を識別可能な情報についてはマスクが施されてもよい。第2学習済みモデル2026は、新たに追加されるテスト設計書に含まれるテスト区分、テスト観点、確認項目、テストパターン、期待値に基づき、随時再学習されてもよい。
【0057】
また、追加学習には、インストラクションチューニングや、RLHF(Reinforcement Learning from Human Feedback:人間のフィードバックからの強化学習)が含まれていてもよい。インストラクションチューニングでは、例えば、多様な指示とそれに対する望ましい応答からなるデータセット、及び多様な指示とそれに対して望ましくない応答からなるデータセット等を学習用データとして用いることで、テストエンジニアの意図に沿った情報を出力可能となる。
【0058】
制御部203は、プロセッサ29が記憶部202に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。プログラムは、ウェブブラウザアプリケーション等のアプリケーションを含む。プログラムは、端末装置10に記憶されているウェブブラウザアプリケーション上で実行されるJavaScript(登録商標)等のプログラミング言語を含む。制御部203は、プログラムに従って動作することにより、受信制御モジュール2031、送信制御モジュール2032、作成支援モジュール2033、及び提示制御モジュール2034として示す機能を発揮する。
【0059】
受信制御モジュール2031は、サーバ20が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。
【0060】
送信制御モジュール2032は、サーバ20が外部の装置に対し通信プロトコルに従って信号を送信する処理を制御する。
【0061】
作成支援モジュール2033は、ユーザによるテスト設計書の作成を支援する。具体的には、例えば、作成支援モジュール2033は、例えば、テスト設計をする際の各ステップにおいて、学習済みモデルを用い、テスト設計するのに有効な選択肢をユーザに提案する。
【0062】
具体的には、例えば、作成支援モジュール2033は、テスト対象の洗い出しの際、LLMシステム30を利用する。例えば、作成支援モジュール2033は、ユーザにより選択された仕様書データと、仕様書データに適したテスト区分を出力させるための指示文とをLLMシステム30へ送信する。LLMシステム30は、サーバ20から送信された仕様書データ、及び指示文をLLMに入力し、LLMから仕様書データに適したテスト区分を出力させる。LLMから出力されるテスト区分は一つであっても複数であってもよい。LLMから出力されるテスト区分は、テスト区分の下位概念としての区分1、区分2、区分3が割り当てられているものであってもよい。
【0063】
作成支援モジュール2033は、例えば、所定のボタンがユーザにより押下されることに応じ、テスト区分を出力させるための指示文を発行する。また、作成支援モジュール2033は、テスト区分を出力させるための指示に関するテキスト情報をユーザから受け付け、受け付けたテキスト情報を指示文としてもよい。指示文には、仕様書データの構造を説明するための内容が含まれていてもよい。また、指示文には、テスト区分の出力形式を指定するための内容が含まれていてもよい。作成支援モジュール2033は、仕様書データを所定の形式のデータに変換してLLMシステム30へ送信してもよい。所定の形式は、例えば、マークダウン形式を含む。
【0064】
また、例えば、作成支援モジュール2033は、テスト観点を選定する際、第1学習済みモデル2025を利用する。例えば、作成支援モジュール2033は、テスト設計書に係るテスト区分と、テスト区分に対応したテスト観点及び確認項目を出力させるための指示文とを第1学習済みモデル2025に入力し、入力したテスト区分に対応するテスト観点、及び確認項目を第1学習済みモデル2025から出力させる。第1学習済みモデル2025から出力されるテスト観点は一つであっても複数であってもよい。第1学習済みモデル2025から出力されるテスト観点と対応付けられている確認項目は一つであっても複数であってもよい。
【0065】
第1学習済みモデル2025から、テスト観点及び確認項目と、テスト観点についての指標値が出力される場合、作成支援モジュール2033は、指標値に基づき、テスト観点及び確認項目を後段へ出力するかを判断してもよい。例えば、作成支援モジュール2033は、第1学習済みモデル2025から出力されたテスト観点の指標値が予め設定されている閾値未満である場合、当該テスト観点と、当該テスト観点に対応付けられている確認項目を後段へ出力しないようにしてもよい。
【0066】
作成支援モジュール2033は、例えば、所定のボタンがユーザにより押下されることに応じ、テスト観点及び確認項目を出力させるための指示文を発行する。また、作成支援モジュール2033は、テスト観点及び確認項目を出力させるための指示に関するテキスト情報をユーザから受け付け、受け付けたテキスト情報を指示文としてもよい。指示文には、テスト区分の構造を説明するための内容が含まれていてもよい。また、指示文には、テスト観点及び確認項目の出力形式を指定するための内容が含まれていてもよい。
【0067】
また、作成支援モジュール2033は、テストの具体的な内容を決める際、LLMシステム30を利用する。例えば、作成支援モジュール2033は、ユーザにより選択された仕様書データ、テスト区分、テスト観点、確認項目、及びこれらの情報に基づいて適当な因子、水準を出力させるための指示文をLLMシステム30へ送信する。LLMシステム30は、サーバ20から送信された仕様書データ、テスト区分、テスト観点、確認項目、及び指示文をLLMに入力し、LLMから、ユーザにより選択された仕様書データ、テスト区分、テスト観点、確認項目に対して適した因子、水準を出力させる。LLMから出力される因子、水準は一つであっても複数であってもよい。
【0068】
作成支援モジュール2033は、例えば、所定のボタンがユーザにより押下されることに応じ、因子、水準を出力させるための指示文を発行する。また、作成支援モジュール2033は、因子、水準を出力させるための指示に関するテキスト情報をユーザから受け付け、受け付けたテキスト情報を指示文としてもよい。指示文には、入力するそれぞれの情報が何であるかを説明するための内容が含まれていてもよい。また、指示文には、因子、水準の出力形式を指定するための内容が含まれていてもよい。作成支援モジュール2033は、仕様書データを所定の形式のデータに変換してLLMシステム30へ送信してもよい。所定の形式は、例えば、マークダウン形式を含む。
【0069】
また、例えば、作成支援モジュール2033は、テストパターンを生成する際、記憶部202に予め記憶されている、因子、水準からパターンを生成するためのルールを利用する。例えば、作成支援モジュール2033は、因子、水準にルールを適用し、パターンを生成する。
【0070】
また、例えば、作成支援モジュール2033は、期待値を生成する際、第2学習済みモデル2026を利用する。例えば、作成支援モジュール2033は、ユーザにより選択された仕様書データ、テスト区分、テスト観点、確認項目、テストパターンと、これらの情報に対して適した期待値を出力させるための指示文とを第2学習済みモデル2026に入力し、入力した情報に対して適した期待値を第2学習済みモデル2026から出力させる。
【0071】
また、例えば、テスト観点及び確認項目にパターン表が対応付けられていない場合、作成支援モジュール2033は、ユーザにより選択された仕様書データ、テスト区分、テスト観点、確認項目と、これらの情報に対して適した期待値を出力させるための指示文とを第2学習済みモデル2026に入力し、入力した情報に対して適した期待値を第2学習済みモデル2026から出力させる。
【0072】
作成支援モジュール2033は、例えば、所定のボタンがユーザにより押下されることに応じ、期待値を出力させるための指示文を発行する。また、作成支援モジュール2033は、期待値を出力させるための指示に関するテキスト情報をユーザから受け付け、受け付けたテキスト情報を指示文としてもよい。指示文には、入力するそれぞれの情報が何であるかを説明するための内容が含まれていてもよい。また、指示文には、期待値の出力形式を指定するための内容が含まれていてもよい。
【0073】
提示制御モジュール2034は、ユーザへ情報を提示する処理を制御する。例えば、提示制御モジュール2034は、学習済みモデルから出力された情報をユーザに提示する。具体的には、例えば、提示制御モジュール2034は、LLMシステム30から出力されるテスト区分をユーザに提示する。また、提示制御モジュール2034は、第1学習済みモデル2025から出力されるテスト観点及び確認項目をユーザに提示する。また、提示制御モジュール2034は、LLMシステム30から出力される因子、水準をユーザに提示する。また、提示制御モジュール2034は、因子、水準に対して所定のルールが適用されることで生成されるパターンをユーザに提示する。また、提示制御モジュール2034は、第2学習済みモデル2026から出力される期待値をユーザに提示する。
【0074】
<2 データ構造>
図4~
図9は、サーバ20が記憶するテーブルのデータ構造を示す図である。なお、
図4~
図9は一例であり、記載されていないデータを除外するものではない。また、同一のテーブルに記載されるデータであっても、記憶部202において離れた記憶領域に記憶されていることもあり得る。
【0075】
図4は、ユーザ情報テーブル2021のデータ構造を示す図である。
図4に示すユーザ情報テーブル2021は、ユーザIDをキーとして、氏名、年齢、性別、生年月日、連絡先のカラムを有するテーブルである。
【0076】
ユーザIDは、ユーザを一意に識別するための識別子を記憶する項目である。氏名は、ユーザの名前を記憶する項目である。年齢は、ユーザの年齢を記憶する項目である。性別は、ユーザの性別を記憶する項目である。生年月日は、ユーザの生年月日を記憶する項目である。連絡先は、ユーザが有している端末装置10の連絡先(例えば、電話番号、メールアドレス等)を記憶する項目である。
【0077】
図5は、仕様書テーブル2022のデータ構造を示す図である。
図5に示す仕様書テーブル2022は、仕様書IDをキーとして、クライアントID、プロジェクトID、作成日時、仕様書名、仕様書データ、最新更新等のカラムを有するテーブルである。なお、
図5に記憶される情報はこれらに限定されない。例えば、これらのうちいずれかが記憶されていなくてもよいし、さらなる情報が記憶されていてもよい。
【0078】
仕様書IDは、仕様書を一意に識別するための識別子を記憶する項目である。クライアントIDは、仕様書に基づくテストを必要とするクライアントを一意に識別するための識別子を記憶する項目である。プロジェクトIDは、仕様書に基づくテスト対象としての機能が属するプロジェクトを一意に識別するための識別子を記憶する項目である。作成日時は、仕様書が作成された日時を記憶する項目である。仕様書名は、仕様書の名称を記憶する項目である。仕様書名は、仕様書の内容の一部が抜粋されて付けられていてもよいし、仕様書の作成者等により付けられてもよい。仕様書データは、機能の詳細な仕様に関するデータ、及びメッセージ定義に関するデータ等を含む。項目「仕様書データ」は、他の場所に配置された仕様書データファイルに対する参照情報(パス)を記憶するものとしてもよい。最新更新は、仕様書データが最後に更新された日時を記憶する項目である。
【0079】
図6は、プロンプトテーブル2023のデータ構造を示す図である。
図6に示すプロンプトテーブル2023は、プロンプトIDをキーとして、プロンプトデータ等のカラムを有するテーブルでる。なお、
図6に記憶される情報はこれらに限定されない。例えば、さらなる情報が記憶されていてもよい。例えば、業界を識別するIDを記憶するカラムを有してもよい。これにより、例えば、作成支援モジュール2033は、業界毎に適した指示文を選択することが可能となる。
【0080】
プロンプトIDは、プロンプトを一意に識別するための識別子を記憶する項目である。プロンプトデータは、LLMに対して入力する指示文となるプロンプトに関するデータを記憶する項目である。プロンプトに関するデータは、例えば、プロンプトに係るテキスト情報である。プロンプトに係るテキスト情報では、例えば、情報を特定する内容が空白となっており、使用する際に所定の内容をはめ込むようにしている。
【0081】
プロンプトに係るテキスト情報は、例えば、仕様書データに基づいてテスト区分を出力させるための指示文であり、例えば、以下の内容を含む。
「入力した文書は、仕様書{…}です。この仕様書に係る機能をテストするためのテスト区分を、…の形式で出力してください。」
【0082】
プロンプトに係るテキスト情報は、例えば、テスト区分に対応したテスト観点及び確認項目を出力させるための指示文であり、例えば、以下の内容を含む。
「入力した文書は、テスト区分{…}です。このテスト区分と対応するテスト観点及び確認項目を、…の形式で出力してください。」
【0083】
また、プロンプトに係るテキスト情報は、例えば、仕様書データ、テスト区分、テスト観点、及び確認項目に基づいて因子及び水準を出力させるための指示文であり、例えば、以下の内容を含む。
「入力した文書は、仕様書{…}と、この仕様書についてテストが希望されるテスト区分{…}、テスト観点{…}、及び確認項目{…}です。これらの情報に基づくテストを実施する際の因子及び水準を、…の形式で出力してください。」
【0084】
また、プロンプトに係るテキスト情報は、例えば、仕様書データ、テスト区分、テスト観点、確認項目、及びテストパターンに基づいて期待値を出力させるための指示文であり、例えば、以下の内容を含む。
「入力した文書は、仕様書{…}と、この仕様書についてテストが希望されるテスト区分{…}、テスト観点{…}、確認項目{…}、テストパターン{…}です。これらの情報に基づくテストを実施する際の期待値を、…の形式で出力してください。」
【0085】
項目「プロンプトデータ」は、他の場所に配置されたプロンプトデータファイルに対する参照情報(パス)を記憶するものとしてもよい。
【0086】
図7~9は、テスト情報テーブル2024のデータ構造を示す図である。テスト情報テーブル2024は、例えば、テスト設計書テーブル20241、パターンテーブル20242、テスト観点テーブル20243を含む。パターンテーブル20242、テスト観点テーブル20243は、テスト設計書テーブル20241から分解された要素を記憶するテーブルである。
【0087】
図7は、テスト設計書テーブル20241のデータ構造を示す図である。
図7に示すテスト設計書テーブル20241のレコードの各々は、ファイル名、タグ、設計者ID、プロジェクトID、サービスID、属性、リンク、最新更新のカラムを有する。ファイル名は、テスト設計書の名称を記憶する項目である。タグは、テストの特徴を表す情報を記憶する項目である。項目「タグ」の情報は、例えば、仕様書に係るプロジェクトに対して設定されている情報に基づいて記憶される。また、項目「タグ」の情報は、ユーザにより任意に設定されてもよい。
【0088】
設計者IDは、テスト設計書を作成した人物を一意に識別するための識別子を記憶する項目である。プロジェクトIDは、テスト設計書が作成されたプロジェクトを一意に識別するための識別子を記憶する項目である。サービスIDは、検査対象が用いられるサービスを一意に識別するための識別子を記憶する項目である。属性は、テスト設計書が属する種別を表す情報を記憶する項目である。項目「属性」には、複数種類の属性を設定可能であり、例えば、業種/業界、システム種別、工程タイプ等から1つ以上の属性を設定可能である。項目「属性」の情報は、例えば、項目「タグ」に記憶される情報に基づいて設定される。また、項目「属性」の情報は、ユーザにより任意に設定されてもよい。
【0089】
リンクは、テスト設計書と関連付けられている仕様書データを記憶する項目である。項目「リンク」には、仕様書データそのものが関連付けられていてもよいが、仕様書データの該当箇所が関連付けられていてもよい。仕様書データの該当箇所は、例えば、仕様書データが表計算ソフトである場合には、スライド、行、セル等の表現で記憶されていてもよい。最新更新は、テスト設計書がアップデートされた最新の日時を記憶する項目である。
【0090】
図8は、パターンテーブル20242のデータ構造を示す図である。
図8に示すパターンテーブル20242のレコードの各々は、パターン名、パターン番号、タグ、ファイル名、プロジェクトID、サービスID、属性、最新更新のカラムを有する。パターン名」は、パターンの名称を記憶する項目である。パターン番号は、パターンに対して割り振られている固有の番号を記憶する項目である。タグは、分解元のテスト設計書にタグとして付された情報を記憶する項目である。
【0091】
ファイル名は、分解元のテスト設計書の名称を記憶する項目である。プロジェクトIDは、分割元のテスト設計書が作成されたプロジェクトを一意に識別するための識別子を記憶する項目である。サービスIDは、検査対象が用いられるサービスを一意に識別するための識別子を記憶する項目である。属性は、分解元のテスト設計書が属する種別を表す情報を記憶する項目である。最新更新は、パターンがアップデートされた最新の日時を記憶する項目である。
【0092】
図9は、テスト観点テーブル20243のデータ構造を示す図である。
図9に示すテスト観点テーブル20243のレコードの各々は、テスト観点、確認項目、タグ、分類1、分類2、属性、最新更新のカラムを有する。テスト観点は、テストの見地を記憶する項目である。確認項目は、実施するテストを特定するための情報を記憶する項目である。タグは、分解元のテスト設計書にタグとして付された情報を記憶する項目である。分類1は、テスト観点について付される1つ目の分類についての情報を記憶する項目である。項目「分類1」に記憶される情報は、例えば、テスト設計書の作成段階において、テスト観点を入力する際にユーザにより設定される。項目「分類1」に記憶される情報は、例えば、予め設定されている複数の項目の中から、ユーザにより選択されて設定される。項目「分類1」に記憶される情報は、例えば、テスト区分に係る情報である。
【0093】
分類2は、テスト観点について付される2つ目の分類についての情報を記憶する項目である。項目「分類2」に記憶される情報は、例えば、テスト設計書の作成段階において、テスト観点を入力する際にユーザにより設定される。項目「分類2」に記憶される情報は、例えば、予め設定されている複数の項目の中から、ユーザにより選択されて設定される。項目「分類2」に記憶される情報は、例えば、テスト区分に係る情報である。テスト観点テーブル20243に記憶される分類は、2つに限定されず、3つ以上あってもよい。属性は、分解元のテスト設計書が属する種別を表す情報を記憶する項目である。最新更新は、テスト観点がアップデートされた最新の日時を記憶する項目である。
【0094】
<3 動作>
テスト設計書の作成を補助する際のサーバ20の動作について説明する。
図10は、サーバ20の動作を表す模式図である。
図11は、サーバ20がテスト設計書の作成を補助する際の端末装置10とサーバ20との動作を説明するための図である。
【0095】
まず、テスト設計書を作成したいユーザ(テストエンジニア)は、サーバ20にアクセスする。ユーザは、例えば、自身のユーザIDと、パスワードとを入力することで、サーバ20が提供する、テスト設計書の作成を補助するサービスにログインする。
【0096】
ステップS11において、端末装置10は、ユーザから仕様書データの指定を受け付ける。具体的には、例えば、ディスプレイ141は、仕様書テーブル2022に記憶されている仕様書の一覧を表示している。ユーザは、一覧に表示されている仕様書から、テスト設計書を作成する必要のある仕様書を選択する。ユーザは、仕様書を選択した後、仕様書に対応したテスト区分を出力させるための指示を端末装置10に入力する。送受信部192は、指定された仕様書データに関する情報と、テスト区分を出力させる指示とをサーバ20へ送信する。
【0097】
ステップS12において、サーバ20は、指定された仕様書データに基づき、仕様書データに対して適当なテスト区分を取得する。具体的には、例えば、作成支援モジュール2033は、仕様書データに適したテスト区分を出力させるための指示文をプロンプトテーブル2023から読み出す。作成支援モジュール2033は、ユーザにより指定された仕様書データに関する情報と、読み出した指示文とをLLMシステム30へ出力する。LLMシステム30は、サーバ20から送信された仕様書データに関する情報、及び指示文をLLMに入力し、LLMから仕様書データに適したテスト区分を出力させる。このとき、LLMは、例えば、テストの対象となる項目/機能を表すテキスト情報を出力する。LLMは、テキスト情報に対し、例えば、階層情報として、「テスト区分」、「区分1」、「区分2」、「区分3」、又はこれらのいずれかの組み合わせ付している。LLMシステム30は、LLMから出力された情報をサーバ20へ送信する。
【0098】
提示制御モジュール2034は、LLMシステム30から送信されたテスト区分を含む、テスト設計書を作成するための画面を端末装置10に表示させる。つまり、例えば、送信制御モジュール2032は、LLMシステム30から送信されたテスト区分を含む、テスト設計書の作成画面を表示するための情報を端末装置10へ送信する。
【0099】
ステップS13において、端末装置10は、LLMシステム30から送信されたテスト区分を含むテスト設計書の作成画面をユーザに表示する。
【0100】
図12は、ディスプレイ141に表示されるテスト設計書の作成画面の一例を表す模式図である。
図12に示される作成画面は、表示領域1411、操作オブジェクト1412、表示領域1413、操作オブジェクト1414を含む。
【0101】
表示領域1411は、仕様書データの一覧が表示される領域である。
図12では、提示制御部193は、一つの仕様書データを表示領域1411に表示している。
図12では、提示制御部193は、仕様書データの左のマスに印を付けることで、仕様書データがユーザにより指定されたことを表している。なお、テスト設計書の作成画面が単一の仕様書データに対して作成されている場合、必ずしも表示領域1411が設けられていなくてもよい。
【0102】
操作オブジェクト1412は、テスト区分の提案を要求する指示を入力するためのオブジェクトである。
【0103】
表示領域1413は、テスト区分の一覧が表示される領域である。
図12では、提示制御部193は、テスト区分、区分1、区分2、区分3の階層情報に基づき、表示領域1413にテキスト情報を表示している。
【0104】
操作オブジェクト1414は、テスト観点及び確認項目の提案を要求する指示を入力するためのオブジェクトである。提示制御部193は、例えば、操作オブジェクト1414を、所定のテスト区分と関連付けられる領域に表示する。具体的には、例えば、提示制御部193は、最下層のテスト区分であることを表す区分3が付されているテキスト情報が表示される行と対応付け、操作オブジェクト1414を表示する。
【0105】
図12に示す作成画面において、ユーザは、表示領域1411において仕様書データを指定し、操作オブジェクト1412を押下する。そうすると、端末装置10は、テスト区分の提案を要求する指示をサーバ20へ送信する。作成支援モジュール2033は、指示に応じ、ユーザから指定された仕様書データに対して適したテスト区分をLLMシステム30から出力させる。提示制御部193は、指定された仕様書データについて出力されたテスト区分に係るテキスト情報を、表示領域1413に表示する。
【0106】
ステップS14において、端末装置10は、テスト対象の選択を受け付ける。具体的には、例えば、ディスプレイ141は、サーバ20から提供された複数のテスト区分の一覧を表示している。ユーザは、一覧に表示されているテスト区分から、テスト観点及び確認項目を確認したいテスト区分を選択する。ユーザは、選択したテスト区分に対応したテスト観点及び確認項目を出力させるための指示を端末装置10に入力する。送受信部192は、選択されたテスト区分に関する情報と、テスト観点及び確認項目を出力させる指示とをサーバ20へ送信する。
【0107】
ステップS15において、サーバ20は、選択されたテスト区分に基づき、テスト区分に対して適当なテスト観点及び確認項目を出力する。具体的には、例えば、作成支援モジュール2033は、テスト区分に対応したテスト観点及び確認項目を出力させるための指示文をプロンプトテーブル2023から読み出す。作成支援モジュール2033は、選択されたテスト区分と、読み出した指示文とを第1学習済みモデル2025に入力し、第1学習済みモデル2025からテスト区分に適したテスト観点及び確認項目を出力させる。このとき、第1学習済みモデル2025は、例えば、テスト観点を表すテキスト情報と、確認項目を表すテキスト情報とを出力する。
【0108】
提示制御モジュール2034は、第1学習済みモデル2025から出力されたテスト観点及び確認項目を含む、テスト設計書を作成するための画面を端末装置10に表示させる。つまり、例えば、送信制御モジュール2032は、第1学習済みモデル2025から出力されたテスト観点及び確認項目を含む、テスト設計書の作成画面を表示するための情報を端末装置10へ送信する。
【0109】
ステップS16において、端末装置10は、出力されたテスト観点及び確認項目を含むテスト設計書の作成画面をユーザに表示する。
【0110】
図13は、ディスプレイ141に表示されるテスト設計書の作成画面のその他の例を表す模式図である。
図13に示される作成画面は、操作オブジェクト1414、表示領域1415を含む。
【0111】
表示領域1415は、選択されたテスト区分についてのテスト観点及び確認項目が表示される領域である。
図13では、提示制御部193は、2つのテスト区分について出力されたテスト観点及び確認項目を表示領域1415に表示している。
図13では、提示制御部193は、1セットのテスト観点及び確認項目が提案されているテスト区分と、2セットのテスト観点及び確認項目が提案されているテスト区分とを表示している。
【0112】
図12に示す作成画面において、ユーザは、テスト観点及び確認項目を所望するテスト区分と対応する操作オブジェクト1414を押下する。そうすると、端末装置10は、テスト観点及び確認項目の提案を要求する指示をサーバ20へ送信する。作成支援モジュール2033は、指示に応じ、ユーザから選択されたテスト区分に対して適したテスト観点及び確認項目を第1学習済みモデル2025から出力させる。提示制御部193は、選択されたテスト区分について出力されたテスト観点及び確認項目に係るテキスト情報を、表示領域1415に表示する。
【0113】
ステップS17において、端末装置10は、テスト観点及び確認項目の選択を受け付ける。具体的には、例えば、ディスプレイ141は、サーバ20から提供されたテスト観点及び確認項目を表示している。ユーザは、表示されているテスト観点及び確認項目から、因子及び水準を確認したいテスト観点及び確認項目を選択する。ユーザは、選択したテスト観点及び確認項目に対応した因子及び水準を出力させるための指示を端末装置10に入力する。送受信部192は、選択されたテスト観点及び確認項目に関する情報と、因子及び水準を出力させる指示とをサーバ20へ送信する。
【0114】
ステップS18において、サーバ20は、ユーザから指定された仕様書データ、ユーザから選択されたテスト区分、テスト観点、確認項目に基づき、これらの情報に適した因子及び水準を取得する。具体的には、例えば、作成支援モジュール2033は、仕様書データ、テスト区分、テスト観点、確認項目に適した因子及び水準を出力させるための指示文をプロンプトテーブル2023から読み出す。作成支援モジュール2033は、ユーザから指定された仕様書データ、ユーザから選択されたテスト区分、テスト観点、確認項目に関する情報と、読み出した指示文とをLLMシステム30へ出力する。LLMシステム30は、サーバ20から送信された仕様書データ、テスト区分、テスト観点、確認項目に関する情報、及び指示文をLLMに入力し、選択されたテスト観点及び確認項目に適した因子及び水準を、LLMから出力させる。このとき、LLMは、例えば、因子を表すテキスト情報と、水準を表すテキスト情報とを出力する。LLMは、水準に対して備考を出力してもよい。LLMシステム30は、LLMから出力された情報をサーバ20へ送信する。
【0115】
提示制御モジュール2034は、LLMシステム30から送信された因子及び水準を含む、テスト設計書を作成するための画面を端末装置10に表示させる。つまり、例えば、送信制御モジュール2032は、LLMシステム30から送信された因子及び水準を含む、テスト設計書の作成画面を表示するための情報を端末装置10へ送信する。
【0116】
ステップS19において、端末装置10は、LLMシステム30から送信された因子及び水準を含むテスト設計書の作成画面をユーザに表示する。
【0117】
図14は、ディスプレイ141に表示されるテスト設計書の作成画面のその他の例を表す模式図である。
図14に示される作成画面は、操作オブジェクト1416、表示領域1417を含む。
【0118】
操作オブジェクト1416は、因子及び水準の提案を要求する指示を入力するためのオブジェクトである。
【0119】
表示領域1417は、選択されたテスト観点及び確認項目についての因子及び水準が表示される領域である。
図14では、提示制御部193は、テスト観点:「表示/非表示」、確認項目:「パターン通りに文言が表示されること」についての因子及び水準を表示領域1417に表示している。
【0120】
図14に示す作成画面において、ユーザは、因子及び水準を所望するテスト観点及び確認項目を選択し、操作オブジェクト1416を押下する。そうすると、端末装置10は、因子及び水準の提案を要求する指示をサーバ20へ送信する。作成支援モジュール2033は、指示に応じ、ユーザから指定された仕様書データ、ユーザから選択されたテスト区分、テスト観点、及び確認項目に対して適した因子及び水準をLLMシステム30から出力させる。提示制御部193は、LLMシステム30から出力された因子及び水準に係るテキスト情報を、表示領域1417に表示する。
【0121】
ステップS110において、端末装置10は、テストパターンの作成指示を受け付ける。具体的には、例えば、ディスプレイ141は、ユーザからの指示に応じ、サーバ20から提供された因子及び水準に基づきパターン表を作成する画面を表示する。ユーザは、作成画面に表示される、テストパターンを作成するルールを選択する。テストパターンを作成するルールは、例えば、「二因子間網羅」、「全網羅」、「制約+全網羅」等である。送受信部192は、ルールが選択されると、因子及び水準に関する情報、選択されたルールに関する情報、及びテストパターンを作成させる指示をサーバ20へ送信する。
【0122】
ステップS111において、サーバ20は、選択されたルールに基づき、因子及び水準からテストパターンを作成する。具体的には、例えば、作成支援モジュール2033は、因子及び水準に、選択されたルールを適用し、テストパターンを作成する。このとき、作成支援モジュール2033は、例えば、因子及び水準を行とする複数列のマトリクスに、選択されたルールに則って所定の印を拡充する。提示制御モジュール2034は、作成したテストパターンを含む、テスト設計書を作成するための画面を端末装置10に表示させる。つまり、例えば、送信制御モジュール2032は、作成したテストパターンを含む、テスト設計書の作成画面を表示するための情報を端末装置10へ送信する。
【0123】
ステップS112において、端末装置10は、テストパターンを含むテスト設計書の作成画面をユーザに表示する。
【0124】
図15は、ディスプレイ141に表示されるテスト設計書の作成画面のその他の例を表す模式図である。
図15に示される作成画面は、操作オブジェクト1418、表示領域1419を含む。
【0125】
操作オブジェクト1418は、テストパターンを作成するルールを選択するためのオブジェクトである。
図15では、「二因子間網羅」がルールとして選択されている。
【0126】
表示領域1419は、作成されたテストパターンが表示される領域である。
図15では、提示制御部193は、「丸」が格納されたマトリクスをテストパターンとして表示領域1419に表示している。
【0127】
図15に示す作成画面において、ユーザは、テストパターンを作成するルールを選択する操作オブジェクト1418を押下する。そうすると、端末装置10は、テストパターンの作成を要求する指示をサーバ20へ送信する。作成支援モジュール2033は、指示に応じ、選択されたルールに応じ、テストパターンを作成する。提示制御部193は、作成されたテストパターンを、表示領域1419に表示する。
【0128】
ステップS113において、端末装置10は、期待値の作成指示を受け付ける。具体的には、例えば、ディスプレイ141は、サーバ20から提供された因子及び水準、及びサーバ20で作成されたテストパターンを表示している。ユーザは、テストパターンにより規定されるケースに対応した期待値を出力させるための指示を端末装置10に入力する。送受信部192は、テストパターンにより規定されるケースに関する情報と、期待値を出力させる指示とをサーバ20へ送信する。
【0129】
ステップS114において、サーバ20は、ユーザにより指定された仕様書データ、ユーザにより選択されたテスト区分、テスト観点、確認項目、ケースに基づき、選択されたケースに対して適当な期待値を出力する。具体的には、例えば、作成支援モジュール2033は、仕様書データ、テスト区分、テスト観点、確認項目、テストパターンに適した期待値を出力させるための指示文をプロンプトテーブル2023から読み出す。作成支援モジュール2033は、ユーザにより指定された仕様書データ、ユーザにより選択されたテスト区分、テスト観点、確認項目、テストパターンにより規定されるケースと、読み出した指示文とを第2学習済みモデル2026に入力し、入力した情報に適した期待値を、第2学習済みモデル2026から出力させる。このとき、第2学習済みモデル2026は、例えば、期待値に係るテキスト情報を出力する。
【0130】
提示制御モジュール2034は、第2学習済みモデル2026から出力された期待値を含む、テスト設計書を作成するための画面を端末装置10に表示させる。つまり、例えば、送信制御モジュール2032は、第2学習済みモデル2026から出力された期待値を含む、テスト設計書の作成画面を表示するための情報を端末装置10へ送信する。
【0131】
ステップS115において、端末装置10は、出力された期待値を含むテスト設計書の作成画面をユーザに表示する。
【0132】
図16は、ディスプレイ141に表示されるテスト設計書の作成画面のその他の例を表す模式図である。
図16に示される作成画面は、操作オブジェクト14110、表示領域14111、表示領域14112を含む。
【0133】
操作オブジェクト14110は、期待値の提案を要求する指示を入力するためのオブジェクトである。
【0134】
表示領域14111は、期待値を作成する対象となるケースが表示される領域である。
図16では、提示制御部193は、因子及び水準を行とし、各ケースを列とするマトリクスを、期待値を作成する対象として表示領域14111に表示している。
図16では、提示制御部193は、例えば、テストパターンの第1ケースとして、因子:「商品種別」、水準:「通常商品のみ」について、因子:「商品合計金額」、水準:「2000円未満」である場合をマトリクスで表している。
【0135】
表示領域14112は、期待値と、期待値を作成したケースが表示される領域である。
図16では、提示制御部193は、期待値の作成対象を表す黒丸と、作成された期待値とを表示領域14112に表示している。
図16では、提示制御部193は、例えば、第1ケースについて作成した期待値を表しているが、その他のケースの期待値も一括で作成されてもよい。
【0136】
図16に示す作成画面において、ユーザは、表示領域14112において、操作オブジェクト14110を押下する。そうすると、端末装置10は、期待値の提案を要求する指示をサーバ20へ送信する。作成支援モジュール2033は、指示に応じ、テストパターンにより規定されるケースについての期待値を第2学習済みモデル2026から出力させる。提示制御部193は、出力された期待値に係るテキスト情報を、表示領域14112に表示する。
【0137】
以上のように、上記実施形態では、作成支援モジュール2033は、仕様書データに仕様が記載される機能についてのテストのテスト区分を出力するように学習されたLLMシステム30のLLM(請求項に係る第1学習済みモデル)に仕様書データを入力し、LLMシステム30のLLMからテスト区分を出力させる。作成支援モジュール2033は、テスト区分に対応付けられるテスト観点、及びテスト観点毎に対応付けられている確認項目を出力するように学習された第1学習済みモデル2025(請求項に係る第2学習済みモデル)に、LLMシステム30のLLMから出力されたテスト区分を入力し、第1学習済みモデル2025からテスト観点、及び確認項目を出力させる。作成支援モジュール2033は、仕様書、テスト区分、テスト観点、及び確認項目に対して設定され得る因子・水準を出力するように学習されたLLMシステム30のLLM(請求項に係る第3学習済みモデル)に、LLMシステム30のLLMに入力された仕様書データ、LLMシステム30のLLMから出力されたテスト区分、第1学習済みモデル2025から出力されたテスト観点及び確認項目を入力し、因子・水準を出力させる。作成支援モジュール2033は、仕様書、テスト区分、テスト観点、確認項目により規定されるテストケースにおいて発現が期待される期待値を出力するように学習された第2学習済みモデル2026(請求項に係る第4学習済みモデル)に、LLMシステム30のLLMに入力された仕様書データ、LLMシステム30のLLMから出力されたテスト区分、第1学習済みモデル2025から出力されたテスト観点及び確認項目を入力し、期待値を出力させる。これにより、テストケースを作成する際にテストエンジニアが設定しなければならない項目の候補が自動的にテストエンジニアに提示される。
【0138】
したがって、上記実施形態によれば、テストエンジニアがテストケースを作成する労力が軽減されることになる。また、複数のテストケースにより構成されるテスト設計書を作成する労力が軽減されることになる。
【0139】
また、テストエンジニアがテストケースを作成する時間を短縮することが可能となる。また、複数のテストケースにより構成されるテスト設計書を作成する時間を短縮することが可能となる。
【0140】
また、テスト設計書は、テストエンジニアのスキルによってクオリティに違いが出る。上記実施形態によれば、過去に作成されたテスト設計書に基づいてテスト区分、テスト観点、確認項目、因子・水準、期待値等が出力される。つまり、過去に作成されたクオリティの高いテスト設計書に含まれるテスト区分、テスト観点、確認項目、因子・水準、期待値等から、指定される仕様書に適した情報が出力される。このため、経験の浅いテストエンジニアであったとしても必要なテストケースを規定でき、また、テストケースの抜け漏れを防ぐことが可能となる。
【0141】
また、上記実施形態では、第2学習済みモデル2026は、仕様書、テスト区分、テスト観点、確認項目、因子・水準により規定されるテストケースにおいて発現が期待される期待値を出力するように学習されている。作成支援モジュール2033は、第2学習済みモデル2026に、LLMシステム30のLLMに入力された仕様書データ、LLMシステム30のLLMから出力されたテスト区分、第1学習済みモデル2025から出力されたテスト観点及び確認項目、LLMシステム30のLLMから出力された因子・水準を入力し、第2学習済みモデル2026から期待値を出力させる。これにより、作成支援モジュール2033は、テストケースがパターン表により規定されている場合であっても、テストケース毎に期待値を出力することが可能となる。
【0142】
また、上記実施形態では、第1学習済みモデル2025は大規模言語モデルに、過去のデバッグ処理において蓄積された情報を用いた追加学習を施したモデルである。作成支援モジュール2033は、大規模言語モデルに、テスト区分と、テスト区分に対応したテスト観点及び確認項目を出力させるための指示文とを入力し、大規模言語モデルからテスト観点及び確認項目を出力させる。これにより、テスト情報テーブル2024に蓄積されるナレッジを活用し、テスト区分に対応したテスト観点及び確認項目を高精度に出力することが可能となる。
【0143】
また、上記実施形態では、第2学習済みモデル2026は、大規模言語モデルに、過去のデバッグ処理において蓄積された情報を用いた追加学習を施したモデルである。作成支援モジュール2033は、大規模言語モデルに、LLMシステム30のLLMに入力された仕様書データ、LLMシステム30のLLMから出力されたテスト区分、第1学習済みモデル2025から出力されたテスト観点及び確認項目と、当該情報に基づいて発現が期待される期待値を出力させるための指示文とを入力し、大規模言語モデルから期待値を出力させる。これにより、テスト情報テーブル2024に蓄積されるナレッジを活用し、仕様書、テスト観点、確認項目から発現が期待される期待値を高精度に出力することが可能となる。
【0144】
また、上記実施形態では、第2学習済みモデル2026は、大規模言語モデルに、過去のデバッグ処理において蓄積された情報を用いた追加学習を施したモデルであり、大規模言語モデルに、LLMシステム30のLLMに入力された仕様書データ、LLMシステム30のLLMから出力されたテスト区分、第1学習済みモデル2025から出力されたテスト観点及び確認項目、LLMシステム30のLLMから出力された因子・水準と、当該情報に基づいて発現が期待される期待値を出力させるための指示文とを入力し、大規模言語モデルから期待値を出力させる。これにより、テストケースがパターン表により規定されている場合であっても、テスト情報テーブル2024に蓄積されるナレッジを活用し、仕様書、テスト観点、確認項目から発現が期待される期待値を高精度に出力することが可能となる。
【0145】
また、上記実施形態では、作成支援モジュール2033は、LLMシステム30のLLMから出力させたテスト区分に基づき、第1学習済みモデル2025に入力する情報についてユーザからの選択、修正、又は追加を受け付ける。作成支援モジュール2033は、第1学習済みモデル2025から出力させたテスト観点及び確認項目に基づき、LLMシステム30のLLMに入力する情報についてのユーザからの選択、修正、又は追加を受け付ける。作成支援モジュール2033は、LLMシステム30のLLMから出力させた因子・水準に基づき、第2学習済みモデル2026に入力する情報についてのユーザからの選択、修正、又は追加を受け付けるこれにより、ユーザは、サーバ20から提示される情報を確認し、必要な情報を選択、修正、追加しながら最適なテストケースを作成することが可能となる。このため、クオリティの高いテスト設計書を作成することが可能となる。
【0146】
<変形例>
上記実施形態では、学習済みモデルにより出力された情報がユーザにより選択されることでテストケースが作成される場合を例に説明した。しかしながら、学習済みモデルにより出力された情報を必ずしもそのまま採用しなくてもよい。例えば、ユーザは、学習済みモデルから出力された情報を修正してもよい。つまり、ユーザは、LLMシステム30から出力されるテスト区分を修正して採用してもよい。また、ユーザは、新たにテスト区分を追加し、追加したテスト区分を採用してもよい。また、ユーザは、第1学習済みモデル2025から出力されるテスト観点及び確認項目を修正して採用してもよい。また、ユーザは、新たにテスト観点及び確認項目を追加し、追加したテスト観点及び確認項目を採用してもよい。また、ユーザは、LLM2027から出力される因子・水準を修正して採用してもよい。また、ユーザは、新たに因子・水準を追加し、追加した因子・水準を採用してもよい。また、ユーザは、因子・水準に基づいて作成されるテストパターンを修正してもよい。また、ユーザは、新たにテストパターンを追加し、追加したテストパターンを採用してもよい。また、ユーザは、第2学習済みモデル2026から出力される期待値を修正して採用してもよい。また、ユーザは、新たに期待値を作成し、作成した期待値を採用してもよい。
【0147】
また、上記実施形態では、入力が想定されている種別の情報を学習済みモデルに入力し、学習済みモデルに所定の情報を出力させる場合を説明している。しかしながら、学習済みモデルに入力される情報は、出力が想定される情報の一部であってもよい。つまり、ユーザが所定の要素の作成の一部を担い、残りを学習済みモデルに実施させてもよい。
【0148】
例えば、テスト区分を設定する際において、ユーザが上層のテスト区分、例えば、テスト区分、区分1を作成し、下層のテスト区分を出力するようにサーバ20に指示を出す。作成支援モジュール2033は、仕様書データ、ユーザが作成したテスト区分と、下層のテスト区分を出力させるための指示文とをLLMシステム30へ出力する。LLMシステム30は、LLMに下層のテスト区分を出力させ、出力された情報をサーバ20へ送信する。
【0149】
また、例えば、テスト観点及び確認項目を設定する際において、ユーザがテスト観点及び確認項目を少なくとも1つ作成し、他のテスト観点及び確認項目を出力するようにサーバ20に指示を出す。作成支援モジュール2033は、テスト区分、ユーザが作成したテスト観点及び確認項目と、他のテスト観点及び確認項目を出力させるための指示文とを第1学習済みモデル2025へ出力する。第1学習済みモデル2025は、他のテスト観点及び確認項目を出力する。
【0150】
また、例えば、因子、水準を設定する際において、ユーザが因子、水準を少なくとも1つ作成し、他の因子、水準を出力するようにサーバ20に指示を出す。作成支援モジュール2033は、仕様書データ、テスト区分、テスト観点、確認項目、ユーザが作成した因子、水準、及びこれらの情報に基づいて適当な他の因子、水準を出力させるための指示文をLLMシステム30へ出力する。LLMシステム30は、LLMに因子、水準を出力させ、出力された情報をサーバ20へ送信する。
【0151】
また、例えば、期待値を設定する際において、ユーザが期待値を少なくとも1つ作成し、他の期待値を出力するようにサーバ20に指示を出す。作成支援モジュール2033は、仕様書データ、テスト区分、テスト観点、確認項目、テストパターン、ユーザにより作成された期待値と、これらの情報に対して適した他の期待値を出力させるための指示文とを第2学習済みモデル2026へ出力する。第2学習済みモデル2026は、他のテスト観点及び確認項目を出力する。
【0152】
また、上記実施形態では、LLMシステム30に、テスト区分、及び因子・水準を出力させるようにしている。しかしながら、テスト区分、及び因子・水準は、LLMシステム30からでなく、第1学習済みモデル2025、及び第2学習済みモデル2026のように、LLMに追加学習を施したものであってもよい。追加学習では、例えば、タスク毎の正解を教える、いわゆるファインチューニングを行うことで、テスト設計書の作成に特化させる。具体的には、例えば、仕様書に対して適したテスト区分を正解としてトレーニングすることで、仕様書データ、及び仕様書データに適したテスト区分を出力させるための指示文(プロンプト)の入力に対し、入力された仕様書データに適したテスト区分が出力されることになる。また、例えば、仕様書データ、テスト区分、テスト観点、確認項目に対応した因子、水準を正解としてトレーニングすることで、仕様書データ、テスト区分、テスト観点、確認項目、及びこれらの情報に対応した因子・水準を出力させるための指示文の入力に対し、入力された情報に適した因子、水準が出力されることになる。
【0153】
また、上記実施形態では、学習済みモデルへ種々の情報が入力される場合を説明した。しかしながら、学習済みモデルへ入力される情報は上記に必ずしも限定されない。例えば、上記実施形態では、テスト観点と共に確認項目が学習済みモデルへ入力された。しかしながら、確認項目が学習用データに含まれていない場合には、確認項目は必ずしも学習済みモデルへ入力されなくても構わない。
【0154】
また、上記実施形態では、例えば、作成支援モジュール2033は、第1学習済みモデル2025から出力されるテスト観点及び確認項目のうち、設定されることがもっともらしいテスト観点及び確認項目を出力するようにしている。しかしながら、第1学習済みモデル2025から出力されるテスト観点及び確認項目は、設定されることがもっともらしいテスト観点及び確認項目に限定されない。例えば、テスト情報テーブル2024に、設定したテスト観点及び確認項目について実施したテストの結果を記憶する。そして、第1学習済みモデル2025をトレーニングするための学習用データとして、例えば、テスト情報テーブル2024に記憶されるテスト区分を入力データとし、入力したテスト区分と対応する、テスト情報テーブル2024に記憶されるテスト観点、確認項目、及びテスト結果としての不具合に関する情報を正解出力データとする。これにより、第1学習済みモデル2025は、入力されるテスト区分に対し、適すると推定されるテスト観点、及び当該テスト観点に対応付けられている少なくとも1つの確認項目と、不具合に関する情報とが出力されるようになる。このため、多くの不具合が発生し得るテスト観点及び確認項目を識別可能となり、テスト効率が向上することになる。なお、第1学習済みモデル2025は、入力されるテスト区分に対し、適すると推定されるテスト観点、及び当該テスト観点に対応付けられている少なくとも1つの確認項目のうち、多くの不具合が発生し得るテスト観点及び確認項目を優先的に出力するようにしてもよい。
【0155】
また、第1学習済みモデル2025は、入力されるテスト区分に対し、適すると推定されるテスト観点、及び当該テスト観点に対応付けられている少なくとも1つの確認項目を出力すると共に、出力したテスト観点についての不具合発生率を表す指標値を出力するように学習されていてもよい。また、第1学習済みモデル2025は、テスト観点、及び確認項目を出力すると共に、出力したテスト観点、及び確認項目についての不具合発生率を表す指標値を出力するように学習されていてもよい。
【0156】
また、上記実施形態では、学習済みモデルが出力した提案に対し、ユーザは選択、修正、追加を行うことが可能である。作成支援モジュール2033は、例えば、テスト情報テーブル2024に、ユーザによる修正、又は追加を経て設定された項目を記憶する。また、作成支援モジュール2033は、例えば、テスト情報テーブル2024に、学習済みモデルから提案されてユーザに選択された項目を記憶する。サーバ20は、学習済みモデルのファインチューニングをする際、項目が採用された経緯(選択された項目か、修正された項目か、追加された項目か)を学習用データに含める。これにより、学習済みモデルは、ユーザが作成した内容を優先して出力するようになり、ユーザが所望する情報を高精度に出力することが可能となる。
【0157】
また、上記実施形態では、テスト観点及び確認項目を提案させる際、第1学習済みモデル2025にテスト区分が入力される場合を例に説明した。しかしながら、仕様書データが学習用データに含まれている場合には、第1学習済みモデル2025へはテスト区分に加え、仕様書データが入力されてもよい。
【0158】
また、上記実施形態では、サーバ20がプロンプトテーブル2023を有する場合を例に説明した。しかしながら、サーバ20は、必ずしもプロンプトテーブル2023を有していなくてもよい。例えば、サーバ20は、所定の連携モジュールを有し、連携モジュールにプロンプトのひな型が含まれていてもよい。連携モジュールは、例えば、API(Application Programming Interface)である。なお、連携モジュールは、サーバ20内に設けられず、サーバ20とは異なるサーバに設けられていてもよい。
【0159】
具体的には、例えば、ステップS12において、作成支援モジュール2033は、ユーザにより指定された仕様書データに関する情報を連携モジュールに出力する。連携モジュールは、ひな形として有している情報と、仕様書データに関する情報とを組み合わせることで指示文を作成する。連携モジュールは、ユーザにより指定された仕様書データに関する情報と、作成した指示文とをLLMシステム30へ出力する。
【0160】
また、例えば、ステップS15において、作成支援モジュール2033は、ユーザにより選択されたテスト区分に関する情報を連携モジュールに出力する。連携モジュールは、ひな形として有している情報と、テスト区分に関する情報とを組み合わせることで指示文を作成する。連携モジュールは、ユーザにより選択されたテスト区分に関する情報と、作成した指示文とを第1学習済みモデル2025に入力し、第1学習済みモデル2025からテスト区分に適したテスト観点及び確認項目を出力させる。
【0161】
また、例えば、ステップS18において、作成支援モジュール2033は、ユーザから指定された仕様書データ、ユーザから選択されたテスト区分、テスト観点、確認項目に関する情報を連携モジュールに出力する。連携モジュールは、ひな形として有している情報と、仕様書データ、テスト区分、テスト観点、確認項目に関する情報とを組み合わせることで指示文を作成する。連携モジュールは、ユーザから指定された仕様書データ、ユーザから選択されたテスト区分、テスト観点、確認項目に関する情報と、作成した指示文とをLLMシステム30へ出力する。
【0162】
また、例えば、ステップS114において、サーバ20は、ユーザにより指定された仕様書データ、ユーザにより選択されたテスト区分、テスト観点、確認項目、ケースに基づき、選択されたケースに対して適当な期待値を出力する。具体的には、例えば、作成支援モジュール2033は、ユーザにより指定された仕様書データ、ユーザにより選択されたテスト区分、テスト観点、確認項目、テストパターンにより規定されるケースを連携モジュールに出力する。連携モジュールは、ひな形として有している情報と、ユーザにより指定された仕様書データ、ユーザにより選択されたテスト区分、テスト観点、確認項目、テストパターンにより規定されるケースとを組み合わせることで指示文を作成する。連携モジュールは、ユーザにより指定された仕様書データ、ユーザにより選択されたテスト区分、テスト観点、確認項目、テストパターンにより規定されるケースと、作成した指示文とを第2学習済みモデル2026に入力し、入力した情報に適した期待値を、第2学習済みモデル2026から出力させる。
【0163】
また、上記実施形態では、LLMシステム30のLLMがテスト区分を出力し、また、因子及び水準を出力するようにしているが、これに限定されない。テスト区分を出力するLLMと、因子及び水準を出力するLLMとが異なるLLMであっても構わない。
【0164】
また、上記実施形態では、複数の学習済みモデルがLLMである場合を例に説明している。しかしながら、本実施形態に係る複数の学習済みモデルがLLMでない学習済みモデルであっても構わない。
【0165】
また、上記実施形態では、作成支援モジュール2033をサーバ20が備える態様の一例について説明したが、この形態に限定されることはなく、作成支援モジュール2033の機能を端末装置10が備える構成としてもよい。このとき、例えば、記憶部202に記憶されている情報の一部又はすべてが端末装置10に記憶されていてもよい。
【0166】
<4 コンピュータの基本ハードウェア構成>
図17は、コンピュータ90の基本的なハードウェア構成を示すブロック図である。コンピュータ90は、プロセッサ91、主記憶装置92、補助記憶装置93、通信IF99(インタフェース、Interface)を少なくとも備える。これらはバスにより相互に電気的に接続される。
【0167】
プロセッサ91とは、プログラムに記述された命令セットを実行するためのハードウェアである。プロセッサ91は、演算装置、レジスタ、周辺回路等から構成される。
【0168】
主記憶装置92とは、プログラム、及びプログラム等で処理されるデータ等を一時的に記憶するためのものである。例えば、DRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0169】
補助記憶装置93とは、データ及びプログラムを保存するための記憶装置である。例えば、フラッシュメモリ、HDD(Hard Disc Drive)、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等である。
【0170】
通信IF99とは、有線又は無線の通信規格を用いて、他のコンピュータとネットワークを介して通信するための信号を入出力するためのインタフェースである。
ネットワークは、インターネット、LAN、無線基地局等によって構築される各種移動通信システム等で構成される。例えば、ネットワークには、3G、4G、5G移動通信システム、LTE(Long Term Evolution)、所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が含まれる。無線で接続する場合、通信プロトコルとして例えば、Z-Wave(登録商標)、ZigBee(登録商標)、Bluetooth(登録商標)等が含まれる。有線で接続する場合は、ネットワークには、USB(Universal Serial Bus)ケーブル等により直接接続するものも含む。
【0171】
なお、各ハードウェア構成の全部または一部を複数のコンピュータ90に分散して設け、ネットワークを介して相互に接続することによりコンピュータ90を仮想的に実現することができる。このように、コンピュータ90は、単一の筐体、ケースに収納されたコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0172】
<コンピュータ90の基本機能構成>
図17に示すコンピュータ90の基本ハードウェア構成により実現されるコンピュータの機能構成を説明する。コンピュータは、制御部、記憶部、通信部の機能ユニットを少なくとも備える。
【0173】
なお、コンピュータ90が備える機能ユニットは、それぞれの機能ユニットの全部または一部を、ネットワークで相互に接続された複数のコンピュータ90に分散して設けても実現することができる。コンピュータ90は、単一のコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0174】
制御部は、プロセッサ91が補助記憶装置93に記憶された各種プログラムを読み出して主記憶装置92に展開し、当該プログラムに従って処理を実行することにより実現される。制御部は、プログラムの種類に応じて様々な情報処理を行う機能ユニットを実現することができる。これにより、コンピュータは情報処理を行う情報処理装置として実現される。
【0175】
記憶部は、主記憶装置92、補助記憶装置93により実現される。記憶部は、データ、各種プログラム、各種データベースを記憶する。また、プロセッサ91は、プログラムに従って記憶部に対応する記憶領域を主記憶装置92または補助記憶装置93に確保することができる。また、制御部は、各種プログラムに従ってプロセッサ91に、記憶部に記憶されたデータの追加、更新、削除処理を実行させることができる。
【0176】
データベースは、リレーショナルデータベースを指し、行と列によって構造的に規定された表形式のテーブルと呼ばれるデータ集合を、互いに関連づけて管理するためのものである。データベースでは、表をテーブル、表の列をカラム、表の行をレコードと呼ぶ。リレーショナルデータベースでは、テーブル同士の関係を設定し、関連づけることができる。
通常、各テーブルにはレコードを一意に特定するためのキーとなるカラムが設定されるが、カラムへのキーの設定は必須ではない。制御部は、各種プログラムに従ってプロセッサ91に、記憶部に記憶された特定のテーブルにレコードを追加、削除、更新を実行させることができる。
【0177】
通信部は、通信IF99により実現される。通信部は、ネットワークを介して他のコンピュータ90と通信を行う機能を実現する。通信部は、他のコンピュータ90から送信された情報を受信し、制御部へ入力することができる。制御部は、各種プログラムに従ってプロセッサ91に、受信した情報に対する情報処理を実行させることができる。また、通信部は、制御部から出力された情報を他のコンピュータ90へ送信することができる。
【0178】
本明細書中に記載されている構成要素により実現される機能は、当該記載された機能を実現するようにプログラムされた、汎用プロセッサ、特定用途プロセッサ、集積回路、ASICs (Application Specific Integrated Circuits)、CPU (a Central Processing Unit)、従来型の回路、および/又はそれらの組合せを含む、circuitry又はprocessing circuitryにおいて実装されてもよい。プロセッサは、トランジスタやその他の回路を含み、circuitry又はprocessing circuitryとみなされる。プロセッサは、メモリに格納されたプログラムを実行する、programmed processorであってもよい。
本明細書において、circuitry、ユニット、手段は、記載された機能を実現するようにプログラムされたハードウェア、又は実行するハードウェアである。当該ハードウェアは、本明細書に開示されているあらゆるハードウェア、又は、当該記載された機能を実現するようにプログラムされた、又は、実行するものとして知られているあらゆるハードウェアであってもよい。
当該ハードウェアがcircuitryのタイプであるとみなされるプロセッサである場合、当該circuitry、手段、又はユニットは、ハードウェアと、当該ハードウェア及び又はプロセッサを構成する為に用いられるソフトウェアの組合せである。
【0179】
以上、本開示のいくつかの実施形態を説明したが、これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。
【0180】
<付記>
以上の各実施形態で説明した事項を以下に付記する。
(付記1)
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、プログラムは、プロセッサに、仕様書データに仕様が記載される機能についてのテストのテスト区分を出力するように学習された第1学習済みモデルに仕様書データを入力し、第1学習済みモデルからテスト区分を出力させるステップと、テスト区分に対応付けられるテスト観点、及びテスト観点毎に対応付けられている確認項目を出力するように学習された第2学習済みモデルに、第1学習済みモデルから出力された前記テスト区分を入力し、第2学習済みモデルからテスト観点、及び確認項目を出力させるステップと、仕様書、テスト区分、テスト観点、及び確認項目に対して設定され得る因子・水準を出力するように学習された第3学習済みモデルに、第1学習済みモデルに入力された仕様書データ、第1学習済みモデルから出力されたテスト区分、第2学習済みモデルから出力されたテスト観点及び確認項目を入力し、第3学習済みモデルから因子・水準を出力させるステップと、仕様書、テスト区分、テスト観点、確認項目により規定されるテストケースにおいて発現が期待される期待値を出力するように学習された第4学習済みモデルに、第1学習済みモデルに入力された仕様書データ、第1学習済みモデルから出力されたテスト区分、第2学習済みモデルから出力されたテスト観点及び確認項目を入力し、第4学習済みモデルから期待値を出力させるステップとを実行させるプログラム。
(付記2)
期待値を出力させるステップにおいて、第4学習済みモデルは、仕様書、テスト区分、テスト観点、確認項目、因子・水準により規定されるテストケースにおいて発現が期待される期待値を出力するように学習されており、当該第4学習済みモデルに、第1学習済みモデルに入力された仕様書データ、第1学習済みモデルから出力されたテスト区分、第2学習済みモデルから出力されたテスト観点及び確認項目、第3学習済みモデルから出力された因子・水準を入力し、第4学習済みモデルから期待値を出力させる(付記1)に記載のプログラム。
(付記3)
テスト観点及び確認項目を出力させるステップにおいて、第2学習済みモデルは大規模言語モデルに、過去のデバッグ処理において蓄積された情報を用いた追加学習を施したモデルであり、大規模言語モデルに、テスト区分と、テスト区分に対応したテスト観点及び確認項目を出力させるための指示文とを入力し、大規模言語モデルからテスト観点及び確認項目を出力させる(付記1)に記載のプログラム。
(付記4)
期待値を出力させるステップにおいて、第4学習済みモデルは大規模言語モデルに、過去のデバッグ処理において蓄積された情報を用いた追加学習を施したモデルであり、大規模言語モデルに、第1学習済みモデルに入力された仕様書データ、第1学習済みモデルから出力されたテスト区分、第2学習済みモデルから出力されたテスト観点及び確認項目と、当該情報に基づいて発現が期待される期待値を出力させるための指示文とを入力し、大規模言語モデルから期待値を出力させる(付記3)に記載のプログラム。
(付記5)
テスト観点及び確認項目を出力させるステップにおいて、第2学習済みモデルは大規模言語モデルに、過去のデバッグ処理において蓄積された情報を用いた追加学習を施したモデルであり、大規模言語モデルに、テスト区分と、テスト区分に対応したテスト観点及び確認項目を出力させるための指示文とを入力し、大規模言語モデルからテスト観点及び確認項目を出力させる(付記2)に記載のプログラム。
(付記6)
期待値を出力させるステップにおいて、第4学習済みモデルは大規模言語モデルに、過去のデバッグ処理において蓄積された情報を用いた追加学習を施したモデルであり、大規模言語モデルに、第1学習済みモデルに入力された仕様書データ、第1学習済みモデルから出力されたテスト区分、第2学習済みモデルから出力されたテスト観点及び確認項目、第3学習済みモデルから出力された因子・水準と、当該情報に基づいて発現が期待される期待値を出力させるための指示文とを入力し、大規模言語モデルから期待値を出力させる(付記5)に記載のプログラム。
(付記7)
第1学習済みモデルから出力させたテスト区分に基づき、第2学習済みモデルに入力する情報についてユーザからの選択、修正、又は追加を受け付けるステップと、第2学習済みモデルから出力させたテスト観点及び確認項目に基づき、第3学習済みモデルに入力する情報についてのユーザからの選択、修正、又は追加を受け付けるステップと、第3学習済みモデルから出力させた因子・水準に基づき、第4学習済みモデルに入力する情報についてのユーザからの選択、修正、又は追加を受け付けるステップとをプロセッサに実行させる(付記1)から(付記6)のいずれかに記載のプログラム。
(付記8)
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、プロセッサが、(付記1)から(付記7)のいずれかに係る発明において実行される全てのステップを実行する方法。
(付記9)
プロセッサと、メモリとを情報処理装置であって、プロセッサが、(付記1)から(付記7)のいずれかに係る発明において実行される全てのステップを実行する情報処理装置。
(付記10)
(付記1)から(付記7)のいずれかに係る発明において実行される全てのステップを実行する手段を備えるシステム。
【符号の説明】
【0181】
1…システム
10…端末装置
120…通信部
13…入力装置
131…タッチ・センシティブ・デバイス
14…出力装置
15…メモリ
16…ストレージ
19…プロセッサ
20…サーバ
22…通信IF
23…入出力IF
25…メモリ
26…ストレージ
29…プロセッサ
【要約】
【課題】テストケースを作成する労力を軽減する。
【解決手段】プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムである。プログラムは、プロセッサに、第1学習済みモデルに仕様書データを入力し、第1学習済みモデルからテスト区分を出力させるステップと、第2学習済みモデルに、テスト区分を入力し、第2学習済みモデルからテスト観点、及び確認項目を出力させるステップと、第3学習済みモデルに、仕様書データ、テスト区分、テスト観点、確認項目を入力し、第3学習済みモデルから因子・水準を出力させるステップと、第4学習済みモデルに、仕様書データ、テスト区分、テスト観点、確認項目を入力し、第4学習済みモデルから期待値を出力させるステップとを実行させる。
【選択図】
図10