IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝ソリューション株式会社の特許一覧

特開2025-7644情報処理装置、情報処理方法およびプログラム
<>
  • 特開-情報処理装置、情報処理方法およびプログラム 図1
  • 特開-情報処理装置、情報処理方法およびプログラム 図2
  • 特開-情報処理装置、情報処理方法およびプログラム 図3A
  • 特開-情報処理装置、情報処理方法およびプログラム 図3B
  • 特開-情報処理装置、情報処理方法およびプログラム 図3C
  • 特開-情報処理装置、情報処理方法およびプログラム 図4
  • 特開-情報処理装置、情報処理方法およびプログラム 図5A
  • 特開-情報処理装置、情報処理方法およびプログラム 図5B
  • 特開-情報処理装置、情報処理方法およびプログラム 図6
  • 特開-情報処理装置、情報処理方法およびプログラム 図7
  • 特開-情報処理装置、情報処理方法およびプログラム 図8
  • 特開-情報処理装置、情報処理方法およびプログラム 図9
  • 特開-情報処理装置、情報処理方法およびプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025007644
(43)【公開日】2025-01-17
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
   G06F 8/10 20180101AFI20250109BHJP
   G06F 8/30 20180101ALI20250109BHJP
   G06F 11/36 20060101ALI20250109BHJP
