(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024081110
(43)【公開日】2024-06-17
(54)【発明の名称】プログラム、方法、情報処理装置、及びシステム
(51)【国際特許分類】
G06F 11/36 20060101AFI20240610BHJP
【FI】
G06F11/36 188
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2023136869
(22)【出願日】2023-08-25
(62)【分割の表示】P 2022194349の分割
【原出願日】2022-12-05
(71)【出願人】
【識別番号】507179553
【氏名又は名称】株式会社SHIFT
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】丹下 大
(72)【発明者】
【氏名】小林 元也
(72)【発明者】
【氏名】石井 達也
(72)【発明者】
【氏名】池ノ上 倫士
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042HH17
5B042HH19
5B042HH49
(57)【要約】
【課題】テストの品質を維持したまま、テスト設計の負担を軽減する。
【解決手段】本開示のプログラムは、プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムである。プログラムは、プロセッサに、テスト設計書の指定を受け付けるステップと、指定を受け付けたテスト設計書において、所定の機能に含まれる複数のテスト項目のうち、少なくともいずれかのテスト項目に対する指定を受け付けるステップと、指定されたテスト項目のテストを実施するための情報をテストセットとして、任意のユーザがアクセス可能に記憶するステップと、任意のユーザからの要求に応じ、記憶するテストセットを読み出し、読み出したテストセットを、任意のユーザが作成しているテスト設計書の所定領域に挿入するステップとを実行させる。
【選択図】
図4
【特許請求の範囲】
【請求項1】
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、前記プログラムは、前記プロセッサに、
テスト設計書の指定を受け付けるステップと、
指定を受け付けた前記テスト設計書において、所定の機能に含まれる複数のテスト項目のうち、少なくともいずれかのテスト項目に対する指定を受け付けるステップと、
指定された前記テスト項目のテストを実施するための情報をテストセットとして、任意のユーザがアクセス可能に記憶するステップと、
任意の前記ユーザからの要求に応じ、記憶するテストセットを読み出し、読み出したテストセットを、任意の前記ユーザが作成しているテスト設計書の所定領域に挿入するステップと
を実行させるプログラム。
【請求項2】
前記記憶するステップにおいて、前記テスト項目のテストを実施するための情報は、テスト観点、確認項目、期待値、因子、水準、パターンを含む請求項1記載のプログラム。
【請求項3】
前記記憶するステップにおいて、前記テストセットに関する文章を、前記テストセットと関連付けて記憶する請求項1記載のプログラム。
【請求項4】
前記記憶するステップにおいて、前記テストセットに関する文章は、前記テストセットについての説明、又は前記テストセットに基づくテストを実施したテスターからのコメントである請求項3記載のプログラム。
【請求項5】
前記記憶するステップにおいて、類似するテストセットが既に記憶されている場合、前記テスト項目の指定、前記テストセットの名称の設定、又はこれらの両方を再度受け付ける請求項1記載のプログラム。
【請求項6】
前記記憶するステップにおいて、類似するテストセットが既に記憶されている場合、指定された前記テスト項目に係る前記テストセットの内容と、既に記憶されている前記テストセットの内容とを比較可能に、前記テスト項目を指定したユーザへ提示する請求項1記載のプログラム。
【請求項7】
前記記憶するステップにおいて、指定された前記テスト項目に係る前記テストセットの内容と、既に記憶されている前記テストセットの内容とが異なるが、これらのテストセットの名称が類似する場合、既に記憶されている前記テストセットとは異なる名称での記憶を提案する請求項1記載のプログラム。
【請求項8】
前記テスト設計書を作成する際に情報を入力するための領域に、任意の前記ユーザから文字の入力を受け付けると、入力された前記文字と関連するテストセットを、任意の前記ユーザに提示するステップを前記プロセッサに実行させる請求項1記載のプログラム。
【請求項9】
前記提示するステップにおいて、入力された前記文字と関連するテストセットが複数ある場合、前記テスト設計書の作成日、含まれるテスト項目の多さ、不具合発生率の高さ、流用回数の多さ、又はテストセット名の語順に基づく順番で、複数の前記テストセットを提示する請求項8記載のプログラム。
【請求項10】
テストセットを利用して作成したテスト設計書に基づくテストケースのテスト結果を記憶するステップと、
前記テストセットに係るテストケースのテスト結果を分析するステップと、
任意の前記ユーザがテスト設計書を作成する際、任意の前記ユーザが利用可能なテストセットを、当該テストセットに係るテストケースのテスト結果を分析した結果と共に提示するステップと
を前記プロセッサに実行させる請求項1記載のプログラム。
【請求項11】
前記提示するステップにおいて、利用可能なテストセットが複数ある場合、前記分析した結果に基づく順序で、複数の前記テストセットを提示する請求項10記載のプログラム。
【請求項12】
前記テストセットが利用された回数を集計するステップと、
前記集計結果を分析するステップと、
任意の前記ユーザがテスト設計書を作成する際、任意の前記ユーザが利用可能なテストセットを、当該テストセットの利用回数を分析した結果と共に提示するステップと
を前記プロセッサに実行させる請求項1記載のプログラム。
【請求項13】
前記提示するステップにおいて、利用可能なテストセットが複数ある場合、前記分析した結果に基づく順序で、複数の前記テストセットを提示する請求項12記載のプログラム。
【請求項14】
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、前記プロセッサが、
テスト設計書の指定を受け付けるステップと、
指定を受け付けた前記テスト設計書において、所定の機能に含まれる複数のテスト観点のうち、少なくともいずれかのテスト観点に対する指定を受け付けるステップと、
指定された前記テスト観点のテストを実施するための情報をテストセットとして、任意のユーザがアクセス可能に記憶するステップと、
任意の前記ユーザからの要求に応じ、記憶するテストセットを読み出し、読み出したテストセットを、任意の前記ユーザが作成しているテスト設計書の所定領域に挿入するステップと
を実行する方法。
【請求項15】
制御部と、記憶部とを備える情報処理装置であって、前記制御部が、
テスト設計書の指定を受け付けるステップと、
指定を受け付けた前記テスト設計書において、所定の機能に含まれる複数のテスト観点のうち、少なくともいずれかのテスト観点に対する指定を受け付けるステップと、
指定された前記テスト観点のテストを実施するための情報をテストセットとして、任意のユーザがアクセス可能に記憶するステップと、
任意の前記ユーザからの要求に応じ、記憶するテストセットを読み出し、読み出したテストセットを、任意の前記ユーザが作成しているテスト設計書の所定領域に挿入するステップと
を実行する情報処理装置。
【請求項16】
テスト設計書の指定を受け付ける手段と、
指定を受け付けた前記テスト設計書において、所定の機能に含まれる複数のテスト観点のうち、少なくともいずれかのテスト観点に対する指定を受け付ける手段と、
指定された前記テスト観点のテストを実施するための情報をテストセットとして、任意のユーザがアクセス可能に記憶する手段と、
任意の前記ユーザからの要求に応じ、記憶するテストセットを読み出し、読み出したテストセットを、任意の前記ユーザが作成しているテスト設計書の所定領域に挿入する手段と
を具備するシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、方法、情報処理装置、及びシステムに関する。
【背景技術】
【0002】
試験工程の開始前に適切に試験項目を抽出し、開発期間の延伸や追加費用の発生を抑止して高品質のソフトウェアを開発する発明が提案されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、過去に開発された機能部と実施された試験と各試験の実施の優先度合いを示す優先度とが対応付けされて記憶されている。特許文献1では、例えば、特定された過去の機能部についてのバグ情報を参照し、過去の機能部の特徴量に応じてバグを重大性の順に特定し、そのバグに対応する試験項目を実施する試験項目として抽出している。しかしながら、特許文献1では、試験項目を抽出しているが、テストの品質を維持したまま、テスト設計の負担を軽減することについては記載されていない。
【0005】
本開示の目的は、テストの品質を維持したまま、テスト設計の負担を軽減することである。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本開示のプログラムは、プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムである。プログラムは、プロセッサに、テスト設計書の指定を受け付けるステップと、指定を受け付けたテスト設計書において、所定の機能に含まれる複数のテスト項目のうち、少なくともいずれかのテスト項目に対する指定を受け付けるステップと、指定されたテスト項目のテストを実施するための情報をテストセットとして、任意のユーザがアクセス可能に記憶するステップと、任意のユーザからの要求に応じ、記憶するテストセットを読み出し、読み出したテストセットを、任意のユーザが作成しているテスト設計書の所定領域に挿入するステップとを実行させる。
【発明の効果】
【0007】
本開示によれば、テストの品質を維持したまま、テスト設計の負担を軽減できる。
【図面の簡単な説明】
【0008】
【
図1】本実施形態のシステム1の全体構成を示す図である。
【
図2】
図1に示す情報処理装置10の構成例を表すブロック図である。
【
図3】本実施形態のシステム1に含まれるサーバ20の機能的な構成を示すブロック図である。
【
図4】テスト設計書テーブル2021のデータ構造を示す図である。
【
図5】テストセットテーブル2022のデータ構造を示す図である。
【
図6】パターンテーブル2023のデータ構造を示す図である。
【
図7】テストセットを記憶する際の端末装置10とサーバ20との動作の例を説明するための図である。
【
図8】テスト設計書の作成画面の例を表す模式図である。
【
図9】テスト項目が指定されている場合の、テスト設計書の作成画面の例を表す模式図である。
【
図10】テストセットを記憶させる指示を入力するための画面の例を表す模式図である。
【
図11】サーバ20に記憶されたテストセットの表示画面の例を表す模式図である。
【
図12】テストセットを記憶させる指示を入力するための画面のその他の例を表す模式図である。
【
図13】テストセットを比較するための画面の例を表す模式図である。
【
図14】テストセットに関する分析を実施する際のサーバ20の動作の例を示すフローチャートである。
【
図15】テスト設計書の作成においてテストセットを活用する際の端末装置10とサーバ20との動作の例を説明するための図である。
【
図16】テスト設計書の作成画面のその他の例を表す模式図である。
【
図17】テストセットの選択画面の例を表す模式図である。
【
図18】コンピュータ90の基本的なハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0009】
以下、図面を参照しながら、実施の形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、本実施形態で説明される構成の全てが、本開示の必須構成要件であるとは限らない。
【0010】
<概要>
本実施形態に係るシステム1は、過去のテスト設計書から、ユーザが指定する範囲でテストセットを設定して蓄積する。システム1は、任意のユーザがテスト設計書を作成する場合、蓄積したテストセットのうちいずれかについての指定をユーザから受け付け、指定されたテストセットを、作成中のテスト設計書に挿入する。
【0011】
本実施形態において、テスト設計書は、検査対象が有する機能を検査するためのテストが設計されているデータである。検査対象は、検査の対象を表し、例えば、所定のプロジェクトで開発される、ハードウェア、又はソフトウェア等である。検査対象には、例えば、試作品、中間品、最終製品が含まれる。
【0012】
本実施形態において、テストセットは、複数のテスト項目に係るテストを実施するための情報のセットである。複数のテスト項目に係るテストを実施するための情報には、例えば、テスト観点、確認項目、期待値、因子、水準、パターン等が含まれる。テスト観点は、テストの拠り所となる見地(考え方)を表す。確認項目は、実施するテストを特定するための情報を表す。期待値は、確認の際に発現が期待される挙動を表す。因子は、コンピュータの状態変化に影響を与え得る要因を表す。水準は、因子の具体的な要素を表す。パターンは、実際のテストケースが規定された情報を表す。
【0013】
<1 全体構成>
図1は、本実施形態のシステム1の全体構成を示す図である。
図1に示すように、システム1は、端末装置10と、サーバ20とを備えている。端末装置10と、サーバ20とは、有線又は無線の通信規格を用い、ネットワーク80を介して相互に通信可能に接続されている。ネットワーク80は、例えば、インターネット、及び/又は通信事業者が提供する通信網等により実現される。図示の例では、複数の端末装置10がシステム1に含まれている。
【0014】
なお、
図1では、サーバ20が1台のコンピュータである場合を示しているが、サーバ20は、複数台のコンピュータが組み合わされて実現されてもよい。
【0015】
端末装置10は、サーバ20により提供されるサービスを利用するユーザが使用する情報処理装置である。例えば、端末装置10は、テスト設計書を作成するテスト設計者が利用する情報処理装置である。また、例えば、端末装置10は、ソフトウェアを開発する開発者が利用する情報処理装置である。また、端末装置10は、テスト設計書に基づくテストを実施するテスターが利用する情報処理装置である。
【0016】
端末装置10は、例えば、据え置き型のPC(Personal Computer)、ラップトップPC、ヘッドマウントディスプレイ等により実現される。また、端末装置10は、スマートフォン、又はタブレット端末等の携行性を備えたコンピュータであってもよい。
【0017】
図1に示すように、端末装置10は、通信IF(Interface)12と、入力装置13と、出力装置14と、メモリ15と、ストレージ16と、プロセッサ19とを備える。通信IF12、入力装置13、出力装置14、メモリ15、ストレージ16、及びプロセッサ19は、例えば、バスを介して互いに通信可能に接続されている。
【0018】
通信IF12は、端末装置10が外部の装置と通信するため、信号を送受信するためのインタフェースである。入力装置13は、ユーザ(従業員)からの入力操作を受け付けるための入力装置である。入力装置13は、例えば、タッチパネル、タッチパッド、マウス等のポインティングデバイス、キーボード等を含む。出力装置14は、ユーザに対し情報を提示するための出力装置である。出力装置14は、例えば、ディスプレイ、スピーカ等を含む。
【0019】
メモリ15は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えば、DRAM(Dynamic Random Access Memory)等の揮発性のメモリにより実現される。ストレージ16は、データを保存するための記憶装置であり、例えば、フラッシュメモリ、HDD(Hard Disc Drive)等の不揮発性のメモリにより実現される。プロセッサ19は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0020】
サーバ20は、テスト設計書の作成を支援する情報処理装置である。また、サーバ20は、テスト設計書に基づいて規定されるテストの実施状況、及び実施結果を管理する情報処理装置である。サーバ20は、例えば、ネットワーク80に接続されたコンピュータである。
【0021】
図1に示すように、サーバ20は、通信IF22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29とを備える。通信IF22、入出力IF23、メモリ25、ストレージ26、及びプロセッサ29は、例えば、バスを介して互いに通信可能に接続されている。
【0022】
通信IF22は、サーバ20が外部の装置と通信するため、信号を送受信するためのインタフェースである。入出力IF23は、ユーザからの入力操作を受け付けるための入力装置、及び、ユーザに対し情報を提示するための出力装置とのインタフェースとして機能する。メモリ25は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM等の揮発性のメモリにより実現される。
【0023】
ストレージ26は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD等の不揮発性のメモリにより実現される。ストレージ26は、必ずしも単独の回路により実現されなくてもよい。ストレージ26は、例えば、複数の記憶回路により実現されてもよい。プロセッサ29は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路などにより構成される。
【0024】
<1.1 端末装置の構成>
図2は、
図1に示す情報処理装置10の構成例を表すブロック図である。
図2に示すように、情報処理装置10は、通信部120と、入力装置13と、出力装置14と、音声処理部17と、マイク171と、スピーカー172と、カメラ160と、位置情報センサ150と、記憶部180と、制御部190とを備える。情報処理装置10に含まれる各ブロックは、例えば、バス等により電気的に接続される。
【0025】
通信部120は、端末装置10が他の装置と通信するための処理を行う。通信部120は、制御部190で生成された信号に送信処理を施し、外部(例えば、サーバ20)へ送信する。通信部120は、外部から受信した信号に受信処理を施し、制御部190へ出力する。
【0026】
入力装置13は、端末装置10を操作するユーザが指示、又は情報を入力するための装置である。入力装置13は、例えば、操作面へ触れることで指示が入力されるタッチ・センシティブ・デバイス131等により実現される。情報処理装置10がPC等である場合には、入力装置13は、リーダー、キーボード、マウス等により実現されてもよい。入力装置13は、ユーザから入力される指示を電気信号へ変換し、電気信号を制御部190へ出力する。なお、入力装置13には、例えば、外部の入力機器から入力される電気信号を受け付ける受信ポートが含まれてもよい。
【0027】
出力装置14は、端末装置10を操作するユーザへ情報を提示するための装置である。出力装置14は、例えば、ディスプレイ141等により実現される。ディスプレイ141は、制御部190の制御に応じたデータを表示する。ディスプレイ141は、例えば、LCD(Liquid Crystal Display)、又は有機EL(Electro-Luminescence)ディスプレイ等によって実現される。
【0028】
音声処理部17は、例えば、音声信号のデジタル-アナログ変換処理を行う。音声処理部17は、マイク171から与えられる信号をデジタル信号に変換して、変換後の信号を制御部190へ与える。また、音声処理部17は、音声信号をスピーカー172へ与える。音声処理部17は、例えば音声処理用のプロセッサによって実現される。マイク171は、音声入力を受け付けて、当該音声入力に対応する音声信号を音声処理部17へ与える。スピーカー172は、音声処理部17から与えられる音声信号を音声に変換して当該音声を端末装置10の外部へ出力する。
【0029】
カメラ160は、受光素子により光を受光し、撮影信号として出力するためのデバイスである。
【0030】
位置情報センサ150は、端末装置10の位置を検出するセンサであり、例えばGPS(Global Positioning System)モジュールである。GPSモジュールは、衛星測位システムで用いられる受信装置である。衛星測位システムでは、少なくとも3個または4個の衛星からの信号を受信し、受信した信号に基づいて、GPSモジュールが搭載される端末装置10の現在位置を検出する。位置情報センサ150は、端末装置10が接続する無線基地局の位置から、端末装置10の現在の位置を検出してもよい。
【0031】
記憶部180は、例えば、メモリ15、及びストレージ16等により実現され、情報処理装置10が使用するデータ、及びプログラムを記憶する。記憶部180は、例えば、ユーザ情報181を記憶する。ユーザ情報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を制御する。具体的には、例えば、提示制御部193は、テスト設計者がテスト設計書を作成するための画像をディスプレイ141に表示させる。また、例えば、提示制御部193は、テスト設計書に基づくテストをテスターが実施するための画像をディスプレイ141に表示させる。
【0037】
<1.2 サーバの機能的構成>
図3は、本実施形態のシステム1に含まれるサーバ20の機能的な構成を示すブロック図である。
図3に示すように、サーバ20は、通信部201、記憶部202、及び制御部203としての機能を発揮する。
【0038】
通信部201は、サーバ20が外部の装置と通信するための処理を行う。
【0039】
記憶部202は、サーバ20が使用するデータ及びプログラムを記憶する。例えば、記憶部202は、テスト設計書テーブル2021、テストセットテーブル2022、パターンテーブル2023等を有する。記憶部202で記憶されるテーブルは、これらに限定されない。
【0040】
テスト設計書テーブル2021は、テスト設計書を記憶するためのテーブルである。詳細は後述する。
【0041】
テストセットテーブル2022は、テストセットを記憶するためのテーブルである。詳細は後述する。
【0042】
パターンテーブル2023は、パターンを記憶するためのテーブルである。テスト設計書は、例えば、テストで挙動を確認する項目が規定された情報、及び、確認する内容と発現される挙動の条件とに基づいて設定される実際のテストケースが規定された情報等を含む。パターンは、実際のテストケースが規定された情報を表すものである。具体的には、パターンでは、確認する内容、確認処理により発現される挙動の条件、及び確認内容と条件とが組み合わされてなる具体的なテストケースが規定されている。パターンテーブル2023についての詳細は後述する。
【0043】
制御部203は、プロセッサ29が記憶部202に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部203は、サーバ20の動作を制御する。具体的には、例えば、制御部203は、プログラムに従って動作することにより、受信制御モジュール2031、送信制御モジュール2032、管理モジュール2033、支援モジュール2034、分析モジュール2035、及び提示制御モジュール2036として示す機能を発揮する。
【0044】
受信制御モジュール2031は、サーバ20が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。
【0045】
送信制御モジュール2032は、サーバ20が外部の装置に対し通信プロトコルに従って信号を送信する処理を制御する。
【0046】
管理モジュール2033は、記憶部202のテーブルに記憶される情報を管理する。具体的には、例えば、管理モジュール2033は、テスト設計書テーブル2021への情報の書き込みが要求されると、要求された情報をテスト設計書テーブル2021に書き込む。管理モジュール2033は、テスト設計書テーブル2021から情報の読み出しが要求されると、要求された情報をテスト設計書テーブル2021から読み出す。管理モジュール2033は、テストセットテーブル2022への情報の書き込みが要求されると、要求された情報をテストセットテーブル2022に書き込む。管理モジュール2033は、テストセットテーブル2022から情報の読み出しが要求されると、要求された情報をテストセットテーブル2022から読み出す。管理モジュール2033は、パターンテーブル2023への情報の書き込みが要求されると、要求された情報をパターンテーブル2023に書き込む。管理モジュール2033は、パターンテーブル2023から情報の読み出しが要求されると、要求された情報をパターンテーブル2023から読み出す。
【0047】
また、管理モジュール2033は、テスターが実施したテストケースについての結果を管理する。具体的には、例えば、管理モジュール2033は、テストケースについて実施したテストの結果を記憶部202に記憶する。
【0048】
支援モジュール2034は、テスト設計書の作成を支援する。具体的には、例えば、支援モジュール2034は、テスト設計者がテスト設計書を作成する際、作成の負担を軽減し得る情報を出力する。より具体的には、支援モジュール2034は、テスト設計者がテスト設計書を作成する際、テスト設計者が必要とするテストセットを出力する。また、支援モジュール2034は、テストセットの記憶を支援する。
【0049】
分析モジュール2035は、テストセットに係るテストケースのテスト結果を分析する。例えば、分析モジュール2035は、テストセットについて、テスト結果を分析する。具体的には、例えば、分析モジュール2035は、記憶部202に記憶されているテスト結果を分析し、テストセットにおけるバグ発生率を算出する。
【0050】
分析モジュール2035は、テストセットに含まれるテストケースについて、テスト結果を分析してもよい。分析モジュール2035は、例えば、テスト結果を分析し、不具合を発生しやすいテストケースを抽出する。
【0051】
また、分析モジュール2035は、テストセットが利用された回数を集計する。
【0052】
提示制御モジュール2036は、テスト設計書の作成に関する情報をテスト設計者に提示する。具体的には、例えば、提示制御モジュール2036は、テスト設計書を作成するための情報を含む画像を、端末装置10を介してテスト設計者に表示する。テスト設計書を作成するための情報は、例えば、テスト設計書テーブル2021、テストセットテーブル2022、パターンテーブル2023に記憶される情報を含む。
【0053】
また、提示制御モジュール2036は、テストを実施するための情報をテスターに提示する。具体的には、例えば、提示制御モジュール2036は、テストを実施するための情報を含む画像を、端末装置10を介してテスターに表示する。テストを実施するための情報は、例えば、テスト設計書テーブル2021に記憶される情報を含む。
【0054】
<2 データ構造>
図4~
図6は、サーバ20が記憶するテーブルのデータ構造を示す図である。なお、
図4~
図6は一例であり、記載されていないデータを除外するものではない。また、同一のテーブルに記載されるデータであっても、記憶部202において離れた記憶領域に記憶されていることもあり得る。
【0055】
図4は、テスト設計書テーブル2021のデータ構造を示す図である。
図4に示すテスト設計書テーブル2021は、ファイル名をキーとして、ステータス、バージョン、更新日時、担当者、テストセットID等のカラムを有するテーブルである。
【0056】
ファイル名は、テスト設計書の名称を記憶する項目である。ステータスは、テスト設計書の現在の状態を記憶する項目である。項目「ステータス」には、例えば、着手中であることを表す「Working」、確認中であることを表す「Reviewing」、完成したことを表す「Done」のいずれかが記憶される。バージョンは、テスト設計書が更新、又は改訂された版を記憶する項目である。更新日時は、テスト設計書が更新された日時を記憶する項目である。担当者は、テスト設計書を作成する者を記憶する項目である。項目「担当者」に記憶される情報は、担当者の氏名でもよいし、担当者を識別するための所定のIDであってもよい。テストセットIDは、テスト設計書を作成した際に利用したテストセットのテストセットIDを記憶する項目である。
【0057】
図5は、テストセットテーブル2022のデータ構造を示す図である。
図5に示すテストセットテーブル2022は、テストセットIDをキーとして、テストセット名、作成者、作成日、流用回数、バグ発生率、タグ、テストセットに含まれるテスト項目に関する情報のカラムを有するテーブルである。テストセットテーブル2022は、これらに加え、例えば、テストセットについてテスト設計者が入力した説明文を記憶するカラムを有してもよい。また、テストセットテーブル2022は、これらに加え、例えば、テストセットについてテスターが入力した注意書き(コメント)を記憶するカラムを有してもよい。
【0058】
テストセットIDは、テストセットを一意に識別するためのIDを記憶する項目である。テストセット名は、テストセットの名称を記憶する項目である。作成者は、テストセットを作成した者を記憶する項目である。項目「作成者」に記憶される情報は、作成者の氏名でもよいし、作成者を識別するための所定のIDであってもよい。作成日は、テストセットを作成した日時を記憶する項目である。流用回数は、テスト設計書を作成するのに流用された回数を記憶する項目である。流用回数に代えて、又は加えて、テストセットの内容を確認した回数を表す閲覧回数を記憶するカラムがあってもよい。バグ発生率は、テストセットに係るテストケースについて不具合(バグ)が発生した確率を記憶する項目である。項目「バグ発生率」には、例えば、分析モジュール2035により分析された結果が格納される。タグは、例えば、テストセットの特徴を端的に、又は概念的に表す情報を記憶する項目である。タグは、例えば、テストセットの作成者が設定可能である。
【0059】
テストセットに含まれるテスト項目に関する情報は、例えば、テスト区分、区分1、区分2、テスト対象、パターン、テスト観点、確認項目等を含む。テスト区分、区分1、区分2は、例えば、テスト項目が属する区分を記憶する項目である。区分の範囲は、例えば、テスト区分が最も広く、区分2が最も狭い。テスト対象は、テストの対象を記憶する項目である。テスト対象は、例えば、テストの対象となる機能を記憶すると換言可能である。パターンは、パターンを識別するためのIDを記憶する項目である。テスト観点は、テストの拠り所となる見地(考え方)を記憶する項目である。確認項目は、実施するテストで確認するべき内容を記憶する項目である。項目「テスト観点」に記憶される情報と、項目「確認項目」に記憶される情報とは、対応付けられている。
【0060】
図5に示す例では、項目「テスト区分」:フロントログイン、項目「区分1」:ログイン画面、項目「区分2」:認証、項目「テスト対象」:ID/PW認証、項目「パターン」:P1、項目「テスト観点」:正常認証、項目「確認項目」:正常時の挙動検証等が記憶されている。
【0061】
図6は、パターンテーブル2023のデータ構造を示す図である。
図6に示すパターンテーブル2023は、パターン番号をキーとして、パターン名、因子、水準、確認項目、期待値等のカラムを有するテーブルである。パターンテーブル2023は、実際のテストケースが規定されたパターン表(図示せず)を含む。
【0062】
パターン番号は、パターンを識別するためのIDを記憶する項目である。パターン名は、パターンの名称を記憶する項目である。因子は、コンピュータの状態変化に影響を与え得る要因を記憶する項目である。水準は、因子の具体的な要素を記憶する項目である。確認項目は、実施するテストで確認するべき内容を記憶する項目である。期待値は、確認の際に発見が期待される挙動を記憶する項目である。
【0063】
<3 動作>
端末装置10と、サーバ20との動作について説明する。
【0064】
(テストセットの記憶)
図7は、テストセットを記憶する際の端末装置10とサーバ20との動作の例を説明するための図である。まず、テスト設計者は、テスト設計書を作成している。テスト設計者は、作成中のテスト設計書において、所定のテスト項目のセットが他のテスト設計書においても流用可能である、又は流用すると、他のテスト設計書の作成において効果的であると判断する。テスト設計者は、作成中のテスト設計書における所定のテスト項目に係る情報を指定する。なお、テストセットを作成するのは、テスト設計者に限定されず、テストに関連するユーザであればだれでも構わない。
【0065】
ステップS11において、端末装置10の制御部190は、操作受付部191により、テストセットを記憶する旨の指示をテスト設計者から受け付ける。
【0066】
図8は、テスト設計書の作成画面の例を表す模式図である。制御部190は、提示制御部193により、ディスプレイ141に、テスト設計書の作成画面1411を表示させる。作成画面1411には、例えば、確認項目一覧を表示する領域14111と、パターン一覧を表示する領域14112とが含まれる。
図8に示される作成画面1411は、ツリー形式で表示されている。作成画面1411は、テーブル形式で表示されてもよい。
【0067】
テスト設計者は、入力装置13を介し、領域14111において、他のテスト設計書においても流用可能であると考えるテスト項目を指定する。他のテスト設計書においても流用可能であると考えるテスト項目群は、例えば、所定の機能をテストするためのテスト項目である。
【0068】
図9は、テスト項目が指定されている場合の、テスト設計書の作成画面の例を表す模式図である。
図9では、テスト設計書において、項目「テスト区分」:フロントログイン、項目「区分1」:ログイン画面、項目「区分2」:認証、項目「テスト対象」:ID/PW認証、項目「パターン」:P1、項目「テスト観点」:正常認証、項目「確認項目」:正常時の挙動検証等がテスト設計者により指定されている。
【0069】
テスト設計者は、テスト項目を指定すると、ボタン14113を押下する。ボタン14113は、テストセットを記憶する指示を入力するためのボタンである。
【0070】
ボタン14113が押下されると、提示制御部193は、テストセットを記憶させる指示を入力するための画面をディスプレイ141に表示させる。
【0071】
図10は、テストセットを記憶させる指示を入力するための画面の例を表す模式図である。
図10において、提示制御部193は、例えば、ウィンドウ14114をディスプレイ141に表示させる。ウィンドウ14114は、テストセットの登録を確定させる指示を入力するためのウィンドウである。ウィンドウ14114は、テストセット名を入力するための領域141141と、テストセットの登録を確定させる指示を入力するためのボタン141142とを含む。
【0072】
テスト設計者は、テストセットを登録する場合、領域141141にテストセット名を入力し、ボタン141142を押下する。テスト設計者は、テストセットに対してタグを付してもよい。例えば、テスト設計者は、タグ設定のための指示子、タグ入力のための入力画面等からタグを設定してもよい。
【0073】
また、テスト設計者は、テストセットに対し、テストセットの説明を入力してもよい。例えば、テスト設計者は、テストセットの説明を入力するための入力画面等から、テストセットの説明を入力してもよい。入力される説明には、例えば、テストセット名では表し切れない、テストセットに対する注意点、テストセットに含まれるテストの特徴等が含まれる。
【0074】
ボタン141142が押下されると、制御部190は、送受信部192により、テストセット名、テスト設計者により指定されたテスト項目に関する情報等をサーバ20へ送信する。
【0075】
ステップS12において、サーバ20は、テスト設計者により指定されたテストセットを記憶する。具体的には、サーバ20の制御部203は、例えば、受信制御モジュール2031により、テストセット名、テスト設計者により指定されたテスト項目に関する情報等を受け付ける。制御部203は、例えば、管理モジュール2033により、テストセットテーブル2022に新たなレコードを作成する。管理モジュール2033は、作成したレコードに、テストセット名、作成者、作成日、タグ、テストセットに含まれるテスト項目に関する情報を格納する。これにより、任意のテスト設計者を含む任意のユーザが、テストセットを利用可能となる。
【0076】
図11は、サーバ20に記憶されたテストセットの表示画面の例を表す模式図である。
図11において、提示制御部193は、テスト設計者等のユーザからの指示に応じ、テストセットテーブル2022に記憶されているテストセットを表示する表示画面1412を、ディスプレイ141に表示させる。ユーザは、表示画面1412から、テストセットを編集可能である。操作受付部191は、ユーザから、編集開始のためのボタン14121の押下を受け付ける。送受信部192は、受け付けた編集の内容をサーバ20へ送信する。サーバ20は、編集内容に基づき、テストセットテーブル2022を更新する。
【0077】
ステップS12において、管理モジュール2033は、登録するテストセットと類似するテストセットが存在するか否かを判断してもよい。具体的には、例えば、提示制御部193は、テストセットを記憶させる指示を入力するための画面において、類似するテストセットを確認する指示を入力するための指示子を表示する。
【0078】
図12は、テストセットを記憶させる指示を入力するための画面のその他の例を表す模式図である。
図12において、提示制御部193は、例えば、ウィンドウ14114に、類似のテストセットの存在を確認する指示を入力するためのボタン141143を表示する。
【0079】
テスト設計者は、類似するテストセットの存在を確認する場合、領域141141にテストセット名を入力し、ボタン141143を押下する。ボタン141143が押下されると、制御部190は、送受信部192により、テストセット名、テスト設計者により指定されたテスト項目に関する情報等をサーバ20へ送信する。
【0080】
管理モジュール2033は、入力された情報を参照し、類似するテストセットが存在するか否かを判断する。具体的には、例えば、管理モジュール2033は、入力されたテストセット名と類似するテストセット名を、テストセットテーブル2022から抽出する。類似するテストセット名の抽出は、既存のいかなる手法を利用してもよい。管理モジュール2033は、例えば、所定の手法により、登録を希望されているテストセットのテストセット名と、テストセットテーブル2022に記憶されているテストセットのテストセット名との類似度を算出し、予め設定された類似度を超えるテストセットをテストセットテーブル2022から読み出す。送信制御モジュール2032は、読み出した情報を端末装置10へ送信する。提示制御モジュール2036は、テスト設計者が登録を希望しているテストセットと、情報を受信したテストセットとを比較可能に端末装置10に表示させる。
【0081】
提示制御部193は、テスト設計者が登録を希望しているテストセットと、情報を受信したテストセットとを比較可能にディスプレイ141に表示させる。テストセット名が類似するテストセットが複数存在する場合、提示制御部193は、例えば、類似度が高い順にテストセットをディスプレイ141に表示させる。提示制御部193は、テスト設計者からテストセットの選択を受け付け、テスト設計者に選択されたテストセットについて、登録を希望されているテストセットとの比較画像をディスプレイ141に表示させる。
【0082】
図13は、テストセットを比較するための画面の例を表す模式図である。
図13において、提示制御部193は、例えば、領域14131及び領域14132をディスプレイ141に表示させる。領域14131は、テスト設計者が登録を希望するテストセットに関する情報を表示するための領域である。領域14132は、受信したテストセットに関する情報を表示するための領域である。
図13において、提示制御部193は、例えば、テストセット名を変更する指示を入力するためのボタン14133と、テストセットの登録を確定させる指示を入力するためのボタン14134とをディスプレイ141に表示させる。なお、提示制御部193は、テストセットの登録を取り止めることを入力するためのボタンを表示してもよい。
【0083】
テスト設計者は、領域14131と領域14132とに表示されるテストセットを比較し、登録するテストセットの内容と、テストセット名とを確認する。テストセット名を変更する必要がある場合、テスト設計者は、例えば、ボタン14133を押下する。ボタン14133が押下されると、提示制御部193は、例えば、新たなテストセット名の入力を受け付ける領域を表示する。テスト設計者は、表示された領域に新たなテストセット名を入力する。
【0084】
提示制御部193は、テストセットを再設定する指示を入力するためのボタンを表示してもよい。テストセットの内容、テストセット名、又はこれらの両方を変更する必要がある場合、テスト設計者は、例えば、このボタンを押下する。ボタンが押下されると、提示制御部193は、例えば、
図8に示す画面をディスプレイ141に表示させる。テスト設計者は、テスト項目を再度指定し、指定したテスト項目からなるテストセットに対し、新たなテストセット名を付ける。
【0085】
すなわち、管理モジュール2033は、類似するテストセットが既に記憶されている場合、テストセット名の設定、テスト項目の指定、又はこれらの両方を再度受け付ける。
【0086】
提示制御モジュール2036は、テストセット名が予め設定した類似度より高く、テストセットの内容が異なる場合、テストセット名を変更することを提案するメッセージを端末装置10に表示させてもよい。
【0087】
テストセットの内容、及びテストセット名を変更する必要がない場合、テスト設計者は、ボタン14134を押下する。ボタン14134が押下されると、送受信部192は、テストセット名、テスト設計者により指定されたテスト項目に関する情報等をサーバ20へ送信する。
【0088】
類似するテストセットの検索は、テストセット名に基づく検索に限定されない。管理モジュール2033は、テストセットテーブル2022に記憶されているテストセット名以外の情報、例えば、テスト観点、確認項目等に基づき、類似するテストセットを検索してもよい。管理モジュール2033は、所定の手法により、登録を希望されているテストセットの内容と、テストセットテーブル2022に記憶されているテストセットの内容との類似度を算出し、予め設定された類似度を超えるテストセットをテストセットテーブル2022から読み出す。送信制御モジュール2032は、読み出したテストセットに関する情報を端末装置10へ送信する。提示制御モジュール2036は、テスト設計者が登録を希望しているテストセットと、情報を受信したテストセットとを比較可能に端末装置10に表示させる。
【0089】
提示制御部193は、テスト設計者が登録を希望しているテストセットと、情報を受信したテストセットとを比較可能にディスプレイ141に表示させる。テストセットの内容が類似するテストセットが複数存在する場合、提示制御部193は、例えば、類似度が高い順にテストセットをディスプレイ141に表示させる。提示制御部193は、テスト設計者からテストセットの選択を受け付け、テスト設計者に選択されたテストセットについて、登録を希望されているテストセットとの比較画像をディスプレイ141に表示させる。
【0090】
(テストセットの分析及び集計)
図14は、テストセットに関する分析を実施する際のサーバ20の動作の例を示すフローチャートである。
【0091】
まず、管理モジュール2033は、テスターが実施するテストのテスト結果を管理している。テスターが実施するテストは、テスト設計者により作成されたテスト設計書に基づいて規定されている。テスト設計書の作成に、テストセットテーブル2022に記憶されているテストセットが使用された場合、作成されたテスト設計書においてテストセットに由来するテスト項目であることが識別可能となっている。例えば、このテスト設計書に基づくテストが実施された場合、管理モジュール2033は、テスト結果を、テストセットに関連付けて管理する。
【0092】
ステップS21において、分析モジュール2035は、テストセットに係るテスト結果を取得する。具体的には、分析モジュール2035は、所定のタイミングで、テストセットに係るテスト結果を取得する。分析モジュール2035は、例えば、以下のタイミングで、テスト結果を取得する。
・所定のテスト設計書に規定される対応するテストケースについてのテストが終了したとき
・所定のテスト設計書に規定される所定のテストケースまでのテストが終了したとき
・所定の周期
・所定の時間になったとき
・ユーザからの指示が入力されたとき
【0093】
ステップS22において、分析モジュール2035は、テストセットについて取得したテスト結果を分析する。具体的には、分析モジュール2035は、例えば、取得したテスト結果を分析し、テストセットのバグ発生率(不具合率)を算出する。なお、分析により取得される情報は、バグ発生率に限定されない。バグ発生率以外のパラメータが算出されてもよい。管理モジュール2033は、算出したバグ発生率をテストセットテーブル2022の項目「バグ発生率」に記憶する。
【0094】
また、管理モジュール2033は、テストセットがテスト設計書で流用された回数を管理している。テスト設計書の作成に、テストセットテーブル2022に記憶されているテストセットが利用された場合、管理モジュール2033は、例えば、テストセットが利用された回数(流用回数)をインクリメントする。分析モジュール2035は、例えば、テストセットの流用回数を所定のタイミングで分析する。所定のタイミングは、例えば、以下である。
・所定の周期
・所定の時間になったとき
・ユーザからの指示が入力されたとき
【0095】
具体的には、分析モジュール2035は、例えば、流用回数を分析し、所定の期間(直近1週間)での流用回数を算出する。なお、分析により取得される情報は、所定期間の流用回数に限定されない。所定期間の流用回数以外にも、平均流用回数等、その他のパラメータが算出されてもよい。管理モジュール2033は、例えば、算出した分析結果をテストセットテーブル2022に記憶する。
【0096】
(テストセットの活用)
図15は、テスト設計書の作成においてテストセットを活用する際の端末装置10とサーバ20との動作の例を説明するための図である。
【0097】
まず、テスト設計者は、テスト設計書の作成指示を入力し、テスト設計書の作成を開始する。テスト設計者は、作成途中のテスト設計書がある場合には、作成途中のテスト設計書を選択し、選択したテスト設計書の作成を再開してもよい。
【0098】
ステップS31において、端末装置10は、テストセットの提示要求を受け付ける。具体的に、テスト設計者は、例えば、テスト設計書の作成画面において、所定の領域に、テスト項目に関する情報を入力する。送受信部192は、テスト項目に関する情報を、テストセットの提示要求としてサーバ20へ送信する。送受信部192は、テスト項目に関する情報が入力された後、テストセットの提示を要求する指示に応じ、テストセットの提示要求をサーバ20へ送信してもよい。また、テスト設計者は、例えば、テスト設計書の作成画面において、テストセットの提示を要求する指示を入力する。送受信部192は、テストセットの提示要求をサーバ20へ送信する。
【0099】
図16は、テスト設計書の作成画面のその他の例を表す模式図である。提示制御部193は、作成画面1411に、例えば、テストセットを挿入する指示を入力するためのボタン14115を表示する。提示制御部193は、テスト項目に関する情報を入力するための領域14116を表示する。なお、領域14116が表示される位置は、
図16に示すものに限定されない。
【0100】
テスト設計者は、領域14116にテスト項目に関する情報、例えば、「認証テスト」と入力する。送受信部192は、「認証テスト」に関するテストセットを提示する要求をサーバ20へ送信する。
【0101】
また、テスト設計者は、例えば、テスト設計書の作成画面1411において、テストセットの挿入位置を選択し、ボタン14115を押下する。ボタン14115が押下されると、送受信部192は、テストセットを提示する要求をサーバ20へ送信する。なお、ボタン14115の近傍に、テストセットに関する検索キーワードの入力を受け付けるためのボックスが設けられてもよい。テスト設計者は、ボックスへ探索キーワードを入力した後、ボタン14115を押下してもよい。これにより、検索キーワードに応じたテストセットの要求が送信される。
【0102】
ステップS32において、サーバ20は、要求されたテストセットをテストセットテーブル2022から読み出す。具体的には、領域14116に入力された情報に関するテストセットを提示する要求があった場合、支援モジュール2034は、テストセットテーブル2022から、対応するテストセットを検索する。例えば、支援モジュール2034は、入力された情報を、テストセット名、又はテストセットの内容(テスト項目に関する情報、テストの説明)に含むテストセットをテストセットテーブル2022から読み出す。支援モジュール2034は、テストセットの検索を、例えば、学習済みモデルを用いて行ってもよい。
【0103】
また、支援モジュール2034は、ボタン14115が押下されることで送信された要求を受信した場合、テストセットテーブル2022に記憶されているテストセットを読み出す。
【0104】
送信制御モジュール2032は、読み出したテストセットに関する情報を端末装置10へ送信する。提示制御モジュール2036は、読み出したテストセットに関する情報を端末装置10に表示させる。
【0105】
ステップS33において、端末装置10は、テストセットに関する情報をテスト設計者に提示する。具体的には、例えば、提示制御部193は、サーバ20から受信した情報に基づき、テストセットに関する情報を、ディスプレイ141に表示させる。
【0106】
図17は、テストセットの選択画面の例を表す模式図である。提示制御部193は、ディスプレイ141に、テストセットの選択画面1414を表示させる。選択画面1414には、例えば、テストセットの一覧を表示する領域14141と、テストセットの内容を表示する領域14142とが含まれる。
【0107】
提示制御部193は、例えば、領域14141において、所定の優先度に基づく順序で、テストセットを表示する。提示制御部193は、例えば、以下の情報に基づいて優先度を設定している。
・作成日の新しさ
・含まれるテスト項目の多さ
・バグ発生率の高さ
・流用回数の多さ
・テストセット名の語順
【0108】
提示制御モジュール2036は、テストセットの作成者、テストセットの作成日、テストセットの流用回数、テストセットのバグ発生率、テストセットの説明、テスターからのコメント、又はこれらのうち少なくとも2つの組み合わせを端末装置10に表示させてもよい。例えば、提示制御部193は、領域14142に、テストセットの作成者、テストセットの作成日、テストセットの流用回数、テストセットのバグ発生率、テストセットの説明、テスターからのコメント、又はこれらのうち少なくとも2つの組み合わせをディスプレイ141に表示させる。具体的には、提示制御部193は、例えば、領域14142において、作成者、作成日、流用回数、バグ発生率、テストセットの説明、テスターからのコメント等を表示するボックス、又はこれらの情報を表示させるためのボタンを表示する。
【0109】
テスト設計者は、入力装置13を介し、テストセットの内容を領域14142に表示させながら、領域14141においてテストセットを選択する。テスト設計者は、領域14142に内容が表示されているテストセットについて、テストセットを登録するためのボタン14143を押下する。
【0110】
ボタン14143が押下されると、送受信部192は、テスト設計者により選択されたテストセットに関する情報をサーバ20へ送信する。
【0111】
支援モジュール2034は、作成中のテスト設計書に、テスト設計者により選択されたテストセットに関する情報を挿入する。例えば、支援モジュール2034は、テストセットに含まれるテスト項目に関する情報を、テスト設計書テーブル2021における作成中のテスト設計書についてのレコードに挿入する。
【0112】
以上のように、上記実施形態では、サーバ20の制御部203は、受信制御モジュール2031により、テスト設計書の指定を受け付ける。受信制御モジュール2031は、指定を受け付けたテスト設計書において、所定の機能に含まれる複数のテスト項目のうち、少なくともいずれかのテスト項目に対する指定を受け付ける。制御部203は、管理モジュール2033により、指定されたテスト項目のテストを実施するための情報をテストセットとして、任意のユーザがアクセス可能に記憶する。管理モジュール2033は、任意のユーザからの要求に応じ、記憶するテストセットを読み出し、読み出したテストセットを、任意のユーザが作成しているテスト設計書の所定領域に挿入する。これにより、サーバ20は、ユーザが有用であると考える、所定の業務についてのテスト項目をユーザが所望する範囲で設定し、テストセットとして記憶(登録)することが可能となる。また、サーバ20は、クライアント毎に適したテストセットを記憶することが可能となる。また、サーバ20は、記憶しているテストセットを、ユーザからの要求に応じ、ユーザに流用させることが可能となる。
【0113】
したがって、本実施形態に係るプログラム、サーバ20、及びシステム1によれば、テストの品質を維持したまま、テスト設計の負担を軽減することができる。
【0114】
また、上記実施形態では、管理モジュール2033は、テスト項目のテストを実施するための情報として、テスト観点、確認項目、期待値、因子、水準、パターンを含む。これにより、サーバ20は、テスト設計書においてテストセットを流用可能にテストセットを記憶することが可能となる。
【0115】
また、上記実施形態では、管理モジュール2033は、テストセットに関する文章を、テストセットと関連付けて記憶する。これにより、サーバ20は、テストセットを流用する際の利便性を向上させることが可能となる。
【0116】
また、上記実施形態では、管理モジュール2033は、テストセットに関する文章として、テストセットについての説明、又は前記テストセットに基づくテストを実施したテスターからのコメントを記憶する。これにより、ユーザは、所望のテストセットを見つける際の負担が軽減される。また、ユーザは、テストセットに係る注意点を、テストセットを流用する際に把握することが可能となる。
【0117】
また、上記実施形態では、管理モジュール2033は、類似するテストセットが既に記憶されている場合、前記テスト項目の指定、前記テストセットの名称の設定、又はこれらの両方を再度受け付ける。これにより、サーバ20は、類似するテストセットが記憶されることを防ぐことが可能となる。
【0118】
また、上記実施形態では、提示制御モジュール2036は、類似するテストセットが既に記憶されている場合、指定されたテスト項目に係るテストセットの内容と、既に記憶されているテストセットの内容とを比較可能に、テスト項目を指定したユーザへ提示する。これにより、サーバ20は、類似するテストセットが記憶されることを防ぐことが可能となる。
【0119】
また、上記実施形態では、提示制御モジュール2036は、指定されたテスト項目に係るテストセットの内容と、既に記憶されているテストセットの内容とが異なるが、これらのテストセットの名称が類似する場合、既に記憶されているテストセットとは異なる名称での記憶を提案する。これにより、サーバ20は、類似するテストセットが記憶されることを防ぐことが可能となる。
【0120】
また、上記実施形態では、支援モジュール2034は、テスト設計書を作成する際に情報を入力するための領域に、任意のユーザから文字の入力を受け付けると、入力された文字と関連するテストセットを、任意のユーザに提示する。これにより、サーバ20は、ユーザがテストセットを検索する負担を軽減させることが可能となる。
【0121】
また、上記実施形態では、支援モジュール2034は、入力された文字と関連するテストセットが複数ある場合、テスト設計書の作成日、含まれるテスト項目の多さ、不具合発生率の高さ、流用回数の多さ、又はテストセット名の語順に基づく順番で、複数のテストセットを提示する。これにより、サーバ20は、ユーザがテストセットを検索する負担をより軽減させることが可能となる。
【0122】
また、上記実施形態では、管理モジュール2033は、テストセットを利用して作成したテスト設計書に基づくテストケースのテスト結果を記憶する。分析モジュール2035は、テストセットに係るテストケースのテスト結果を分析する。提示制御モジュール2036は、任意のユーザがテスト設計書を作成する際、任意のユーザが利用可能なテストセットを、当該テストセットに係るテストケースのテスト結果を分析した結果と共に提示する。これにより、サーバ20は、分析結果を考慮してユーザにテストセットを選択させることが可能となる。そのため、ユーザは、テストセットを流用した際に、かかる工数を把握可能となる。また、ユーザは、バグ発生率に基づいてテストセットを選択可能となるため、テスト設計書の品質を調整することが可能となる。
【0123】
また、上記実施形態では、提示制御モジュール2036は、利用可能なテストセットが複数ある場合、分析した結果に基づく順序で、複数のテストセットを提示する。これにより、サーバ20は、ユーザがテストセットを選択する負担をより軽減させることが可能となる。
【0124】
また、上記実施形態では、管理モジュール2033は、テストセットが利用された回数を集計する。分析モジュール2035は、集計結果を分析する。提示制御モジュール2036は、任意のユーザがテスト設計書を作成する際、任意のユーザが利用可能なテストセットを、当該テストセットの利用回数を分析した結果と共に提示する。これにより、サーバ20は、流用回数を考慮してユーザにテストセットを選択させることが可能となる。そのため、ユーザは、どれだけ流用されたテストセットであるかを把握しつつ、テストセットを選択することが可能となる。これにより、優れたテストセットが選択されやすくなるため、テスト設計書の品質が均一化することに貢献できる。
【0125】
また、上記実施形態では、提示制御モジュール2036は、利用可能なテストセットが複数ある場合、分析した結果に基づく順序で、複数のテストセットを提示する。これにより、サーバ20は、ユーザがテストセットを選択する負担をより軽減させることが可能となる。
【0126】
<変形例>
上記実施形態では、任意のユーザがテストセットにアクセスできる例を記載した。しかしながら、テストセットにアクセスできるユーザに制限をかけてもよい。例えば、テストセット毎にアクセス可能な権限を設定してもよい。また、アクセス権限の異なるデータベース(テーブル)を複数設定しておき、データベース毎に使用可能なテストセットを記憶しておいてもよい。アクセス権限の異なるデータベースは、例えば、プロジェクト毎のデータベース、企業毎のデータベース、所定の業態毎のデータベース、全体を網羅するデータベース等である。
【0127】
また、上記実施形態において、多く流用されるテストセットの作成者に特典を付与してもよい。
【0128】
また、上位実施形態において、多くの流用が予想されるテスト項目について、予めテスト項目を作成しておくことも可能である。例えば、エンターテイメント分野等、所定の分野において、定義するテスト項目が類似することがある。このような分野において、標準的に使用するテスト項目に関するテストセットが予め登録されていると、テスト設計書を作成する際のテスト設計者の労力を低減させることが可能となる。
【0129】
また、上記実施形態実施において、サーバ20は、テストセットを使って作成したテスト設計書を抽出してもよい。例えば、所定の機能がバージョンアップされた場合、バージョンアップ後の機能について、例えば、再テストが必要になることがある。また、例えば、所定の機能の不具合が修正された場合、修正後の機能について、例えば、再テストが必要になることがある。テスト設計書は、作成の際に利用したテストセットと関連付けて管理されている。また、テストセットは、対象となる機能に係る文言が、テストセット名、テストセットの説明、又はテストセットのコメント等に記憶されている。サーバ20は、機能に係る文言に基づいてテストセットを検索し、このテストセットを利用して作成されたテスト設計書を検索する。バージョンアップされる前の機能についてのテストセットが作成されており、このテストセットを利用して作成されたテスト設計書が存在する場合、該当するテストセットを検索すれば、ユーザは、再テストの対象となるテスト設計書を把握することが可能となる。このため、再テストが必要な対象を容易に発見することが可能となる。
【0130】
また、例えば、所定のテストセットにおいて、追加テストが必要になる場合がある。サーバ20は、追加テストが必要となったテストセットに基づき、当該テストセットが利用されて作成されたテスト設計書を検索する。該当するテストセットを検索すれば、ユーザは、追加テストが必要なテスト設計書を把握することが可能となる。このため、追加テストが必要な対象を容易に発見することが可能となる。
【0131】
また、上記実施形態において、サーバ20は、テストセットを業界、利用場面、又は使用デバイス等の任意のカテゴリで分類し、テストナレッジデータベースとして蓄積・利用・提供してもよい。例えば、サーバ20は、ゲーム業界特有のテストセットを、ゲーム業界のデータベースに蓄積し、ユーザの要求に応じ、蓄積しているテストセットを提供する。これにより、所定の業界において蓄積したナレッジが、同業界の他プロジェクトでテスト設計書を作成する際に役立つこととなる。つまり、テスト設計者の負担を軽減することが可能となる。
【0132】
また、例えば、サーバ20は、地図機能を連動させるような利用場面でよく行われるテストセットを、地図機能連動に係るデータベースに蓄積し、ユーザの要求に応じ、蓄積しているテストセットを提供する。これにより、所定の利用場面において蓄積したナレッジが、類似する場面についての他プロジェクトでテスト設計書を作成する際に役立つこととなる。つまり、テスト設計者の負担を軽減することが可能となる。
【0133】
また、例えば、サーバ20は、iPhone(登録商標)、エクスペリア(登録商標)のような使用デバイスに特有のテストセットを、使用デバイスのデータベースに蓄積し、ユーザの要求に応じ、蓄積しているテストセットを提供する。これにより、所定のデバイスにおいて蓄積したナレッジが、類似デバイス(新バージョンのデバイス)に係る他プロジェクトでテスト設計書を作成する際に役立つこととなる。つまり、テスト設計者の負担を軽減することが可能となる。
【0134】
<4 コンピュータの基本ハードウェア構成>
図18は、コンピュータ90の基本的なハードウェア構成を示すブロック図である。コンピュータ90は、プロセッサ91、主記憶装置92、補助記憶装置93、通信IF99(インタフェース、Interface)を少なくとも備える。これらはバスにより相互に電気的に接続される。
【0135】
プロセッサ91とは、プログラムに記述された命令セットを実行するためのハードウェアである。プロセッサ91は、演算装置、レジスタ、周辺回路等から構成される。
【0136】
主記憶装置92とは、プログラム、及びプログラム等で処理されるデータ等を一時的に記憶するためのものである。例えば、DRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0137】
補助記憶装置93とは、データ及びプログラムを保存するための記憶装置である。例えば、フラッシュメモリ、HDD(Hard Disc Drive)、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等である。
【0138】
通信IF99とは、有線又は無線の通信規格を用いて、他のコンピュータとネットワークを介して通信するための信号を入出力するためのインタフェースである。
ネットワークは、インターネット、LAN、無線基地局等によって構築される各種移動通信システム等で構成される。例えば、ネットワークには、3G、4G、5G移動通信システム、LTE(Long Term Evolution)、所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が含まれる。無線で接続する場合、通信プロトコルとして例えば、Z-Wave(登録商標)、ZigBee(登録商標)、Bluetooth(登録商標)等が含まれる。有線で接続する場合は、ネットワークには、USB(Universal Serial Bus)ケーブル等により直接接続するものも含む。
【0139】
なお、各ハードウェア構成の全部または一部を複数のコンピュータ90に分散して設け、ネットワークを介して相互に接続することによりコンピュータ90を仮想的に実現することができる。このように、コンピュータ90は、単一の筐体、ケースに収納されたコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0140】
<コンピュータ90の基本機能構成>
図18に示すコンピュータ90の基本ハードウェア構成により実現されるコンピュータの機能構成を説明する。コンピュータは、制御部、記憶部、通信部の機能ユニットを少なくとも備える。
【0141】
なお、コンピュータ90が備える機能ユニットは、それぞれの機能ユニットの全部または一部を、ネットワークで相互に接続された複数のコンピュータ90に分散して設けても実現することができる。コンピュータ90は、単一のコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0142】
制御部は、プロセッサ91が補助記憶装置93に記憶された各種プログラムを読み出して主記憶装置92に展開し、当該プログラムに従って処理を実行することにより実現される。制御部は、プログラムの種類に応じて様々な情報処理を行う機能ユニットを実現することができる。これにより、コンピュータは情報処理を行う情報処理装置として実現される。
【0143】
記憶部は、主記憶装置92、補助記憶装置93により実現される。記憶部は、データ、各種プログラム、各種データベースを記憶する。また、プロセッサ91は、プログラムに従って記憶部に対応する記憶領域を主記憶装置92または補助記憶装置93に確保することができる。また、制御部は、各種プログラムに従ってプロセッサ91に、記憶部に記憶されたデータの追加、更新、削除処理を実行させることができる。
【0144】
データベースは、リレーショナルデータベースを指し、行と列によって構造的に規定された表形式のテーブルと呼ばれるデータ集合を、互いに関連づけて管理するためのものである。データベースでは、表をテーブル、表の列をカラム、表の行をレコードと呼ぶ。リレーショナルデータベースでは、テーブル同士の関係を設定し、関連づけることができる。
通常、各テーブルにはレコードを一意に特定するためのキーとなるカラムが設定されるが、カラムへのキーの設定は必須ではない。制御部は、各種プログラムに従ってプロセッサ91に、記憶部に記憶された特定のテーブルにレコードを追加、削除、更新を実行させることができる。
【0145】
通信部は、通信IF99により実現される。通信部は、ネットワークを介して他のコンピュータ90と通信を行う機能を実現する。通信部は、他のコンピュータ90から送信された情報を受信し、制御部へ入力することができる。制御部は、各種プログラムに従ってプロセッサ91に、受信した情報に対する情報処理を実行させることができる。また、通信部は、制御部から出力された情報を他のコンピュータ90へ送信することができる。
【0146】
以上、本開示のいくつかの実施形態を説明したが、これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。
【0147】
<付記>
以上の各実施形態で説明した事項を以下に付記する。
【0148】
(付記1)
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、プログラムは、プロセッサに、テスト設計書の指定を受け付けるステップと、指定を受け付けたテスト設計書において、所定の機能に含まれる複数のテスト項目のうち、少なくともいずれかのテスト項目に対する指定を受け付けるステップと、指定されたテスト項目のテストを実施するための情報をテストセットとして、任意のユーザがアクセス可能に記憶するステップと、任意のユーザからの要求に応じ、記憶するテストセットを読み出し、読み出したテストセットを、任意のユーザが作成しているテスト設計書の所定領域に挿入するステップとを実行させるプログラム。
(付記2)
記憶するステップにおいて、テスト項目のテストを実施するための情報は、テスト観点、確認項目、期待値、因子、水準、パターンを含む(付記1)に記載のプログラム。
(付記3)
記憶するステップにおいて、テストセットに関する文章を、テストセットと関連付けて記憶する(付記1)又は(付記2)に記載のプログラム。
(付記4)
記憶するステップにおいて、テストセットに関する文章は、テストセットについての説明、又はテストセットに基づくテストを実施したテスターからのコメントである(付記3)に記載のプログラム。
(付記5)
記憶するステップにおいて、類似するテストセットが既に記憶されている場合、テスト項目の指定、テストセットの名称の設定、又はこれらの両方を再度受け付ける(付記1)乃至(付記4)のいずれかに記載のプログラム。
(付記6)
記憶するステップにおいて、類似するテストセットが既に記憶されている場合、指定されたテスト項目に係るテストセットの内容と、既に記憶されているテストセットの内容とを比較可能に、テスト項目を指定したユーザへ提示する(付記1)乃至(付記5)のいずれかに記載のプログラム。
(付記7)
記憶するステップにおいて、指定されたテスト項目に係るテストセットの内容と、既に記憶されているテストセットの内容とが異なるが、これらのテストセットの名称が類似する場合、既に記憶されているテストセットとは異なる名称での記憶を提案する(付記1)乃至(付記6)のいずれかに記載のプログラム。
(付記8)
テスト設計書を作成する際に情報を入力するための領域に、任意のユーザから文字の入力を受け付けると、入力された文字と関連するテストセットを、任意のユーザに提示するステップをプロセッサに実行させる(付記1)乃至(付記7)のいずれかに記載のプログラム。
(付記9)
提示するステップにおいて、入力された文字と関連するテストセットが複数ある場合、テスト設計書の作成日、含まれるテスト項目の多さ、不具合発生率の高さ、流用回数の多さ、又はテストセット名の語順に基づく順番で、複数のテストセットを提示する(付記8)に記載のプログラム。
(付記10)
テストセットを利用して作成したテスト設計書に基づくテストケースのテスト結果を記憶するステップと、テストセットに係るテストケースのテスト結果を分析するステップと、任意のユーザがテスト設計書を作成する際、任意のユーザが利用可能なテストセットを、当該テストセットに係るテストケースのテスト結果を分析した結果と共に提示するステップとをプロセッサに実行させる(付記1)乃至(付記9)のいずれかに記載のプログラム。
(付記11)
提示するステップにおいて、利用可能なテストセットが複数ある場合、分析した結果に基づく順序で、複数のテストセットを提示する(付記10)に記載のプログラム。
(付記12)
テストセットが利用された回数を集計するステップと、集計結果を分析するステップと、任意のユーザがテスト設計書を作成する際、任意のユーザが利用可能なテストセットを、当該テストセットの利用回数を分析した結果と共に提示するステップとをプロセッサに実行させる(付記1)乃至(付記11)のいずれかに記載のプログラム。
(付記13)
提示するステップにおいて、利用可能なテストセットが複数ある場合、分析した結果に基づく順序で、複数のテストセットを提示する(付記12)に記載のプログラム。
(付記14)
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、プロセッサが、テスト設計書の指定を受け付けるステップと、指定を受け付けたテスト設計書において、所定の機能に含まれる複数のテスト観点のうち、少なくともいずれかのテスト観点に対する指定を受け付けるステップと、指定されたテスト観点のテストを実施するための情報をテストセットとして、任意のユーザがアクセス可能に記憶するステップと、任意のユーザからの要求に応じ、記憶するテストセットを読み出し、読み出したテストセットを、任意のユーザが作成しているテスト設計書の所定領域に挿入するステップとを実行する方法。
(付記15)
制御部と、記憶部とを備える情報処理装置であって、制御部が、テスト設計書の指定を受け付けるステップと、指定を受け付けたテスト設計書において、所定の機能に含まれる複数のテスト観点のうち、少なくともいずれかのテスト観点に対する指定を受け付けるステップと、指定されたテスト観点のテストを実施するための情報をテストセットとして、任意のユーザがアクセス可能に記憶するステップと、任意のユーザからの要求に応じ、記憶するテストセットを読み出し、読み出したテストセットを、任意のユーザが作成しているテスト設計書の所定領域に挿入するステップとを実行する情報処理装置。
(付記16)
テスト設計書の指定を受け付ける手段と、指定を受け付けたテスト設計書において、所定の機能に含まれる複数のテスト観点のうち、少なくともいずれかのテスト観点に対する指定を受け付ける手段と、指定されたテスト観点のテストを実施するための情報をテストセットとして、任意のユーザがアクセス可能に記憶する手段と、任意のユーザからの要求に応じ、記憶するテストセットを読み出し、読み出したテストセットを、任意のユーザが作成しているテスト設計書の所定領域に挿入する手段とを具備するシステム。
【符号の説明】
【0149】
1…システム
10…端末装置
121…通信部
13…入力装置
131…マウス
132…キーボード
133…タッチ・センシティブ・デバイス
14…出力装置
141…ディスプレイ
15…メモリ
16…ストレージ
180…記憶部
190…制御部
191…操作受付部
192…送受信部
193…提示制御部
19…プロセッサ
20…サーバ
201…通信部
202…記憶部
203…制御部
25…メモリ
26…ストレージ
29…プロセッサ
80…ネットワーク