【FI】
G06F8/10
G06F8/30
G06F11/36 136
G06F11/36 164
G06F11/36 184
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023109182
(22)【出願日】2023-07-03
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】301063496
【氏名又は名称】東芝デジタルソリューションズ株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】稲葉 昴裕
(72)【発明者】
【氏名】前田 尚人
【テーマコード(参考)】
5B042
5B376
【Fターム(参考)】
5B042HH17
5B042HH19
5B042HH30
5B376BB03
5B376BB13
5B376BC65
(57)【要約】
【課題】テスト仕様書の作成工数を削減できる情報処理装置、情報処理方法およびプログラムを提供すること。
【解決手段】実施形態の情報処理装置は、設計情報読込部と、テスト観点データ読込部と、設計情報トレース管理部と、テスト仕様書生成部とを持つ。設計情報読込部は、テスト対象の設計書を複数読み込み、複数の設計書の各々に含まれる設計情報をモデルに分解する。テスト観点データ読込部は、テスト観点データを読み込む。設計情報トレース管理部は、複数の設計書の各々に含まれる設計情報をモデルに分解した結果に基づきモデル間の対応関係を定義する。テスト仕様書生成部は、テスト観点データと、複数の設計書の各々に含まれる設計情報をモデルに分解した結果と、モデル間の対応関係を定義した結果とに基づいて、複数の設計書のテスト項目を生成し、生成したテスト項目に基づいてテスト仕様書を生成する。
【選択図】図2
【特許請求の範囲】
【請求項1】
設計書のテスト仕様書を作成する情報処理装置において、
テスト対象の設計書を複数読み込み、読み込んだ複数の前記設計書の各々に含まれる設計情報をモデルに分解する設計情報読込部と、
テスト観点データを読み込むテスト観点データ読込部と、
複数の前記設計書の各々に含まれる設計情報をモデルに分解した結果に基づいて、モデル間の対応関係を定義する設計情報トレース管理部と、
前記テスト観点データ読込部が読み込んだ前記テスト観点データと、前記設計情報読込部によって複数の前記設計書の各々に含まれる設計情報をモデルに分解した結果と、前記設計情報トレース管理部によってモデル間の対応関係を定義した結果とに基づいて、複数の前記設計書のテスト項目を生成し、生成した前記テスト項目に基づいてテスト仕様書を生成するテスト仕様書生成部と
を備える、情報処理装置。
【請求項2】
メタ情報に対して定義された検証ルールに基づいて、複数の前記設計書の各々に含まれる設計情報をモデルに分解した結果に設計漏れがあるか否かを検証する設計情報検証管理部
をさらに備え、
前記テスト仕様書生成部は、前記設計情報検証管理部によって設計漏れがないとされた設計情報をモデルに分解した結果に基づいて、複数の前記設計書のテスト項目を生成し、生成した前記テスト項目に基づいてテスト仕様書を生成する、請求項1に記載の情報処理装置。
【請求項3】
メタ情報に対して定義された検証ルールに基づいて、複数の前記設計書の各々に含まれる設計情報をモデルに分解した結果に誤りが無いか否かを検証する設計情報検証管理部
をさらに備え
前記テスト仕様書生成部は、前記設計情報検証管理部によって誤りが無いとされた設計情報をモデルに分解した結果に基づいて、複数の前記設計書のテスト項目を生成し、生成した前記テスト項目に基づいてテスト仕様書を生成する、請求項1に記載の情報処理装置。
【請求項4】
前記設計情報トレース管理部は、複数の前記設計書の各々に含まれる設計情報をモデルに分解して得られるクラス図に含まれる項目間の対応関係を定義する、請求項1に記載の情報処理装置。
【請求項5】
前記テスト仕様書生成部は、生成した前記テスト項目の値を、前記設計情報をモデルに分解した結果から取得する、請求項1に記載の情報処理装置。
【請求項6】
前記テスト仕様書生成部は、生成した前記テスト項目の値を、前記設計情報をモデルに分解した結果から、前記モデル間の対応関係を定義した結果を使用して取得する、請求項1に記載の情報処理装置。
【請求項7】
設計書のテスト仕様書を作成する情報処理装置が実行する情報処理方法において、
テスト対象の設計書を複数読み込み、読み込んだ複数の前記設計書の各々に含まれる設計情報をモデルに分解し、
テスト観点データを読み込み、
複数の前記設計書の各々に含まれる設計情報をモデルに分解した結果に基づいて、モデル間の関連を定義し、
前記テスト観点データと、複数の前記設計書の各々に含まれる設計情報をモデルに分解した結果と、モデル間の関連を定義した結果とに基づいて、複数の前記設計書のテスト項目を生成し、生成した前記テスト項目に基づいてテスト仕様書を生成する、情報処理方法。
【請求項8】
コンピュータに
テスト対象の設計書を複数読み込ませ、読み込ませた複数の前記設計書の各々に含まれる設計情報をモデルに分解させ、
テスト観点データを読み込ませ、
複数の前記設計書の各々に含まれる設計情報をモデルに分解した結果に基づいて、モデル間の関連を定義させ、
前記テスト観点データと、複数の前記設計書の各々に含まれる設計情報をモデルに分解した結果と、モデル間の関連を定義した結果とに基づいて、複数の前記設計書のテスト項目を生成させ、生成させた前記テスト項目に基づいてテスト仕様書を生成させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
システムおよびソフトウェアの開発を行う際には、これらの作業のアウトプットとしてドキュメントを別途作成する必要がある。このドキュメントとしては、例えば、設計の図面やプログラムの仕様等があり、作成はCASE(Computer Aided Software Engineering)ツール等を用いて行われる。
【0003】
なお、システムおよびソフトウェアの開発では、分析、設計、開発、テストのライフサイクルを考慮する必要がある。これらのライフサイクルの入力情報は、顧客からの要件を基に決定される。この顧客要件は、ライフサイクルを通じて、要求仕様、機能仕様、設計仕様、テストシナリオ、コンポーネント、テスト結果、製品等に具体化される。同様に、ライフサイクルを通じて、要求仕様書、機能仕様書、ソフトウェア・システム設計書、テスト仕様書、テスト成績書、詳細設計書、テスト完了報告書、出荷報告書等のドキュメントに文書化される。
【0004】
テスト仕様書の作成は人手で賄われており、多くのコストを費やしている。例えば、テスト項目の洗い出しは、テスト設計者の経験に依存している。このため、テスト項目の洗い出しは、熟練した技術者であっても、抜け漏れなく設計するのは困難である。
【0005】
システムおよびソフトウェアの仕様の定義決定、登録、更新等を行い、この仕様を基に正式なドキュメントを正確に作成する技術が知られている(例えば、特許文献1参照)。この技術ではシステムおよびソフトウェアの仕様を定義した成果物をメタモデルに分類して定義・管理する。また、この技術では、クラス名、親クラス名、クラス制約条件が定義される。また、この技術では、設計情報が制約条件を満たすか否かが検証される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2013-254503号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明が解決しようとする課題は、テスト仕様書の作成工数を削減できる情報処理装置、情報処理方法およびプログラムを提供することである。
【課題を解決するための手段】
【0008】
実施形態の情報処理装置は、設計情報読込部と、テスト観点データ読込部と、設計情報トレース管理部と、テスト仕様書生成部とを持つ。前記設計情報読込部は、テスト対象の設計書を複数読み込み、読み込んだ複数の前記設計書の各々に含まれる設計情報をモデルに分解する。前記テスト観点データ読込部は、テスト観点データを読み込む。前記設計情報トレース管理部は、複数の前記設計書の各々に含まれる設計情報をモデルに分解した結果に基づいて、モデル間の対応関係を定義する。前記テスト仕様書生成部は、前記テスト観点データ読込部が読み込んだ前記テスト観点データと、前記設計情報読込部によって複数の前記設計書の各々に含まれる設計情報をモデルに分解した結果と、前記設計情報トレース管理部によってモデル間の対応関係を定義した結果とに基づいて、複数の前記設計書のテスト項目を生成し、生成した前記テスト項目に基づいてテスト仕様書を生成する。
【図面の簡単な説明】
【0009】
図1】モデルのデータ形式の一例を示す図
図2】本実施形態の情報処理装置の一例を示す図
図3A】本実施形態の情報処理装置によって実行される処理の一例を示す図
図3B】本実施形態の情報処理装置によって実行される処理の一例を示す図
図3C】本実施形態の情報処理装置によって実行される処理の一例を示す図
図4】テスト観点一覧表の一例を示す図
図5A】本実施形態の情報処理装置によって実行される処理の一例を示す図
図5B】本実施形態の情報処理装置によって実行される処理の一例を示す図
図6】本実施形態の情報処理装置によって実行される処理の一例を示す図
図7】本実施形態の情報処理装置の動作の一例を示すフローチャート
図8】本実施形態の情報処理装置の動作の一例を示すフローチャート
図9】本実施形態の情報処理装置の動作の一例を示すフローチャート
図10】実施形態の変形例の情報処理装置の一例を示す図
【発明を実施するための形態】
【0010】
以下、実施形態の情報処理装置、情報処理方法およびプログラムを、図面を参照して説明する。なお以下の説明では、同一または類似の機能を有する構成に同一の符号を付す。そして、それら構成の重複する説明は省略する場合がある。
【0011】
(実施形態)
<モデルのデータ形式>
図1は、モデルのデータ形式の一例を示す図である。モデルのデータ形式とは、管理者が設計メタ情報を定義する際にベースとする、設計モデル、ドキュメント、これらの間の関連情報の基礎情報となる。
【0012】
(設計メタ情報)
モデルのデータ形式は、設計メタ情報として、モデルのデータ形式である「モデルクラス」「モデル間関連クラス」、「ドキュメントクラス」、「モデルドキュメント間関連クラス」を基底クラスとして備える。なお、クラスとは、オブジェクト指向の技術分野にて定義されたデータの型を指す。
【0013】
図1は、オブジェクト指向技術記法であるUML(Unified Modeling Language)に則って記載されたクラス図であり、長方形はクラスを表し、長方形間の直線はクラス間の関連を表す。クラス内は、3つに分けて表現され、上段はクラス名、中段は属性、下段には操作が記述される。全ての操作1c,操作2c,操作3cおよび操作4cは、斜体文字で示されている。
【0014】
操作1c~操作4cは、抽象操作を示し、本クラスを継承するクラスを管理者が定義する際に、本クラスの特性に応じて、操作の実体を再定義する。
【0015】
モデルクラス1は、開発のライフサイクルを通じて作成する仕様の最小単位の型である。モデルクラスのデータは、この型のデータである。また、モデルクラス1は、全てのモデルクラスの親クラスであり、管理者は、当該クラスの子クラスとして、具体的なモデル毎にモデルクラスを定義する。
【0016】
モデルクラス1は、クラス名1aとして「モデル」、属性1bとして「モデル名」、「モデルID」、「バーション」、「修正可能性フラグ」、「変更履歴」、この他「識別子」等の属性を備える。操作1cとしては「クラス制約条件検証( )」操作、「インスタンス制約条件検証( )」操作、「特定インスタンス制約条件検証( )」操作を備える。なお、これら操作の制約条件については後述する。
【0017】
属性1bの「From」には関連元のクラス名、「To」には関連先のクラス名、「バーション」にはバーション情報を、「修正可能性フラグ」には修正が必要となる可能性のあるフラグ“ON”又は修正不要フラグ“OFF”を、「変更履歴」には変更済みの履歴情報を記載する。
【0018】
モデルクラス1を継承してあらたにクラスを定義する場合、操作1cの「クラス制約条件検証( )」操作および「インスタンス制約条件検証( )」操作は、管理者が定義する。「特定インスタンス制約条件検証( )」操作は、新たに定義したクラスのインスタンスを定義する際、ユーザが定義する。
【0019】
複数のモデルクラス1の間には、親と子の関係を備える場合がある。この場合の親子関係とは、親の要素として、子となるクラスが対応する、全体と部分の関係を持つことを指す。
【0020】
モデル間関連クラス2は、モデルとして定義した任意の2つのモデル間の関連の型である。モデル間関連クラスのデータは、この型のデータである。開発のライフサイクルを通じて作成する仕様には様々な種類があり、入力関係、参照関係、設計と対応する検証仕様の関係等の関連にも様々な種類がある為、これらの関連をモデル間関連クラス2にて定義する。
【0021】
モデル間関連クラス2は、全てのモデル間関連クラスの親クラスであり、管理者は当該クラスの子クラスとしてドキュメントに含まれる具体的なモデル間関連毎にモデル間関連クラスを定義する。
【0022】
モデル間関連クラス2は、クラス名2aとして「モデル間関連」、属性2bとしてモデルクラス1の属性1bと同様の「From」、「To」、「バーション」、「修正可能性フラグ」、「変更履歴」、この他「説明」、「関連元モデルリスト」、「関連先モデルリスト」等の属性を備える。操作2cとしてはモデルクラス1の操作3cと同様の操作と、必要に応じて「制約条件による関連の検証」の操作も備える。
【0023】
ドキュメントクラス3は、開発のライフルサイクルを通じて作成するドキュメント(文書)の最小単位の型である。ドキュメントクラスのデータは、この型のデータである。また、ドキュメントクラス3は、全てのドキュメントクラスの親クラスであり、管理者は当該クラスの子クラスとして具体的なドキュメント毎にドキュメントクラスを定義する。
ドキュメントクラス3は、クラス名3aとして「ドキュメント」、属性3bとしてモデルクラス1の属性1bと同様の「ドキュメント名称」、「ドキュメントID」、「バーション」、「修正可能性フラグ」、「変更履歴」、この他「識別子」、「説明」、「サブドキュメントリスト」等の属性を備える。操作3cとしては、モデルクラス1と同様の操作を備える。
【0024】
複数のドキュメントクラス3の間には、親と子の関係を備える場合がある。この場合の親子関係とは、親の要素として、子となるクラスが対応する、全体と部分の関係を持つことを指す。
【0025】
モデルドキュメント間関連クラス4は、「モデル」、「ドキュメント」として定義した、任意のモデルとドキュメントの間の関連の型である。モデルドキュメント間関連クラスのデータは、この型のデータである。開発のライフサイクルを通じて作成するドキュメントは、同じく開発のライフサイクルを通じて作成する仕様情報であり「モデル」の情報に基づいて文章として作成する。このとき「モデル」と「ドキュメント」の関係には、要求と要求仕様書、設計仕様と設計仕様書、テストシナリオとテスト仕様書等の様々な関連が存在するため、そのような関連の型をモデルドキュメント間関連クラス4にて定義する。
【0026】
また、モデルドキュメント間関連クラス4は、全てのモデルドキュメント間関連クラスの親クラスであり、管理者は当該クラスの子クラスとしてドキュメントに含まれる具体的なモデルドキュメント間関連毎にモデルドキュメント間関連クラスを定義する。
【0027】
モデルドキュメント間関連クラス4は、クラス名4aとして「モデルドキュメント間関連」、属性4bとしてモデルクラス1の属性1bと同様の「From」「To」「バーション」「修正可能性フラグ」「変更履歴」、この他「説明関連元モデルリスト」「関連先ドキュメントリスト」等の属性を備える。操作4cとしてモデルクラス1の操作1cと同様であり、必要に応じて「制約条件による関連の検証」の操作を備える。
【0028】
(設計情報)
設計情報は、上記した4つの各クラスによって作成されるデータの実態であり、「モデルインスタンス」、「モデル間関連インスタンス」、「ドキュメントインスタンス」、「モデルドキュメント関連インスタンス」を備える。なお、図示しないが、これらのインスタンスも図1のクラスと同様に、インスタンス内は、3つに分けて表現され、上段にはインスタンスの名称、中段には属性、下段には操作が記述される。操作は、抽象操作を示す。操作の実体は、上記した親クラスを継承するインスタンスをユーザが定義する際に、親クラスの特性に応じて、定義する。
【0029】
モデルインスタンスは、開発のライフサイクルを通じて作成する仕様の最小単位の実体である。モデルインスタンスのデータは、この実体のデータである。モデルインスタンスの属性としては、親となるモデルクラスの識別子、インスタンスの識別子および名称(説明)、子となるモデルインスタンスの識別子を備える。モデルインスタンスの操作としては、必要に応じて、制約条件による仕様検証の操作を備える。
【0030】
モデル間関連インスタンスは、モデルインスタンスとして定義した任意の2つのモデルインスタンス間の関連情報であり、モデル間関連クラスとして、定義した関連の型の実体である。モデル間関連インスタンスのデータは、この実体のデータである。モデル間関連インスタンスの属性としては、親となるモデル間関連識別子、関連元のモデルインスタンス識別子、関連先のモデルインスタンス識別子を備える。モデル間関連インスタンスの操作としては、必要に応じ、制約条件による関連の検証の操作を備える。
【0031】
ドキュメントインスタンスは、開発のライフサイクルを通じて作成するドキュメント(文書)の最小単位の実体である。ドキュメントインスタンスのデータは、この実体のデータである。ドキュメントインスタンスの属性としては、親となるドキュメントクラスの識別子、ドキュメントインスタンスの識別子および名称(説明)、子となるドキュメントインスタンスの識別子を備える。ドキュメントインスタンスの操作としては、必要に応じ、制約条件によるドキュメント検証の操作を備える。
【0032】
モデルドキュメント間関連インスタンスは、モデルインスタンスとドキュメントインスタンスとして定義した、任意のモデルインスタンスとドキュメントインスタンス間の関連情報であり、モデルドキュメント間関連クラスとして定義した関連の型の実体である。モデルドキュメント間関連インスタンスのデータは、この実体のデータである。モデルドキュメント間関連インスタンスの属性としては、親となるモデルドキュメント間関連識別子、関連元のモデルインスタンス識別子、関連先のドキュメントインスタンス識別子を備える。モデルドキュメント間関連インスタンスの操作としては、必要に応じ、制約条件による関連の検証の操作を備える。
【0033】
(制約条件)
設計メタ情報において、図1の操作1c,操作2c,操作3cおよび操作4cの「クラス制約条件検証( )」操作、「インスタンス制約条件検証( )」操作、「特定インスタンス制約条件検証( )」操作を備え、設計情報である4つのインスタンスも各操作を備えると上述したが、以下でこれらクラスおよびインスタンスを定義するための制約条件について説明する。
【0034】
制約条件は、「モデル」、「モデル間関連」、「ドキュメント」、および「モデルドキュメント間関連」のそれぞれに、必要に応じて、設定するルールである。具体的に制約条件としては、例えば「テスト」というモデルであれば、テストモデルの一つ一つには「入力と出力が定義されていなければならない」、テストモデルの集合には、「機能モデルから関連されていないテストモデルは存在してはならない」等のルールを設定する。
【0035】
制約条件には、クラスに関する制約条件、クラスに属するインスタンスに広く適用される制約条件、ある特定のインスタンスにだけ適用される制約条件がある。クラスの制約条件とインスタンスの制約条件は、モデルクラス1、モデル間関連クラス2、ドキュメントクラス3およびモデルドキュメント間関連クラス4において、管理者が必要に応じて、「クラス制約条件検証( )」操作、「インスタンス制約条件検証( )」操作として定義する。また、特定のインスタンスの制約条件は、各クラスのインスタンスにおいて、ユーザが必要に応じて、「特定インスタンス制約条件検証( )」操作として定義する。
【0036】
<情報処理装置>
図2は、本実施形態の情報処理装置の一例を示す図である。本実施形態の情報処理装置10は、パーソナルコンピュータ、サーバ、スマートフォン、タブレットコンピュータ又は産業用コンピュータ等の装置によって実現される。
情報処理装置10は、設計書のテスト仕様書を作成する。情報処理装置10は、設計情報読込部11と、テスト観点データ読込部12と、設計情報記憶部13と、設計情報トレース管理部14と、トレース記憶部15と、テスト仕様書生成部16とを備える。
【0037】
設計情報読込部11は、設計書テンプレートに基づいて作成された設計書を読み込む。設計書の一例は、テスト対象の設計書である。設計情報読込部11は、読み込んだ設計書に含まれる設計情報をモデルに分解する。設計情報読込部11は、設計情報とともに、設計書に含まれる情報をモデルに分解した結果を、設計情報記憶部13に記憶させる。
【0038】
図3Aは、本実施形態の情報処理装置によって実行される処理の一例を示す図である。図3Aは、一例として、設計情報読込部11が、画面の設計書テンプレートに基づいて作成された画面一覧表を読み込み、読み込んだ画面一覧表をモデルに分解して得られるクラス図を示す。クラス内は、複数に分けて表現され、図3Aによれば、クラス内は、項目として、仕様クラス、画面ID、画面名、説明が定義されて、それぞれ、仕様クラス、画面ID、画面名、説明が記述される。
【0039】
仕様クラスは、画面一覧表における仕様のデータの型であり、例えば「画面」などが記述される。画面IDは、画面の識別情報であり、例えば「IMG01」、「IMG02」、「IMG03」などが記述される。画面名は、画面の名称であり、例えば「画面01」、「画面02」、「画面03」などが記述される。説明は、画面一覧表における仕様についての記述であり、例えば仕様の内容が記述される。
【0040】
設計情報読込部11は、画面一覧表をモデルに分解することによって、仕様クラスとして「画面」、画面IDとして「IMG01」、画面名として「画面01」、説明として「・・・」をクラス図に含める。また、設計情報読込部11は、画面一覧表をモデルに分解することによって、仕様クラスとして「画面」、画面IDとして「IMG02」、画面名として「画面02」、説明として「・・・」をクラス図に含める。
【0041】
また、設計情報読込部11は、画面一覧表をモデルに分解することによって、仕様クラスとして「画面」、画面IDとして「IMG03」、画面名として「画面03」、説明として「・・・」をクラス図に含める。設計情報読込部11は、画面一覧表をモデルに分解することによって得られたクラス図を、設計情報記憶部13に記憶させる。
【0042】
図3Bは、本実施形態の情報処理装置によって実行される処理の一例を示す図である。図3Bは、一例として、設計情報読込部11が、画面項目の設計書テンプレートに基づいて作成された画面項目仕様書を読み込み、読み込んだ画面項目仕様書をモデルに分解して得られるクラス図を示す。クラス内は、複数に分けて表現され、図3Bによれば、クラス内は、項目として、仕様クラス、画面項目ID、画面項目名、要素タイプ、ラベルが定義されて、それぞれ、仕様クラス、画面項目ID、画面項目名、要素タイプ、ラベルが記述される。
【0043】
仕様クラスは、画面項目仕様書における仕様のデータの型であり、例えば「画面項目」などが記述される。画面項目IDは、画面項目の識別情報であり、例えば「IMG01.01」、「IMG01.02」、「IMG01.03」などが記述される。画面項目名は、画面項目の名称であり、例えば「タイトル」、「○○ラベル」、「××ボタン」などが記述される。要素タイプは、画面項目の型(種類)であり、例えば「タイトル」、「ラベル」、「ボタン」などが記述される。ラベルは、画面項目仕様書における仕様についての記述であり、例えば仕様の内容が記述される。
【0044】
設計情報読込部11は、画面項目仕様書をモデルに分解することによって、仕様クラスとして「画面項目」、画面項目IDとして「IMG01.01」、画面項目名として「タイトル」、要素タイプとして「タイトル」、ラベルとして「・・・」をクラス図に含める。また、設計情報読込部11は、画面一覧表をモデルに分解することによって、仕様クラスとして「画面項目」、画面項目IDとして「IMG01.02」、画面項目名として「○○ラベル」、要素タイプとして「ラベル」、ラベルとして「・・・」をクラス図に含める。
【0045】
また、設計情報読込部11は、画面一覧表をモデルに分解することによって、仕様クラスとして「画面項目」、画面項目IDとして「IMG01.03」、画面項目名として「××ボタン」、要素タイプとして「ボタン」、ラベルとして「・・・」をクラス図に含める。設計情報読込部11は、画面項目仕様書をモデルに分解することによって得られたクラス図を、設計情報記憶部13に記憶させる。
【0046】
図3Cは、本実施形態の情報処理装置によって実行される処理の一例を示す図である。図3Cは、一例として、設計情報読込部11が、画面項目処理の設計書テンプレートに基づいて作成された画面項目処理仕様書を読み込み、読み込んだ画面項目処理仕様書をモデルに分解して得られるクラス図を示す。
クラス内は、複数に分けて表現され、図3Cによれば、クラス内は、項目として、仕様クラス、アクションID、アクション名、イベント、対応項目名、アクション詳細、処理説明が定義されて、それぞれ、仕様クラス、アクションID、アクション名、イベント、対応項目名、アクション詳細、処理説明が記述される。
【0047】
仕様クラスは、画面項目処理仕様書における仕様のデータの型であり、例えば「アクション」などが記述される。アクションIDは、アクションの識別情報であり、例えば「ACT01.01」、「ACT01.02」、「ACT01.03」などが記述される。アクション名は、アクションの名称であり、例えば「初期表示」、「××ボタンクリック時の正常終了」、「××ボタンクリック時の異常終了」などが記述される。イベントは、画面のアクションが発生する条件であり、例えば「××ボタンをクリック」などが記述される。対応項目名は、画面のアクションと対応する画面項目であり、例えば「××ボタン」などが記述される。アクション詳細は、アクションについての記述であり、例えばアクションの内容が記述される。処理説明は、処理についての記述であり、例えば処理の内容が記述される。
【0048】
設計情報読込部11は、画面項目処理仕様書をモデルに分解することによって、仕様クラスとして「アクション」、アクションIDとして「ACT01.01」、アクション名として「初期表示」、イベントとして「・・・」、対応項目名として「・・・」、アクション詳細として「・・・」、処理説明として「・・・」をクラス図に含める。
設計情報読込部11は、画面項目処理仕様書をモデルに分解することによって、仕様クラスとして「アクション」、アクションIDとして「ACT01.02」、アクション名として「××ボタンクリック時の正常終了」、イベントとして「・・・」、対応項目名として「・・・」、アクション詳細として「・・・」、処理説明として「・・・」をクラス図に含める。
【0049】
設計情報読込部11は、画面項目処理仕様書をモデルに分解することによって、仕様クラスとして「アクション」、アクションIDとして「ACT01.03」、アクション名として「××ボタンクリック時の異常終了」、イベントとして「・・・」、対応項目名として「・・・」、アクション詳細として「・・・」、処理説明として「・・・」をクラス図に含める。設計情報読込部11は、画面項目処理仕様書をモデルに分解することによって得られたクラス図を、設計情報記憶部13に記憶させる。図2に戻り、説明を続ける。
【0050】
テスト観点データ読込部12は、テスト観点定義テンプレートに基づいて作成されたテスト観点一覧表を読み込む。テスト観点一覧表の一例は、テストの観点を一覧にしたものである。テスト観点データ読込部12は、読み込んだテスト観点一覧表を、設計情報記憶部13に記憶させる。
【0051】
図4は、テスト観点一覧表の一例を示す図である。図4は、一例として、テスト観点データ読込部12が読み込むテスト観点一覧表を示す。テスト観点一覧表は、複数の項目を含み、図4によれば、項目として、テスト観点ID、テスト観点_大、テスト観点_中、テスト観点_小、テスト分類、テスト工程、仕様クラス、属性名、属性値、説明、操作、確認が定義され、それぞれ、テスト観点ID、テスト観点_大、テスト観点_中、テスト観点_小、テスト分類、テスト工程、仕様クラス、属性名、属性値、説明、操作、確認が記述される。
【0052】
テスト観点IDはテスト観点の識別情報であり、例えば、「KANTEN01」、「KANTEN02」、「KANTEN03」などが記述される。テスト観点_大は、テストの大項目であり、例えば、「画面系」などが記述される。テスト観点_中は、テストの中項目であり、例えば、「画面仕様」、「画面項目仕様」、「画面項目処理仕様」などが記述される。テスト観点_小は、テストの小項目であり、例えば、「画面名」、「ラベル」、「アクション」などが記述される。テスト分類は、テストの分類であり、例えば、「画面」などが記述される。テスト工程は、テストの種類であり、例えば、「単体テスト」などが記述される。
【0053】
仕様クラス、属性名および属性値は、生成するテストの内容を判定するための定義である。仕様クラス、属性名および属性値は、テスト対象となる仕様クラスとIDで紐付くことを前提とする。仕様クラスのみが定義されている場合には前提を満たす仕様クラスの仕様データが存在することをテストする。仕様クラスおよび属性名が定義されている場合には前提を満たす仕様クラスの仕様データの属性名に任意のデータが定義されていることをテストする。仕様クラス、属性名および属性値が定義されている場合には前提を満たす仕様クラスの仕様データの属性名に属性値のデータが定義されていることをテストする。
【0054】
仕様クラスは、テスト観点一覧表における仕様のデータの型であり、であり、例えば、画面、画面項目、アクションなどが記述される。属性名は、テスト観点の属性の名称であり、例えば、画面名、ラベル、イベントなどが記述される。属性値は、テスト対象となる設計情報の値を固定値として定義したものであり、例えば、画面項目の場合、仕様クラスには「画面項目」、属性名には「タイプ」、属性値には「プルダウンメニュー」などが記述される。
【0055】
説明は、テスト観点の説明であり、例えば、「画面名の確認」、「画面項目ラベルの確認」、「画面項目アクションの確認」などが記述される。操作は、テストの方法であり、例えば、「「[spec:画面名]」を初期状態で表示させる。」、「「[spec:画面名]」を初期状態で表示させて、画面上の画面項目「[spec:画面項目名]」を表示させる。」、「「[spec:画面名]」を初期状態で表示させて、画面項目「[spec:画面項目名]」で「[spec:イベント]」をして、以下の処理をする。[spec:処理説明]」などが記述される。ここで、[spec:XXX]タグは設計情報の値を動的に埋め込むためのタグ情報である。
【0056】
確認は、テストの結果の確認方法であり、例えば、「画面名として「[spec:画面名]」が表示されていることを確認する。」、「ラベルが「[spec:ラベル]」であることを確認する。」、「以下のアクションが行われることを確認する。[spec:アクション詳細]」などが記述される。
【0057】
テスト観点データ読込部12は、読み込んだテスト観点一覧表に基づいて、テスト観点IDとして「KANTEN01」、テスト観点_大として「画面系」、テスト観点_中として「画面仕様」、テスト観点_小として「画面名」、テスト分類として「画面」、テスト工程として「単体テスト」、仕様クラスとして「画面」、属性名として「画面名」、属性値として「-」、説明として「画面名の確認」、操作として「「[spec:画面名]」を初期状態で表示させる。」、確認として「画面名として「「[spec:画面名]」が表示されていることを確認する。」を関連付けて、設計情報記憶部13に記憶させる。
【0058】
また、テスト観点データ読込部12は、読み込んだテスト観点一覧表に基づいて、テスト観点IDとして「KANTEN02」、テスト観点_大として「画面系」、テスト観点_中として「画面項目仕様」、テスト観点_小として「ラベル」、テスト分類として「画面」、テスト工程として「単体テスト」、仕様クラスとして「画面項目」、属性名として「ラベル」、属性値として「-」、説明として「画面項目ラベルの確認」、操作として「「[spec:画面名]」を初期状態で表示させて、画面上の画面項目「[spec:画面項目名]」を表示させる。」、確認として「ラベルが「「[spec:ラベル]」であることを確認する。」を関連付けて、設計情報記憶部13に記憶させる。
【0059】
また、テスト観点データ読込部12は、読み込んだテスト観点一覧表に基づいて、テスト観点IDとして「KANTEN03」、テスト観点_大として「画面系」、テスト観点_中として「画面項目処理仕様」、テスト観点_小として「アクション」、テスト分類として「画面」、テスト工程として「単体テスト」、仕様クラスとして「アクション」、属性名として「イベント」、属性値として「-」、説明として「画面項目アクションの確認」、操作として「「[spec:画面名]」を初期状態で表示させて、画面項目「[spec:画面項目名]」で「[spec:イベント]」をして、以下の処理をする。[spec:処理説明]、確認として「以下のアクションが行われることを確認する。[spec:アクション詳細]」を関連付けて、設計情報記憶部13に記憶させる。図2に戻り、説明を続ける。
【0060】
設計情報記憶部13は、HDD(Hard Disk Drive)やフラッシュメモリ、RAM(Random Access Memory)、ROM(Read Only Memory)などにより実現される。設計情報記憶部13には、設計情報と、テスト観点データとが記憶される。設計情報は設計書のデータの実態であり、設計書の情報をモデルに分解した結果を含む。テスト観点データはテスト観点データの実態である。
【0061】
設計情報トレース管理部14は、モデルの対応関係に基づいて、モデル間の関連を定義する。具体的には、設計情報トレース管理部14は、設計情報記憶部13から、複数の設計書の情報の各々をモデルに分解した結果を複数取得し、取得した複数の設計書の情報の各々をモデルに分解した複数の結果間の対応関係に基づいて関連を定義する。設計情報トレース管理部14は、モデル間の関連を定義した結果をトレース情報として、トレース記憶部15に記憶させる。
【0062】
具体的には、設計情報トレース管理部14は、設計情報記憶部13に記憶された画面一覧表をモデルに分解して得られるクラス図と、画面項目仕様書をモデルに分解して得られるクラス図と、画面項目処理仕様書をモデルに分解して得られるクラス図とを取得する。設計情報トレース管理部14は、取得した画面一覧表をモデルに分解して得られるクラス図および画面項目仕様書をモデルに分解して得られるクラス図の各々の項目間の対応関係に基づいて関連を定義する。
【0063】
図5Aは、本実施形態の情報処理装置によって実行される処理の一例を示す図である。設計情報トレース管理部14は、画面一覧表をモデルに分解して得られるクラス図および画面項目仕様書をモデルに分解して得られるクラス図に基づいて、項目間の対応関係を検出する。例えば、設計情報トレース管理部14は、画面項目仕様書をモデルに分解して得られるクラス図に含まれる項目に、画面一覧表をモデルに分解して得られるクラス図に含まれる項目があるか否かを判定する。
また、例えば、設計情報トレース管理部14は、画面一覧表をモデルに分解して得られるクラス図に含まれる項目に、画面項目仕様書をモデルに分解して得られるクラス図に含まれる項目があるか否かを判定する。
【0064】
例えば、設計情報トレース管理部14は、画面項目仕様書をモデルに分解して得られるクラス図に含まれる画面項目ID「IMG01.01」、「IMG01.02」および「IMG01.03」が、画面一覧表をモデルに分解して得られるクラス図に含まれる画面ID「IMG01」に含まれると判定する。
この場合、設計情報トレース管理部14は、画面項目仕様書をモデルに分解して得られるクラス図において、項目として、仕様クラス、画面項目ID、画面項目名、要素タイプおよびラベルに関連して、さらに画面IDを定義し、定義した画面IDとして「IMG01」を記述する。
【0065】
例えば、設計情報トレース管理部14は、仕様クラスとして「画面項目」、画面項目IDとして「IMG01.01」、画面項目名として「タイトル」、要素タイプとして「タイトル」、ラベルとして「・・・」に関連して、画面IDとして「IMG01」を記述する。例えば、設計情報トレース管理部14は、仕様クラスとして「画面項目」、画面項目IDとして「IMG01.02」、画面項目名として「○○ラベル」、要素タイプとして「ラベル」、ラベルとして「・・・」に関連して、画面IDとして「IMG01」を記述する。
【0066】
例えば、設計情報トレース管理部14は、仕様クラスとして「画面項目」、画面項目IDとして「IMG01.03」、画面項目名として「××ボタン」、要素タイプとして「ボタン」、ラベルとして「・・・」に関連して、画面IDとして「IMG01」を記述する。設計情報トレース管理部14は、画面IDとして「IMG01」を記述したものをトレース情報として、トレース記憶部15に記憶させる。
【0067】
図5Bは、本実施形態の情報処理装置によって実行される処理の一例を示す図である。設計情報トレース管理部14は、画面項目仕様書をモデルに分解して得られるクラス図および画面項目処理仕様書をモデルに分解して得られるクラス図に基づいて、項目間の対応関係を検出する。
例えば、設計情報トレース管理部14は、画面項目処理仕様書をモデルに分解して得られるクラス図に含まれる項目に、画面項目仕様書をモデルに分解して得られるクラス図に含まれる項目があるか否かを判定する。
また、例えば、設計情報トレース管理部14は、画面項目仕様書をモデルに分解して得られるクラス図に含まれる項目に、画面項目処理仕様書をモデルに分解して得られるクラス図に含まれる項目があるか否かを判定する。
【0068】
例えば、設計情報トレース管理部14は、画面項目処理仕様書をモデルに分解して得られるクラス図に含まれるアクションID「ACT01.01」、「ACT01.02」および「ACT01.03」が、画面項目仕様書をモデルに分解して得られるクラス図に含まれる画面ID「IMG01」に含まれると判定する。
この場合、設計情報トレース管理部14は、画面項目処理仕様書をモデルに分解した結果において、項目として、仕様クラス、アクションID、アクション名、イベント、対応項目名、アクション詳細および処理説明に加え、画面IDを定義し、定義した画面IDとして「IMG01」を記述する。
【0069】
例えば、設計情報トレース管理部14は、仕様クラスとして「アクション」、アクションIDとして「ACT01.01」、アクション名として「初期表示」、イベントとして「・・・」、対応項目名として「・・・」、アクション詳細として「・・・」、処理説明として「・・・」に関連して、画面IDとして「IMG01」を記述する。
【0070】
例えば、設計情報トレース管理部14は、仕様クラスとして「アクション」、アクションIDとして「ACT01.02」、アクション名として「××ボタンクリック時の正常終了」、イベントとして「・・・」、対応項目名として「・・・」、アクション詳細として「・・・」、処理説明として「・・・」に関連して、画面IDとして「IMG01」を記述する。
【0071】
例えば、設計情報トレース管理部14は、仕様クラスとして「アクション」、アクションIDとして「AT01.03」、アクション名として「××ボタンクリック時の異常終了」、イベントとして「・・・」、対応項目名として「・・・」、アクション詳細として「・・・」、処理説明として「・・・」に関連して、画面IDとして「IMG01」を記述する。設計情報トレース管理部14は、画面IDとして「IMG01」を記述したものをトレース情報として、トレース記憶部15に記憶させる。図2に戻り、説明を続ける。
【0072】
トレース記憶部15は、HDDやフラッシュメモリ、RAM、ROMなどにより実現される。トレース記憶部15には、トレース情報が記憶される。
【0073】
テスト仕様書生成部16は、設計情報記憶部13から設計情報およびテスト観点データを取得し、トレース記憶部15からトレース情報を取得する。テスト仕様書生成部16は、取得した設計情報、テスト観点データおよびトレース情報に基づいてテスト仕様書を生成する。例えば、テスト仕様書生成部16は、テスト仕様書テンプレートに基づいてテスト仕様書を作成する。
【0074】
図6は、本実施形態の情報処理装置によって実行される処理の一例を示す図である。図6は、一例として、テスト仕様書生成部16が、設計情報、テスト観点データおよびトレース情報に基づいてテスト仕様書を生成する処理を示す。テスト仕様書は、複数のテスト項目を含み、図6によれば、テスト項目として、テスト項目ID、テスト項目名、テスト工程、テスト対象ID、テスト対象名、種別、区分、操作、確認が定義され、それぞれ、テスト項目ID、テスト項目名、テスト工程、テスト対象ID、テスト対象名、種別、区分、操作、確認が記述される。
【0075】
テスト項目IDは、テスト項目の識別情報であり、例えば、「KANTEN01」、「KANTEN02」、「KANTEN03」などが記述される。テスト項目名は、テスト項目の名称であり、例えば、「画面名の確認」、「画面項目ラベルの確認」、「画面項目アクションの確認」などが記述される。
テスト工程は、テストの種類であり、例えば、「単体テスト」などが記述される。テスト対象IDは、テスト対象の識別情報であり、例えば、「IMG01」などが記述される。テスト対象名は、テスト対象の名称であり、例えば、「画面01」などが記述される。種別は、テストの種別であり、例えば、「機能」などが記述される。区分は、テスト観点のテスト区分として定義されるものであり、例えば、「正常系」、「準正常系」、「異常系」などが記述される。
【0076】
操作は、テストの方法であり、例えば、「「画面01」を初期状態で表示させる。」、「「画面01」を初期状態で表示させて、画面上の画面項目「○○ラベル」を表示させる。」、「「画面01」を初期状態で表示させて、画面項目「XXボタン」で「ボタンクリック」をして、以下の処理をする。」などが記述される。
ここで、「画面01」、「○○ラベル」、「××ボタン」および「ボタンクリック」は、テスト仕様書生成部16によって、[spec:XXX]タグに該当する値が、設計情報から取得され、取得された値が出力されたものである。
【0077】
確認は、テストの結果の確認方法であり、例えば、「画面名として「画面01」が表示されていることを確認する。」、「ラベルが「○○ラベル」であることを確認する。」、「以下のアクションが行われることを確認する。「画面02」へ画面遷移する」などである。
ここで、「画面01」、「○○ラベル」および「画面02」は、テスト仕様書生成部16によって、[spec:XXX]タグに該当する値が、設計情報からトレース情報を使用して取得され、取得された値が出力されたものである。
【0078】
テスト仕様書生成部16は、設計情報、テスト観点データおよびトレース情報に基づいて、テスト観点データに含まれる操作を取得し、取得した操作をテスト項目の操作として出力し、テスト観点データに含まれる確認を取得し、取得した確認をテスト項目の確認として出力する。さらに、テスト仕様書生成部16は、[spec:XX]タグに該当する値を設計情報から取得し、取得した値を[spec:XX]タグの代わりに出力する。
ここで、テスト仕様書生成部16は、[spec:XX]タグに該当する値を設計情報からトレース情報を使用して取得し、取得した値を[spec:XX]タグの代わりに出力してもよい。
【0079】
具体的には、テスト仕様書生成部16は、設計情報、テスト観点データおよびトレース情報に基づいて、テスト項目IDとして「KANTEN01」、テスト項目名として「画面名の確認」、テスト工程として「単体テスト」、テスト対象IDとして「IMG01」、テスト対象名として「画面01」、種別として「機能」、区分として「正常系」、操作として「「画面01」を初期状態で表示させる。」、確認として「画面名として「画面01」が表示されていることを確認する」を生成する。
【0080】
また、具体的には、テスト仕様書生成部16は、設計情報、テスト観点データおよびトレース情報に基づいて、テスト項目IDとして「KANTEN02」、テスト項目名として「画面項目ラベルの確認」、テスト工程として「単体テスト」、テスト対象IDとして「IMG01」、テスト対象名として「画面01」、種別として「機能」、区分として「正常系」、操作として「「画面01」を初期状態で表示させて、画面上の画面項目「○○ラベル」を表示させる。」、確認として「ラベルが「○○ラベル」であることを確認する」を生成する。
【0081】
また、具体的には、テスト仕様書生成部16は、設計情報、テスト観点データおよびトレース情報に基づいて、テスト項目IDとして「KANTEN03」、テスト項目名として「画面項目アクションの確認」、テスト工程として「単体テスト」、テスト対象IDとして「IMG01」、テスト対象名として「画面01」、種別として「機能」、区分として「正常系」、操作として「「画面01」を初期状態で表示させて、画面項目「××ボタン」で「ボタンクリック」をして、以下の処理をする」、確認として「以下のアクションが行われることを確認する。画面02へ画面遷移する」を生成する。テスト仕様書生成部16は、生成したテスト仕様書を出力する。
【0082】
(情報処理装置の動作)
図7から図9は、本実施形態の情報処理装置10の動作の一例を示すフローチャートである。図7から図9を参照して、主に、情報処理装置10がテスト仕様書を生成する処理について説明する。
【0083】
テスト仕様書生成部16は、テスト対象の仕様クラス(親クラス)からテスト観点情報の仕様クラス属性に定義された値(子クラス)を取得する(ステップS1-1)。ステップS2-1からS31-1は、子クラスごとに行われる。
テスト仕様書生成部16は、テスト分類の仕様クラス(親クラス)の設計情報と、テスト観点の仕様クラスの属性の仕様クラス(子クラス)の設計情報との関連性を、トレース情報に基づいてチェックする(ステップS2-1)。このとき、テスト仕様書生成部16は、関連性のチェックを、親クラスの設計情報から子クラスの設計情報と、子クラスの設計情報から親クラスの設計情報との両方をチェックする。
【0084】
テスト仕様書生成部16は、ステップS2-1でテスト分類の仕様クラス(親クラス)の設計情報と、テスト観点の仕様クラスの属性の仕様クラス(子クラス)の設計情報との関連性があるか否かを判定する(ステップS3-1)。
テスト仕様書生成部16は関連が無いと判定した場合にはステップS2-1へ戻る。テスト仕様書生成部16は、関連があると判定した場合には、子クラスの設計情報を仕様クラスがキー、設計情報配列がバリューのMapに格納する(ステップS4-1)。
【0085】
テスト仕様書生成部16は、テスト観点データを取得する(ステップS5-1)。例えば、テスト仕様書生成部16は、仕様クラス属性が子クラスの設計情報に該当するテスト観点データを取得する。ステップS6-1からS31-1は、テスト観点データごとに行われる。
テスト仕様書生成部16は、仕様クラスが定義されているかを判定する(ステップS6-1)。テスト仕様書生成部16は、仕様クラスが定義されていない場合には(ステップS6-1:NO)、テスト項目を生成しない(ステップS7-1)。
【0086】
テスト仕様書生成部16は、仕様クラスが定義されている場合には(ステップS6-1:YES)、属性名が定義されているかを判定する(ステップS8-1)。テスト仕様書生成部16は、属性名が定義されていない場合には(ステップS8-1:NO)、テスト項目オブジェクトを生成する(ステップS9-1)。
テスト仕様書生成部16は、属性名が定義されている場合には(ステップS8-1:YES)、属性値が定義されているかを判定する(ステップS10-1)。
テスト仕様書生成部16は、属性値が定義されている場合には(ステップS10-1:YES)、子クラスの設計情報の属性名の値と属性名とが一致するかを判定する(ステップS11-1)。
【0087】
テスト仕様書生成部16は、子クラスの設計情報の属性名の値と属性名とが一致する場合には(ステップS11-1:YES)、テスト項目オブジェクトを生成する(ステップS12-1)。テスト仕様書生成部16は、属性値が定義されていない場合には(ステップS10-1:NO)、子クラスの設計情報の属性名に値が定義されているかを判定する(ステップS13-1)。
【0088】
テスト仕様書生成部16は、子クラスの設計情報の属性名に値が定義されていない場合には(ステップS13-1:NO)、テスト項目を生成しない(ステップS14-1)。テスト仕様書生成部16は、子クラスの設計情報の属性名に値が定義されている場合には(ステップS13-1:YES)、テスト項目オブジェクトを生成する(ステップS15-1)。
【0089】
テスト仕様書生成部16は、子クラスの設計情報の属性名の値と属性名とが一致しない場合には(ステップS11-1:NO)、テスト項目を生成しない(ステップS16-1)。ステップS9-1、S12-1およびS15-1で、テスト項目オブジェクトを生成した後、テスト仕様書生成部16は、操作が定義されているかを判定する(ステップS13-1)。
【0090】
テスト仕様書生成部16は、操作が定義されている場合には(ステップS13-1:YES)、[spec:XX]タグがあるかを判定する(ステップS14-1)。テスト仕様書生成部16は、[spec:XX]タグが無い場合には(ステップS14-1:NO)、操作の値をテスト項目オブジェクトに追加する(ステップS15-1)。ステップS16-1からS30-1は、テスト項目化対象となる子クラスの設計情報の数だけ行われる。ステップS16-1からS22-1は、[spec:XX]タグの個数分だけ行われる。
【0091】
テスト仕様書生成部16は、テスト観点データに属性値が定義されているかを判定する(ステップS16-1)。テスト仕様書生成部16は、テスト観点データに属性値が定義されている場合には(ステップS16-1:YES)、テスト観点データを取得する(ステップS17-1)。
テスト仕様書生成部16は、子クラスの設計情報のテスト観点の属性名の値がテスト観点の属性値の値と一致するかを判定する(ステップS18-1)。テスト仕様書生成部16は、子クラスの設計情報のテスト観点の属性名の値がテスト観点の属性値の値と一致しない場合には(ステップS18-1:NO)、テスト項目を生成しない(ステップS19-1)。
【0092】
テスト仕様書生成部16は、テスト観点に属性値が定義されていない場合には(ステップS16-1:NO)、子クラスの設計情報に[SPEC:XX]タグの属性名が定義されているかを判定する(ステップS20-1)。
テスト仕様書生成部16は、子クラスの設計情報に[SPEC:XX]タグの属性名が定義されている場合には(ステップS20-1:YES)、子クラスの設計情報にテスト観点の属性名が定義されているかを判定する(ステップS21-1)。
【0093】
テスト仕様書生成部16は、子クラスの設計情報にテスト観点の属性名が定義されている場合には、[SPEC:XX]タグのループを終了する。
テスト仕様書生成部16は、子クラスの設計情報に[SPEC:XX]タグの属性名が定義されていない場合(ステップS20-1:NO)又は子クラスの設計情報にテスト観点の属性名が定義されていない場合(ステップS21-1:NO)、テスト項目を生成しない(ステップS22-1)。
【0094】
テスト仕様書生成部16は、操作が定義されていない場合(ステップS13-1:NO)又は操作の値をテスト項目のオブジェクトに追加した後(ステップS15-1)、確認が定義されているかを判定する(ステップS23-1)。テスト仕様書生成部16は、確認が定義されている場合には(ステップS23-1:YES)、[spec:XX]タグがあるかを判定する(ステップS24-1)。
【0095】
テスト仕様書生成部16は、[spec:XX]タグがない場合には(ステップS24-1:NO)、確認後の値をテスト項目オブジェクトに追加する(ステップS25-1)。テスト仕様書生成部16は、確認が定義されていない場合(ステップS23-1:NO)又は確認後の値をテスト項目オブジェクトに追加した(ステップS25-1)後に、テスト項目化リストに追加する(ステップS26-1)。ステップS27-1からS30-1は、テスト項目化対象となる子クラスの設計情報の数だけ行われる。ステップS27-1は、[spec:XX]タグの個数分だけ行われる。
【0096】
テスト仕様書生成部16は、子クラスの設計情報に[SPEC:XX]タグの属性名が定義されているかを判定する(ステップS27-1)。テスト仕様書生成部16は、子クラスの設計情報に[SPEC:XX]タグの属性名が定義されていない場合には(ステップS27-1:NO)、テスト項目を生成しない(ステップS28-1)。
テスト仕様書生成部16は、操作の値をテスト項目オブジェクトに追加する(ステップS29-1)。テスト仕様書生成部16は、テスト項目化リストに追加する(ステップS30-1)。テスト仕様書生成部16は、テスト項目データを書き出す(ステップS31-1)。
【0097】
前述した実施形態では、設計書テンプレートに基づいて作成された設計書の一例として、画面一覧表、画面項目仕様書、画面項目処理仕様書について説明したが、この例に限られない。例えば、画面一覧表、画面項目仕様書、画面項目処理仕様書に限られず、他の設計書についても適用できる。
【0098】
前述した実施形態では、設計情報トレース管理部14が、画面一覧表をモデルに分解して得られるクラス図の項目と画面項目仕様書をモデルに分解して得られるクラス図の項目との関連と、画面項目仕様書をモデルに分解して得られるクラス図の項目と画面項目処理仕様書をモデルに分解して得られるクラス図との項目との関連を定義する場合について説明したがこの例に限られない。
例えば、設計情報トレース管理部14は、2の設計書の各々をモデルに分解して得られるクラス図の項目同士の関連を定義するようにしてもよいし、4以上の設計書の各々をモデルに分解して得られるクラス図の項目について関連を定義するようにしてもよい。
【0099】
本実施形態の情報処理装置10によれば、情報処理装置10は、設計書のテスト仕様書を作成する。情報処理装置10は、設計情報読込部11と、テスト観点データ読込部12と、設計情報トレース管理部14と、テスト仕様書生成部16とを備える。
設計情報読込部11は、テスト対象の設計書を複数読み込み、読み込んだ複数の設計書の各々に含まれる設計情報をモデルに分解する。テスト観点データ読込部12は、テスト観点データを読み込む。
設計情報トレース管理部14は、複数の設計書の各々に含まれる設計情報をモデルに分解した結果に基づいて、モデル間の対応関係を定義する。
テスト仕様書生成部16は、テスト観点データ読込部12が読み込んだテスト観点データと、設計情報読込部11によって複数の設計書の各々に含まれる設計情報をモデルに分解した結果と、設計情報トレース管理部14によってモデル間の対応関係を定義した結果とに基づいて、複数の設計書のテスト項目を生成し、生成したテスト項目に基づいてテスト仕様書を生成する。
【0100】
このように構成することによって、情報処理装置10は、複数の設計書の各々に含まれる設計情報をモデルに分解した結果に基づいて、設計情報間の対応関係を定義できるため、任意の設計情報において、関連する他の設計情報を使用してテスト仕様書を作成できる。具体的には、情報処理装置10は、画面の設計情報において、関連する機能の設計情報を使用してテスト仕様書を作成できる。このため、複数の設計書の各々に含まれる設計情報をモデルに分解した結果に基づいて、設計情報間の対応関係を定義しない場合と比較して、生成可能なテストの種類を増加できる。
【0101】
情報処理装置10において、設計情報トレース管理部14は、複数の設計書の各々に含まれる設計情報をモデルに分解して得られるクラス図に含まれる項目間の対応関係を定義する。
【0102】
このように構成することによって、情報処理装置10は、複数の設計書の各々に含まれる設計情報をモデルに分解して得られるクラス図に含まれる項目間の対応関係を定義できるため、任意の設計情報において、関連する他の設計情報を使用してテスト仕様書を作成できる。具体的には、情報処理装置10は、画面の設計情報において、関連する機能の設計情報を使用してテスト仕様書を作成できる。
このため、複数の設計書の各々に含まれる設計情報をモデルに分解して得られるクラス図に含まれる項目間の対応関係を定義しない場合と比較して、生成可能なテストの種類を増加できる。
【0103】
情報処理装置10において、テスト仕様書生成部16は、生成したテスト項目の値を、設計情報をモデルに分解した結果から取得する。
【0104】
このように構成することによって、情報処理装置10は、複数の設計書の各々に含まれる設計情報をモデルに分解した結果から、生成したテスト項目の値を取得できるため、取得したテスト項目の値に基づいて、テスト仕様書を作成できる。
【0105】
情報処理装置10において、テスト仕様書生成部16は、生成したテスト項目の値を、設計情報をモデルに分解した結果から、モデル間の対応関係を定義した結果を使用して取得する。
【0106】
このように構成することによって、情報処理装置10は、複数の設計書の各々に含まれる設計情報をモデルに分解した結果から、生成したテスト項目の値を、モデル間の対応関係を定義した結果を使用して取得できるため、任意の設計情報において、関連する他の設計情報を使用してテスト項目の値を取得できる。
【0107】
(実施形態の変形例)
<情報処理装置>
図10は、実施形態の変形例の情報処理装置の一例を示す図である。実施形態の変形例の情報処理装置10aは、パーソナルコンピュータ、サーバ、スマートフォン、タブレットコンピュータ又は産業用コンピュータ等の装置によって実現される。
情報処理装置10aは、設計情報読込部11と、テスト観点データ読込部12と、設計情報記憶部13と、設計情報トレース管理部14と、トレース記憶部15と、テスト仕様書生成部16aと、設計情報検証管理部17aと、設計メタ情報記憶部18aと、検証エラー記憶部19aとを備える。
【0108】
設計情報検証管理部17aは、設計メタ情報記憶部18aに記憶された設計情報のメタ情報に対して定義された検証ルールに基づいて、設計情報記憶部13に記憶された設計情報に設計漏れがあるか否かを判定する。設計情報検証管理部17aは、設計漏れがないと判定した設計情報を、設計情報記憶部13に記憶させ、設計漏れがあると判定した設計情報を検証エラー記憶部19aに記憶させる。
【0109】
具体的には、設計情報検証管理部17aは、画面一覧表をモデルに分解した場合に定義される仕様クラス、画面ID、画面名、説明などの項目について、必須の項目に値が記述されているか否かを判定する。例えば、必須の項目は、管理者によって予め設定される。設計情報検証管理部17aは、必須の項目の全てに値が記述されている場合には設計漏れがないと判定し、必須の項目に値が記述されていないものがある場合には設計漏れがあると判定する。
【0110】
設計情報検証管理部17aは、設計漏れがないと判定した場合に、設計漏れがないと判定した画面一覧表を設計情報記憶部13に記憶させる。設計情報検証管理部17aは、設計漏れがあると判定した場合に、設計漏れがあると判定した画面一覧表を検証エラー記憶部19aに記憶させる。
【0111】
また、具体的には、設計情報検証管理部17aは、画面項目仕様書をモデルに分解した場合に定義される仕様クラス、画面項目ID、画面項目名、要素タイプ、ラベルなどの項目について、必須の項目に値が記述されているか否かを判定する。
例えば、必須の項目は、管理者によって予め設定される。設計情報検証管理部17aは、必須の項目の全てに値が記述されている場合には設計漏れがないと判定し、必須の項目に値が記述されていないものがある場合には設計漏れがあると判定する。
【0112】
設計情報検証管理部17aは、設計漏れがないと判定した場合に、設計漏れがないと判定した画面項目仕様書を設計情報記憶部13に記憶させる。設計情報検証管理部17aは、設計漏れがあると判定した場合に、設計漏れがあると判定した画面項目仕様書を検証エラー記憶部19aに記憶させる。
【0113】
また、具体的には、設計情報検証管理部17aは、画面項目処理仕様書をモデルに分解した場合に定義される仕様クラス、アクションID、アクション名、イベント、対応項目名、アクション詳細、処理説明などの項目について、必須の項目に値が記述されているか否かを判定する。
例えば、必須の項目は、管理者によって予め設定される。設計情報検証管理部17aは、必須の項目の全てに値が記述されている場合には設計漏れがないと判定し、必須の項目に値が記述されていないものがある場合には設計漏れがあると判定する。
【0114】
設計情報検証管理部17aは、設計漏れがないと判定した場合に、設計漏れがないと判定した画面項目処理仕様書を設計情報記憶部13に記憶させる。設計情報検証管理部17aは、設計漏れがあると判定した場合に、設計漏れがあると判定した画面項目処理仕様書を検証エラー記憶部19aに記憶させる。
【0115】
設計メタ情報記憶部18aは、HDDやフラッシュメモリ、RAM、ROMなどにより実現される。設計メタ情報記憶部18aには、設計情報のメタ情報に対して定義された検証ルールが記憶される。設計メタ情報記憶部18aには、設計情報をモデルに分解した場合に定義される項目について、必須の項目が記憶される。
【0116】
具体的には、設計メタ情報記憶部18aには、画面一覧表をモデルに分解した場合に定義される仕様クラス、画面ID、画面名、説明などの項目について、値が記述されなければならない必須の項目が記憶される。
また、具体的には、設計メタ情報記憶部18aには、画面項目仕様書をモデルに分解した場合に定義される仕様クラス、画面項目ID、画面項目名、要素タイプ、ラベルなどの項目について、値が記述されなければならない必須の項目が記憶される。
【0117】
また、具体的には、設計メタ情報記憶部18aには、画面項目処理仕様書をモデルに分解した場合に定義される仕様クラス、アクションID、アクション名、イベント、対応項目名、アクション詳細、処理説明などの項目について、値が記述されなければならない必須の項目が記憶される。
【0118】
検証エラー記憶部19aは、HDDやフラッシュメモリ、RAM、ROMなどにより実現される。検証エラー記憶部19aは、設計情報検証管理部17aによって設計漏れがあると判定された設計情報を記憶する。
【0119】
具体的には、検証エラー記憶部19aは、設計情報検証管理部17aによって設計漏れがあると判定された画面一覧表を記憶する。また、具体的には、検証エラー記憶部19aは、設計情報検証管理部17aによって設計漏れがあると判定された画面項目仕様書を記憶する。また、具体的には、検証エラー記憶部19aは、設計情報検証管理部17aによって設計漏れがあると判定された画面項目処理仕様書を記憶する。
【0120】
テスト仕様書生成部16aは、設計情報記憶部13から設計情報およびテスト観点データを取得し、トレース記憶部15からトレース情報を取得する。例えば、テスト仕様書生成部16aが設計情報記憶部13から設計漏れがないと判定された設計情報を取得する。
テスト仕様書生成部16aは、取得した設計情報、テスト観点データおよびトレース情報に基づいてテスト仕様書を生成する。例えば、テスト仕様書生成部16aは、テスト仕様書テンプレートに基づいてテスト仕様書を作成する。テスト仕様書生成部16aがテスト仕様書を作成する処理は、設計漏れがないと判定された設計情報を使用すること以外は、テスト仕様書生成部16と同様である。
【0121】
実施形態の変形例の情報処理装置10aの動作の一例は、図7から図9を適用できるため、説明を省略する。
【0122】
前述した実施形態に変形例では、設計情報検証管理部17aによって設計情報に設計漏れがあるか否かを判定する場合について説明したが、この例に限られない。例えば、設計情報検証管理部17aは、複数の設計書の各々に含まれる設計情報をモデルに分解した場合に定義される項目について、記述されている値に誤りが無いか否かを判定するようにしてもよい。設計情報検証管理部17aは、誤りが無いと判定した設計情報を設計情報記憶部13に記憶させ、誤りがあると判定した設計情報を検証エラー記憶部19aに記憶させる。
【0123】
この場合、設計メタ情報記憶部18aには、設計情報のメタ情報に対して定義された検証ルールとして、設計情報をモデルに分解した場合に定義される項目について、記述される値の条件が記憶される。設計情報検証管理部17aは、複数の設計書の各々に含まれる設計情報をモデルに分解した場合に定義される項目について記述されている値が、設計メタ情報記憶部18aに記憶されている条件を満たす場合には誤りが無いと判定し、記述されている値が条件を満たさない場合には誤りがあると判定する。
【0124】
前述した実施形態に変形例において、設計情報検証管理部17aが設計情報のメタ情報に対して定義された検証ルールを有するように構成してもよい。
【0125】
実施形態の変形例の情報処理装置10aによれば、情報処理装置10において、メタ情報に対して定義された検証ルールに基づいて、複数の設計書の各々に含まれる設計情報をモデルに分解した結果に設計漏れがあるか否かを検証する設計情報検証管理部17aをさらに備える。テスト仕様書生成部16aは、設計情報検証管理部17aによって設計漏れがないとされた設計情報をモデルに分解した結果に基づいて、複数の設計書のテスト項目を生成し、生成したテスト項目に基づいてテスト仕様書を生成する。
【0126】
このように構成することによって、テスト仕様書生成部16aは、設計漏れがないとされた設計情報をモデルに分解した結果に基づいてテスト仕様書を生成できるため、テスト仕様書を生成するために入力されるデータの品質を確保できる。このため、テスト仕様書生成部16aによって生成されるテスト仕様書は、システムおよびソフトウェアに必要なテスト項目の漏れがないものとなる。
【0127】
実施形態の変形例の情報処理装置10aによれば、情報処理装置10において、メタ情報に対して定義された検証ルールに基づいて、複数の設計書の各々に含まれる設計情報をモデルに分解した結果に誤りが無いか否かを検証する設計情報検証管理部17aをさらに備える。テスト仕様書生成部16aは、設計情報検証管理部17aによって誤りが無いとされた設計情報をモデルに分解した結果に基づいて、複数の前記設計書のテスト項目を生成し、生成した前記テスト項目に基づいてテスト仕様書を生成する。
【0128】
このように構成することによって、テスト仕様書生成部16aは、誤りが無いとされた設計情報をモデルに分解した結果に基づいてテスト仕様書を生成できるため、テスト仕様書を生成するために入力されるデータの品質を確保できる。このため、テスト仕様書生成部16aによって生成されるテスト仕様書は、システムおよびソフトウェアに必要なテスト項目の誤りが無いものとなる。
【0129】
以上、本発明の実施形態およびその変形例を説明したが、これらの実施形態およびその変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態およびその変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組合せを行うことができる。これら実施形態およびその変形例は、発明の範囲や要旨に含まれると同時に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0130】
10、10a…情報処理装置、11…設計情報読込部、12…テスト観点データ読込部、13…設計情報記憶部、14…設計情報トレース管理部、15…トレース記憶部、16、16a…テスト仕様書生成部、17a…設計情報検証管理部、18a…設計メタ情報記憶部、19a…検証エラー記憶部
図1
図2
図3A
図3B
図3C
図4
図5A
図5B
図6
図7
図8
図9
図10