特許第6191618号(P6191618)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 日本電気株式会社の特許一覧

<>
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000002
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000003
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000004
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000005
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000006
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000007
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000008
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000009
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000010
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000011
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000012
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000013
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000014
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000015
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000016
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000017
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000018
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000019
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000020
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000021
  • 特許6191618-テスト支援装置、及び、テスト支援方法 図000022
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6191618
(24)【登録日】2017年8月18日
(45)【発行日】2017年9月6日
(54)【発明の名称】テスト支援装置、及び、テスト支援方法
(51)【国際特許分類】
   G06F 11/36 20060101AFI20170828BHJP
【FI】
   G06F11/36 184
【請求項の数】10
【全頁数】24
(21)【出願番号】特願2014-551882(P2014-551882)
(86)(22)【出願日】2013年12月6日
(86)【国際出願番号】JP2013007192
(87)【国際公開番号】WO2014091732
(87)【国際公開日】20140619
【審査請求日】2016年11月15日
(31)【優先権主張番号】特願2012-270364(P2012-270364)
(32)【優先日】2012年12月11日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100124154
【弁理士】
【氏名又は名称】下坂 直樹
(72)【発明者】
【氏名】黒田 貴之
【審査官】 大塚 俊範
(56)【参考文献】
【文献】 特開2011−28313(JP,A)
【文献】 特開平11−306046(JP,A)
【文献】 特開平7−114465(JP,A)
【文献】 特開平10−40091(JP,A)
【文献】 特開2010−33373(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
G06F 9/445
G06F 9/44
(57)【特許請求の範囲】
【請求項1】
システムの構成が、システムが保持すべき複数の機能性、及び、各機能性を実現するプログラムの組により定義される場合に、
1以上のシステムの識別子、各システムが保持すべき複数の機能性の識別子、及び、各機能性を実現可能な1以上のプログラムの識別子を示す関連情報を記憶する記憶手段と、
機能性、または、プログラムが指定された場合に、前記関連情報をもとに、前記指定された機能性、または、プログラムを含むシステムの構成を抽出し、出力する抽出手段と、
を備えるテスト支援装置。
【請求項2】
前記記憶手段は、さらに、各システム、各機能性、及び、各プログラムに係るテストケースの識別子を含むテストケース情報を記憶し、
前記抽出手段は、前記テストケース情報を参照し、前記抽出されたシステムに係るテストケース、及び、前記抽出されたシステムの構成に含まれる、各機能性、及び、各プログラムに係るテストケースの識別子を、前記抽出されたシステムの構成とともに出力する、
請求項1に記載のテスト支援装置。
【請求項3】
前記抽出手段は、プログラムが指定された場合に、
前記指定されたプログラムが実現する機能性を特定し、
前記特定された機能性を保持すべき全てのシステムを抽出し、
前記抽出された全てのシステムの各々について、当該システムが保持すべき複数の機能性を抽出し、前記抽出された複数の機能性の内、前記指定されたプログラムが実現する機能性については、前記指定されたプログラムからなる集合を生成し、前記指定されたプログラムが実現する機能性以外の各機能性については、当該機能性を実現可能な1以上のプログラムからなる集合を生成し、前記抽出された複数の機能性について生成された全ての集合の直積により、前記抽出された複数の機能性の各々を実現するプログラムの組を抽出することにより、システムの構成を抽出する、
請求項1または2に記載のテスト支援装置。
【請求項4】
前記機能性について、上位の機能性と当該上位の機能性を実現する下位の機能性との1以上の繰り返しが定義可能な場合、
前記関連情報は、さらに、各機能性を実現可能な1以上の下位の機能性を示し、
前記抽出手段は、
前記指定されたプログラムが実現する機能性を特定する場合、前記指定されたプログラムが実現する機能性が実現する上位の機能性を再帰的に特定し、
前記抽出された複数の機能性の各々を実現するプログラムの組を抽出する場合、前記抽出された複数の機能性の内、前記指定されたプログラムから再帰的に特定された機能性については、当該機能性を実現する下位の機能性を、前記指定されたプログラムが実現する機能性まで再帰的に抽出し、前記指定されたプログラムからなる集合を生成し、前記指定されたプログラムから再帰的に特定された機能性以外の機能性については、当該機能性を実現可能な下位の機能性を再帰的に抽出し、前記再帰的に抽出された各機能性を実現可能な1以上のプログラムからなる集合を生成する、
請求項3に記載のテスト支援装置。
【請求項5】
前記システムについて、上位のシステムと当該上位のシステムが保持すべき下位のシステムとの1以上の繰り返しが定義可能な場合に、
前記関連情報は、さらに、各システムが保持すべき1以上の下位のシステムを示し、
前記抽出手段は、
前記特定された機能性を保持すべき全てのシステムを抽出する場合、前記特定された機能性を保持すべきシステムの各々を保持すべき上位のシステムを再帰的に抽出し、
前記抽出された各システムが保持すべき複数の機能性を抽出する場合、当該システムが保持すべき下位のシステムを再帰的に抽出し、当該再帰的に抽出された全てのシステムの各々が保持すべき複数の機能性を抽出する、
請求項3に記載のテスト支援装置。
【請求項6】
前記抽出手段は、機能性が指定された場合に、
前記指定された機能性を保持すべきシステムを抽出し、
前記抽出されたシステムが保持すべき複数の機能性を抽出し、
前記抽出された複数の機能性の各々について、当該機能性を実現可能な1以上のプログラムからなる集合を生成し、
前記抽出された複数の機能性について生成された全ての集合の直積により、前記抽出された複数の機能性の各々を実現するプログラムの組を抽出する、
請求項1または2に記載のテスト支援装置。
【請求項7】
前記抽出手段は、さらに、システムが指定された場合に、
前記指定されたステムが保持すべき複数の機能性を抽出し、
前記抽出された複数の前記機能性の各々について、当該機能性を実現可能な1以上の前記プログラムの集合を生成し、
前記抽出された複数の機能性について生成された全ての集合の直積により、前記抽出された複数の機能性の各々を実現するプログラムの組を抽出する、
請求項1または2に記載のテスト支援装置。
【請求項8】
前記抽出手段は、
前記1以上のシステムの各々について、当該システムが保持すべき複数の機能性を抽出し、前記抽出された複数の機能性の各々について、当該機能性を実現可能な1以上のプログラムからなる集合を生成し、前記抽出された複数の機能性について生成された全ての集合の直積により、前記抽出された複数の機能性の各々を実現するプログラムの組を抽出することにより、システムの構成を生成し、
前記1以上のシステムについて生成されたシステムの構成の内、前記機能性、または、前記プログラムを含む構成を抽出する、
請求項1または2に記載のテスト支援装置。
【請求項9】
システムの構成が、システムが保持すべき複数の機能性、及び、各機能性を実現するプログラムの組により定義される場合に、
1以上のシステムの識別子、各システムが保持すべき複数の機能性の識別子、及び、各機能性を実現可能な1以上のプログラムの識別子を示す関連情報を記憶し、
機能性、または、プログラムが指定された場合に、前記関連情報をもとに、前記指定された機能性、または、プログラムを含むシステムの構成を抽出し、出力する、
テスト支援方法。
【請求項10】
システムの構成が、システムが保持すべき複数の機能性、及び、各機能性を実現するプログラムの組により定義される場合に、
1以上のシステムの識別子、各システムが保持すべき複数の機能性の識別子、及び、各機能性を実現可能な1以上のプログラムの識別子を示す関連情報を記憶し、
機能性、または、プログラムが指定された場合に、前記関連情報をもとに、前記指定された機能性、または、プログラムを含むシステムの構成を抽出し、出力する、
処理をコンピュータに実行させるプログラ

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テスト支援装置、及び、テスト支援方法に関する。
【背景技術】
【0002】
一般に、ソフトウェア・システムの構築とは、異なる複数のミドルウェアのインストールや設定を行うことにより、これら複数のミドルウェアが協調して動作する環境を整えることである。
【0003】
ソフトウェア開発の分野において、このような複数のミドルウェアを協調動作させる環境を効率的に構築するための仕組みとして、ソフトウェアの部品化や結合を行う手法が知られている。このような手法として、オブジェクト指向やコンポネント指向などの技術がある。このような手法を、複数のミドルウェアからなるシステムの構築に応用する技術が、例えば、非特許文献1に開示されている。
【0004】
非特許文献1に開示される技術においては、システムのモデル(pattern)が、いくつかの機能性を実現するシステム構成部品であるプロダクト(component)の組み合わせで定義される。例えば、モデル"Web3Tier"は、機能性"RDB"を実現するプロダクト"MySQL"または"PostgreSQL"、及び、機能性"AP-Server"を実現するプロダクト"Tomcat"または"Jetty"を用いて構築される。すなわち、モデル"Web3Tier"を構成するプロダクトの組み合わせとして、"MySQL"と"Tomcat"、"MySQL"と"Jetty"、"PostgreSQL"と"Tomcat"、"PostgreSQL"と"Jetty"という4パターンが存在する。
【0005】
また、このような、システム構成部品を組み合せて構成されるシステムの検証(テスト)を効率的に実施する技術が、例えば、特許文献1に開示されている。特許文献1に開示される技術においては、構成部品毎に動作を検証するテストケースが用意され、システムを構成する構成部品毎のテストケースが、当該システムの検証に必要なテストケースとして、まとめて提示される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2011−118637号公報
【非特許文献】
【0007】
【非特許文献1】"IBM Workload Deployer"、International Business Machines Corporation、[online]、[平成24年11月27日検索]、インターネット〈URL:http://www.redbooks.ibm.com/redbooks/SG248011/wwhelp/wwhimpl/js/html/wwhelp.htm〉
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上述の特許文献1に記載の技術は、利用者等により指定された構成に係るテストケースを提示するものであり、例えば、特定のシステム構成部品の開発時に、当該構成部品に係るシステムの全ての構成の検証を網羅的に実施することはできない。
【0009】
このため、例えば、上述のモデル"Web3Tier"を構成するプロダクトの組み合わせの内、検証が行われた"MySQL"と"Tomcat"の組み合わせでは、システムが正しく機能するが、検証が行われていない"MySQL"と"Jetty"の組み合わせでは、システムに問題が発生する可能性がある。
【0010】
一般に、開発したシステム構成部品に係る検証は、当該構成部品の開発時にできる限り速やかに実施されることが望ましい。その理由は、開発した構成部品の問題の発見時期が遅れるほど、周辺の構成部品との間の依存性の増加に伴い、開発した構成部品について考慮すべき事項が増加するためである。また、他の理由は、開発者が開発した構成部品の内容を忘れたりすることにより、開発した構成部品の修正が困難になるためである。
【0011】
また、開発したシステム構成部品に係る検証は、開発した構成部品に係る全ての構成について、網羅的に実行されることが望ましい。その理由は、選択される可能性が低い構成の検証が行われなかった場合、当該構成の問題の発見が遅れ、上述のように、開発した構成部品の修正が困難になるためである。
【0012】
本発明の目的は上述の課題を解決し、特定のシステム構成部品を含むシステムの全ての構成の検証を網羅的かつ迅速に実施できる、テスト支援装置、及び、テスト支援方法を提供することにある。
【課題を解決するための手段】
【0013】
本発明の一態様におけるテスト支援装置は、システムの構成が、システムが保持すべき複数の機能性、及び、各機能性を実現するプログラムの組により定義される場合に、1以上のシステムの識別子、各システムが保持すべき複数の機能性の識別子、及び、各機能性を実現可能な1以上のプログラムの識別子を示す関連情報を記憶する記憶手段と、機能性、または、プログラムが指定された場合に、前記関連情報をもとに、前記指定された機能性、または、プログラムを含むシステムの構成を抽出し、出力する抽出手段と、を備える。
【0014】
本発明の一態様におけるテスト支援方法は、システムの構成が、システムが保持すべき複数の機能性、及び、各機能性を実現するプログラムの組により定義される場合に、1以上のシステムの識別子、各システムが保持すべき複数の機能性の識別子、及び、各機能性を実現可能な1以上のプログラムの識別子を示す関連情報を記憶し、機能性、または、プログラムが指定された場合に、前記関連情報をもとに、前記指定された機能性、または、プログラムを含むシステムの構成を抽出し、出力する。
【0015】
本発明の一態様におけるコンピュータが読み取り可能な記録媒体は、システムの構成が、システムが保持すべき複数の機能性、及び、各機能性を実現するプログラムの組により定義される場合に、1以上のシステムの識別子、各システムが保持すべき複数の機能性の識別子、及び、各機能性を実現可能な1以上のプログラムの識別子を示す関連情報を記憶し、機能性、または、プログラムが指定された場合に、前記関連情報をもとに、前記指定された機能性、または、プログラムを含むシステムの構成を抽出し、出力する、処理をコンピュータに実行させるプログラムを格納する。
【発明の効果】
【0016】
本発明の効果は、特定のシステム構成部品を含むシステムの全ての構成の検証を網羅的かつ迅速に実施できることである。
【図面の簡単な説明】
【0017】
図1】本発明の第1の実施の形態の特徴的な構成を示すブロック図である。
図2】本発明の第1の実施の形態における、テスト支援装置100の構成を示すブロック図である。
図3】本発明の第1の実施の形態における、テスト支援装置100の処理を示すフローチャートである。
図4】本発明の第1の実施の形態における、プロダクトに対するシステム構成抽出処理(ステップS104)の詳細を示すフローチャートである。
図5】本発明の第1の実施の形態における、機能性に対するシステム構成抽出処理(ステップS105)の詳細を示すフローチャートである。
図6】本発明の第1の実施の形態における、モデルに対するシステム構成抽出処理(ステップS106)の詳細を示すフローチャートである。
図7】本発明の第1の実施の形態における、構成部品関連情報201の例を示す図である。
図8】本発明の第1の実施の形態における、構成部品情報202の例を示す図である。
図9】本発明の第1の実施の形態における、テストケース情報301の例を示す図である。
図10】本発明の第1の実施の形態における、機能性実現情報401の例を示す図である。
図11】本発明の第1の実施の形態における、システム構成情報501の例を示す図である。
図12】本発明の第1の実施の形態における、機能性実現情報401の他の例を示す図である。
図13】本発明の第1の実施の形態における、システム構成情報501の他の例を示す図である。
図14】本発明の第1の実施の形態における、機能性実現情報401の他の例を示す図である。
図15】本発明の第1の実施の形態における、システム構成情報501の他の例を示す図である。
図16】本発明の第1の実施の形態における、機能性実現情報401の他の例を示す図である。
図17】本発明の第1の実施の形態における、システム構成情報501の他の例を示す図である。
図18】本発明の第2の実施の形態における、テスト支援装置100の処理を示すフローチャートである。
図19】本発明の第2の実施の形態における、システム構成抽出処理(ステップS203)の詳細を示すフローチャートである。
図20】本発明の第2の実施の形態における、機能性実現情報401の例を示す図である。
図21】本発明の第2の実施の形態における、システム構成情報501の例を示す図である。
【発明を実施するための形態】
【0018】
(第1の実施の形態)
次に、本発明の第1の実施の形態について説明する。
【0019】
はじめに、本発明の第1の実施の形態の構成について説明する。図2は、本発明の第1の実施の形態における、テスト支援装置100の構成を示すブロック図である。
【0020】
図2を参照すると、本発明の第1の実施の形態のテスト支援装置100は、抽出処理部(または、抽出部)101、及び、記憶部102を含む。テスト支援装置100は、利用者が情報の入出力に用いる入出力装置110と、ネットワーク等により通信可能に接続される。
【0021】
抽出処理部101は、入出力装置110を介して、利用者から、システム構成の抽出要求を受け付ける。抽出要求は、追加や更新されたシステム構成部品等、他の構成部品への影響をテストする対象である構成部品(対象部品)の指定を含む。そして、抽出処理部101は、対象部品を含むシステム構成を抽出し、入出力装置110を介して、利用者へ出力する。
【0022】
記憶部102は、構成部品関連情報(または、関連情報)201、及び、テストケース情報301を記憶する。ここで、構成部品関連情報201は、各システム構成部品と他のシステム構成部品との間の関連を示す。テストケース情報301は、各システム構成部品に係るテストケースを示す。
【0023】
本発明の第1の実施の形態においては、システム構成部品として、プロダクト、機能性、及び、モデルが定義される。ここで、プロダクトは、ミドルウェアの実装(プログラム)を示す構成部品である。機能性は、ミドルウェアを抽象化した概念を定義する構成部品である。モデルは、ミドルウェアを組み合せたシステムを抽象的に定義する構成部品である。モデルのシステム構成は、当該モデルが保持すべき機能性と、各機能性を実現するプロダクトの組とにより、決定される。
【0024】
なお、各システム構成部品(プロダクト、機能性、モデル)には、当該構成部品を一意に識別するための識別子(プロダクトidentifier(以下、IDと記載する)、機能性ID、モデルID)が付与される。
【0025】
図7は、本発明の第1の実施の形態における、構成部品関連情報201の例を示す図である。図7において、四角はモデル、太線の円は機能性、細線の円はプロダクトを示す。また、実線の矢印は、始点のモデルが終点の機能性、または、モデルを保持すべきであることを示す。また、点線の矢印は、始点のプロダクト、または、機能性が終点の機能性を実現可能であることを示す。
【0026】
ここで、機能性への点線の矢印の始点のプロダクトを、当該機能性の(直接的な)実現プロダクトと呼ぶ。例えば、図7の構成部品関連情報201において、プロダクト"mysql"は、機能性"rdb"の実現プロダクトである。プロダクトは複数の異なる機能性の実現プロダクトでもよい。同一の機能性が、複数の異なる実現プロダクトを有していてもよい。
【0027】
また、機能性への点線の矢印の始点の他の機能性を、当該機能性の(直接的な)実現機能性と呼ぶ。例えば、図7の構成部品関連情報201において、機能性"rdb"は"db"の実現機能性である。機能性は複数の異なる他の機能性の実現機能性でもよい。同一の機能性が、複数の異なる実現機能性を有していてもよい。
【0028】
また、ある機能性の実現機能性の実現プロダクトは、当該機能性の(間接的な)実現プロダクトでもある。例えば、図7の構成部品関連情報201において、プロダクト"mysql"は"rdb"の実現プロダクトであると同時に、"db"の実現プロダクトでもある。
【0029】
また、モデルからの実線の矢印の終点の機能性を、当該モデルの(直接的な)要求機能性と呼ぶ。例えば、図7の構成部品関連情報201において、機能性"rdb"は、モデル"web3tier"の要求機能性である。同一の機能性が、複数の異なるモデルの要求機能性でもよい。同一のモデルが、複数の異なる要求機能性を有していてもよい。
【0030】
また、モデルからの実線の矢印の終点の他のモデルを、当該モデルの(直接的な)要求モデルと呼ぶ。例えば、図7の構成部品関連情報201において、モデル"web3tier"はモデル"mail_web3tier"の要求モデルである。同一のモデルが、複数の異なるモデルの要求モデルでもよい。同一のモデルが、複数の異なる要求モデルを有していてもよい。
【0031】
また、あるモデルの要求モデルの要求機能性は、当該モデルの(間接的な)要求機能性でもある。例えば、図7の構成部品関連情報201において、機能性"rdb"はモデル"web3tier"の要求機能性であると同時に、"mail_web3tier"の要求機能性でもある。
【0032】
また、あるモデルの要求モデルの要求モデルは、当該モデルの(間接的な)要求モデルでもある。
【0033】
モデルのシステム構成は、構成部品関連情報201において、当該モデルの全ての要求機能性の各々について、実現プロダクトの内のいずれかを選択することで決定される。
【0034】
例えば、モデル"mail_web3tier"のシステム構成は、機能性"rdb"について、プロダクト"mysql"か"c"、機能性"ap-svr(server)"について、プロダクト"d"か"e"、機能性"mail-svr(server)"について、プロダクト"f"を選択することで決定される。同様に、モデル"batch"のシステム構成は、機能性"cache-svr(server)"について、プロダクト"a"、機能性"db"について、プロダクト"b"か"mysql"か"c"を選択することで決定される。
【0035】
構成部品関連情報201は、各構成部品に係る構成部品情報202の集合で表されてもよい。
【0036】
図8は、本発明の第1の実施の形態における、構成部品情報202の例を示す図である。
【0037】
構成部品情報202は、構成部品の種別(プロダクト、機能性、モデル)を示す構成部品種別を含む。
【0038】
図8において、構成部品情報202a、202b、202cは、それぞれ、プロダクト、機能性、モデルに係る構成部品情報202の例である。
【0039】
プロダクトに係る構成部品情報202aは、プロダクトID、及び、当該プロダクトを(直接的な)実現プロダクトとする機能性の機能性IDを含む。また、プロダクトや、当該プロダクトのインストールや設定などを行うためのドライバ等が、プロダクトIDに対応付けて、図示しない外部の記憶部に記憶されていてもよい。図8の例では、構成部品情報202aは、プロダクト"mysql"が、機能性"rdb"の実現プロダクトであることを示している。
【0040】
機能性に係る構成部品情報202bは、機能性IDを含む。構成部品情報202bは、当該機能性を(直接的な)実現機能性とする他の機能性の機能性IDを含んでいてもよい。また、機能性を実現するプロダクトの抽象化、すなわちプロダクト毎の差異の吸収を行うドライバ等が、機能性IDに対応付けて、図示しない外部の記憶部に記憶されていてもよい。図8の例では、構成部品情報202bは、機能性"rdb"が、機能性"db"の実現機能性であることを示している。
【0041】
モデルに係る構成部品情報202cは、モデルID、及び、当該モデルの(直接的な)要求機能性の機能性IDを含む。また、構成部品情報202cは、当該モデルの(直接的な)要求モデルのモデルIDを含んでいてもよい。また、モデルの複数の要求機能性を実現するプロダクト間の協調動作を調整するドライバ等が、モデルIDに対応付けて、図示しない外部の記憶部に記憶されていてもよい。図8の例では、構成部品情報202cは、モデル"web3tier"の要求機能性が、機能性"rdb"と"ap-svr"であることを示している。
【0042】
図9は、本発明の第1の実施の形態における、テストケース情報301の例を示す図である。
【0043】
テストケース情報301は、テストケースの識別子(テストケースID)、及び、当該テストケースがテストを行う構成部品(プロダクト、機能性、モデル)の識別子を示すテスト対象を含む。テストケース情報301は、さらに、テスト内容として、プロダクトの正常なインストールを確認するためのコマンドや判定条件、機能性やモデルの正常性を確認するためのサンプルプログラムのインストールやそのコマンド、判定条件を含んでいてもよい。図9の例では、テストケース"mysql_test"が、プロダクト"mysql"のテストを行うためのテストケースであることを示している。また、テスト内容として、コマンド"aptitude show mysql"を実行すること、及び、コマンドの応答が"OK"の場合、テスト結果を正常と判定することを示している。
【0044】
記憶部102は、各システム構成部品(プロダクト、機能性、モデル)について、テストケース情報301を記憶する。
【0045】
なお、構成部品情報202やテストケース情報301は、Extensible Markup Language(以下、XMLと記載する)形式で表現されていてもよい。
【0046】
また、構成部品関連情報201やテストケース情報301は、図示しない外部の記憶部に記憶されており、図示しない取得部が、構成部品関連情報201やテストケース情報301を外部の記憶部から取得してもよい。
【0047】
また、テスト支援装置100はCPU(Central Processing Unit)とプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。
【0048】
また、テスト支援装置100は、さらに、テスト支援装置100が出力するシステム構成に従って、コンピュータ上にシステムを構築するシステム構築装置(図示せず)、及び、テスト支援装置100が出力するテストケースに従って、システムのテストを行うテスト実行装置(図示せず)と接続されていてもよい。
【0049】
次に、本発明の第1の実施の形態におけるテスト支援装置100の動作について説明する。図3は、本発明の第1の実施の形態における、テスト支援装置100の処理を示すフローチャートである。
【0050】
ここでは、記憶部102に、図7の構成部品関連情報201が記憶されている場合を例に、動作を説明する。
【0051】
はじめに、抽出処理部101は、入出力装置110を介して、利用者からシステム構成の抽出要求を受け付ける(ステップS101)。ここで、抽出要求は、追加や更新されたシステム構成部品(対象部品)の識別子を含む。
【0052】
抽出処理部101は、記憶部102から、抽出要求で指定された対象部品に係る構成部品情報202を取得する(ステップS102)。
【0053】
抽出処理部101は、取得したシステム構成部品情報202の構成部品種別により、対象部品の種別を確認する(ステップS103)。
【0054】
対象部品の種別がプロダクトの場合(ステップS103/プロダクト)、抽出処理部101は、後述する、プロダクトに対するシステム構成抽出処理を実行する(ステップS104)。
【0055】
対象部品の種別が機能性の場合(ステップS103/機能性)、抽出処理部101は、後述する、機能性に対するシステム構成抽出処理を実行する(ステップS105)。
【0056】
対象部品の種別がモデルの場合(ステップS103/モデル)、抽出処理部101は、後述する、モデルに対するシステム構成抽出処理を実行する(ステップS106)。
【0057】
ステップS104〜S106のシステム構成抽出処理により、対象部品を含むシステム構成を示すシステム構成情報501が生成される。
【0058】
抽出処理部101は、テストケース情報301をもとに、システム構成情報501に含まれる、各システム構成の各構成部品について、当該構成部品をテスト対象とするテストケースを取得し、システム構成情報501に設定する(ステップS107)。
【0059】
抽出処理部101は、システム構成情報501を、入出力装置110を介して、利用者へ出力する(ステップS108)。
【0060】
次に、ステップS104〜S106のシステム構成抽出処理の詳細を説明する。
【0061】
<プロダクトに対するシステム構成抽出処理>
はじめに、プロダクトに対するシステム構成抽出処理(ステップS104)の詳細を説明する。
【0062】
図4は、本発明の第1の実施の形態における、プロダクトに対するシステム構成抽出処理(ステップS104)の詳細を示すフローチャートである。
【0063】
プロダクトに対するシステム構成抽出処理では、対象部品であるプロダクト(対象プロダクト)が影響を及ぼす機能性及びモデルが抽出される。そして、抽出されたモデルについて、対象プロダクトを含むシステム構成が抽出される。
【0064】
はじめに、抽出処理部101は、構成部品関連情報201をもとに、対象プロダクトを実現プロダクトとする機能性を特定する。ここで、抽出処理部101は、構成部品関連情報201において、対象プロダクトからの点線の矢印を順方向に再帰的に辿って得られる全ての経路上の機能性を探索することにより、対象プロダクトを実現プロダクトとする機能性を特定する(ステップS1041)。
【0065】
例えば、対象プロダクトとして、図7の構成部品関連情報201における、プロダクト"mysql"が指定された場合、抽出処理部101は、プロダクト"mysql"を実現プロダクトとする機能性として、機能性"rdb"、"db"を特定する。
【0066】
次に、抽出処理部101は、構成部品関連情報201をもとに、ステップS1041にて特定した機能性の各々について、当該機能性を要求機能性とするモデルを抽出する。ここで、抽出処理部101は、構成部品関連情報201において、抽出したモデルへの実線の矢印を逆方向に再帰的に辿って得られる全ての経路上のモデルを探索することにより、特定した各機能性を要求機能性とするモデルを抽出する(ステップS1042)。
【0067】
例えば、抽出処理部101は、機能性"rdb"を要求機能性とするモデルとして、"web3tier"、"mail_web3tier"を抽出する。また、抽出処理部101は、機能性"db"を要求機能性とするモデルとして、"batch"を抽出する。
【0068】
次に、抽出処理部101は、ステップS1042で抽出したモデルの内の1つを選択する(ステップS1043)。ここで、抽出処理部101は、構成部品関連情報201において、ステップS1041で特定された機能性に近いモデルから先に選択してもよい。
【0069】
抽出処理部101は、構成部品関連情報201をもとに、ステップS1043で選択したモデルの要求機能性を抽出する。ここで、抽出処理部101は、構成部品関連情報201において、選択したモデルからの実線の矢印を順方向に再帰的に辿って得られる全ての経路上の要求モデルを探索することにより、選択したモデルの要求モデルを抽出する。そして、選択したモデル、及び、抽出した各要求モデルの要求機能性を抽出する(ステップS1044)。
【0070】
例えば、ステップS1043でモデル"web3tier"が選択された場合、抽出処理部101は、モデル"web3tier"の要求機能性として、機能性"rdb"、"ap-svr"を抽出する。
【0071】
次に、抽出処理部101は、ステップS1044で抽出した各要求機能性について、当該要求機能性の実現プロダクトの集合を抽出する。ここで、抽出処理部101は、構成部品関連情報201において、抽出した要求機能性への点線の矢印を逆方向に再帰的に辿って得られる全ての経路上の機能性を探索し、抽出した各要求機能性の実現機能性を抽出する。そして、抽出した要求機能性、及び、抽出した実現機能性の実現プロダクトを抽出する。そして、抽出処理部101は、モデルに適用可能な実現プロダクトを示す機能性実現情報401を生成する(ステップS1045)。
【0072】
なお、ステップS1044で抽出した要求機能性が、ステップS1041で特定された対象プロダクトを実現プロダクトとする機能性の場合、抽出処理部101は、構成部品関連情報201において、次のように、実現機能性を抽出する。すなわち、抽出処理部101は、抽出した要求機能性への点線の矢印を逆方向に再帰的に辿って得られる経路の内、抽出した要求機能性と対象プロダクトとの間の経路上の機能性のみを探索し、実現機能性を抽出する。この場合、抽出処理部101は、実現プロダクトとして、対象プロダクトのみを抽出する。
【0073】
図10図12図14図16は、本発明の第1の実施の形態における、機能性実現情報401の例を示す図である。機能性実現情報401は、モデルについて抽出された要求モデルのモデルIDと要求機能性の機能性ID、及び、当該要求機能性について抽出された実現機能性の機能性IDと実現プロダクトのプロダクトIDの集合を含む。
【0074】
例えば、抽出した要求機能性の内、機能性"rdb"は、対象プロダクト"mysql"を実現プロダクトとする機能性であるため、抽出処理部101は、機能性"rdb"について、実現プロダクト"mysql"を抽出する。また、抽出処理部101は、機能性"ap-svr"について、実現プロダクト"d"、"e"を抽出する。この結果、抽出処理部101は、モデル"web3tier"に対して、図10の機能性実現情報401aを生成する。
【0075】
なお、抽出処理部101は、ステップS1043で選択したモデルの要求モデルについて、機能性実現情報401が既に生成されている場合は、当該生成済みの機能性実現情報401の内容を利用してもよい。
【0076】
次に、抽出処理部101は、ステップS1045で抽出された、各要求機能性についての実現プロダクトの集合をもとに、モデルに適用可能なシステム構成を抽出する。ここで、抽出処理部101は、各要求機能性の実現プロダクトの集合の直積を求め、実現プロダクトの組み合わせを取得することにより、システム構成を抽出する。そして、抽出処理部101は、得られたシステム構成をシステム構成情報501に設定する(ステップS1046)。
【0077】
図11図13図15図17は、本発明の第1の実施の形態における、システム構成情報501の例を示す図である。システム構成情報501は、システム構成を識別するための識別子(構成ID)、モデルのモデルID、当該モデルについて抽出された要求モデルのモデルIDと要求機能性の機能性IDを含む。さらに、システム構成情報501は、当該要求機能性について抽出された実現機能性の機能性IDと実現プロダクトのプロダクトID、及び、当該実現プロダクトのテストを行うためのテストケースのテストケースIDを含む。
【0078】
例えば、抽出処理部101は、要求機能性"rdb"の実現プロダクトの集合{"mysql"}と要求機能性"ap-svr"の実現プロダクトの集合{"d","e"}との直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"mysql","d"}、{"mysql","e"}となる。抽出処理部101は、これらの組み合わせについて、図10の機能性実現情報401から、モデルと要求モデルのモデルID、要求機能性と実現機能性の機能性ID、及び、実現プロダクトのプロダクトIDを取得し、図11のシステム構成情報501aにおける、構成ID"1"、"2"のように、システム構成を設定する。
【0079】
抽出処理部101は、ステップS1042で抽出した全てのモデルについて、ステップS1043〜S1046を繰り返す(ステップS1047)。
【0080】
例えば、ステップS1043でモデル"mail_web3tier"が選択された場合、抽出処理部101は、モデル"mail_web3tier"の要求モデル、要求機能性として、モデル"web3tier"、機能性"rdb"、"ap-svr"、及び、機能性"mail-svr"を抽出する。
【0081】
そして、抽出処理部101は、上述と同様に、抽出した要求機能性の内、機能性"rdb"について、実現プロダクト"mysql"を、機能性"ap-svr"について、実現プロダクト"d"、"e"を抽出する。さらに、抽出処理部101は、機能性"mail-svr"について、実現プロダクト"f"を抽出する。この結果、抽出処理部101は、モデル"mail_web3tier"に対して、図10の機能性実現情報401bを生成する。
【0082】
抽出処理部101は、要求機能性"rdb"の実現プロダクトの集合{"mysql"}、要求機能性"ap-svr"の実現プロダクトの集合{"d","e"}、及び、要求機能性"mail-svr"の実現プロダクトの集合{"f"}の直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"mysql","d","f"}、{"mysql","e","f"}となる。抽出処理部101は、これらの組み合わせについて、図11のシステム構成情報501aにおける、構成ID"3"、"4"のように、システム構成を設定する。
【0083】
また、ステップS1043でモデル"batch"が選択された場合、抽出処理部101は、モデル"batch"の要求機能性として、機能性"cache-svr"、"db"を抽出する。
【0084】
そして、抽出処理部101は、抽出した要求機能性の内、機能性"cache-svr"について、実現プロダクト"a"を抽出する。また、機能性"db"は、対象プロダクト"mysql"を実現プロダクトとする機能性であるため、抽出処理部101は、機能性"mail-svr"について、実現機能性"rdb"、実現プロダクト"mysql"を抽出する。この結果、抽出処理部101は、モデル"batch"に対して、図10の機能性実現情報401cを生成する。
【0085】
抽出処理部101は、要求機能性"cache-svr"の実現プロダクトの集合{"a"}と要求機能性"db"の実現プロダクトの集合{"mysql"}の直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"a","mysql"}となる。抽出処理部101は、これらの組み合わせについて、図11のシステム構成情報501aにおける、構成ID"5"のように、システム構成を設定する。
【0086】
そして、抽出処理部101は、図9のテストケース情報301をもとに、図11のシステム構成情報501aにおける実現プロダクト"mysql"のテストケースとして、テストケース"mysql_test"を設定する。抽出処理部101は、他の実現プロダクトについても、図11に示すように、テストケースを設定する。
【0087】
また、他の例として、例えば、対象プロダクトとして、図7の構成部品関連情報201における、プロダクト"a"が指定された場合、抽出処理部101は、プロダクト"a"を実現プロダクトとする機能性として、機能性"cache-svr"を特定する。
【0088】
抽出処理部101は、機能性"cache-svr"を要求機能性とするモデルとして、"batch"を抽出する。
【0089】
抽出処理部101は、モデル"batch"の要求機能性として、機能性"cache-svr"、"db"を抽出する。
【0090】
抽出処理部101は、抽出した要求機能性の内、機能性"cache-svr"は、対象プロダクト"a"を実現プロダクトとする機能性であるため、抽出処理部101は、機能性"cache-svr"について、実現プロダクト"a"を抽出する。また、抽出処理部101は、機能性"db"について、実現プロダクト"b"、及び、実現機能性"rdb"、実現プロダクト"mysql"、"c"を抽出する。この結果、抽出処理部101は、モデル"batch"に対して、図12の機能性実現情報401dを生成する。
【0091】
抽出処理部101は、要求機能性"cache-svr"の実現プロダクトの集合{"a"}と要求機能性"db"の実現プロダクトの集合{"b","mysql","c"}の直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"a","b"}、{"a","mysql"}、{"a","c"}となる。抽出処理部101は、これらの組み合わせについて、図13のシステム構成情報501bにおける、構成ID"1"、"2"、"3"のように、システム構成を設定する。
【0092】
<機能性に対するシステム構成抽出処理>
次に、機能性に対するシステム構成抽出処理(ステップS105)の詳細を説明する。
【0093】
図5は、本発明の第1の実施の形態における、機能性に対するシステム構成抽出処理(ステップS105)の詳細を示すフローチャートである。
【0094】
機能性に対するシステム構成抽出処理では、対象部品である機能性(対象機能性)が影響を及ぼす機能性およびモデルが抽出される。そして、抽出されたモデルについて、対象機能性を含むシステム構成が抽出される。
【0095】
はじめに、抽出処理部101は、構成部品関連情報201をもとに、対象機能性を実現機能性とする機能性を特定する。ここで、抽出処理部101は、構成部品関連情報201において、対象機能性からの点線の矢印を順方向に再帰的に辿って得られる全ての経路上の機能性を探索することにより、対象機能性を実現機能性とする機能性を特定する(ステップS1051)。
【0096】
例えば、対象機能性として、図7の構成部品関連情報201における、機能性"rdb"が指定された場合、抽出処理部101は、機能性"rdb"を実現機能性とする機能性として、機能性"db"を特定する。
【0097】
次に、抽出処理部101は、ステップS1042と同様に、対象機能性、及び、ステップS1051にて特定した機能性の各々について、当該機能性を要求機能性とするモデルを抽出する(ステップS1052)。
【0098】
例えば、抽出処理部101は、機能性"rdb"を要求機能性とするモデルとして、"web3tier"、"mail_web3tier"を抽出する。また、抽出処理部101は、機能性"db"を要求機能性とするモデルとして、"batch"を抽出する。
【0099】
次に、抽出処理部101は、ステップS1052で抽出したモデルの内の1つを選択する(ステップS1053)。
【0100】
抽出処理部101は、ステップS1044と同様に、ステップS1053で選択したモデルの要求機能性を抽出する(ステップS1054)。
【0101】
例えば、ステップS1043でモデル"web3tier"が選択された場合、抽出処理部101は、モデル"web3tier"の要求機能性として、機能性"rdb"、"ap-svr"を抽出する。
【0102】
次に、抽出処理部101は、ステップS1045と同様に、ステップS1054で抽出した各要求機能性について、当該要求機能性の実現プロダクトの集合を抽出する(ステップS1055)。
【0103】
なお、ステップS1054で抽出した要求機能性が、ステップS1051で特定された対象機能性を実現機能性とする機能性の場合、抽出処理部101は、構成部品関連情報201において、以下のように、実現機能性を抽出する。すなわち、抽出処理部101は、抽出した要求機能性への点線の矢印を逆方向に再帰的に辿って得られる経路の内、抽出した要求機能性と対象機能性との間の経路を含む経路上の機能性のみを探索し、実現機能性を抽出する。
【0104】
例えば、抽出処理部101は、抽出した要求機能性の内、機能性"rdb"について、実現プロダクト"mysql"、"c"を抽出する。同様に、抽出処理部101は、機能性"ap-svr"について、実現プロダクト"d"、"e"を抽出する。この結果、抽出処理部101は、モデル"web3tier"に対して、図14の機能性実現情報401eを生成する。
【0105】
次に、抽出処理部101は、ステップS1046と同様に、モデルに適用可能なシステム構成を抽出する(ステップS1056)。
【0106】
例えば、抽出処理部101は、要求機能性"rdb"の実現プロダクトの集合{"mysql","c"}と要求機能性"ap-svr"の実現プロダクトの集合{"d","e"}との直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"mysql","d"}、{"mysql","e"}、{"c","d"}、{"c","e"}となる。抽出処理部101は、これらの組み合わせについて、図15のシステム構成情報501cにおける、構成ID"1"、"2"、"3"、"4"のように、システム構成を設定する。
【0107】
抽出処理部101は、ステップS1052で抽出した全てのモデルについて、ステップS1053〜S1056を繰り返す(ステップS1057)。
【0108】
例えば、ステップS1053でモデル"mail_web3tier"が選択された場合、抽出処理部101は、モデル"mail_web3tier"の要求モデル、要求機能性として、モデル"web3tier"、機能性"rdb"、"ap-svr"、及び、機能性"mail-svr"を抽出する。
【0109】
そして、抽出処理部101は、上述と同様に、抽出した要求機能性の内、機能性"rdb"について、実現プロダクト"mysql"、"c"を、機能性"ap-svr"について、実現プロダクト"d"、"e"を抽出する。また、抽出処理部101は、機能性"mail-svr"について、実現プロダクト"f"を抽出する。この結果、抽出処理部101は、モデル"mail_web3tier"に対して、図14の機能性実現情報401fを生成する。
【0110】
抽出処理部101は、要求機能性"rdb"の実現プロダクトの集合{"mysql","c"}、要求機能性"ap-svr"の実現プロダクトの集合{"d","e"}、及び、要求機能性"mail-svr"の実現プロダクトの集合{"f"}の直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"mysql","d","f"}、{"mysql","e","f"}、{"c","d","f"}、{"c","e","f"}となる。抽出処理部101は、これらの組み合わせについて、図15のシステム構成情報501cにおける、構成ID"5"、"6"、"7"、"8"のように、システム構成を設定する。
【0111】
また、ステップS1053でモデル"batch"が選択された場合、抽出処理部101は、モデル"batch"の要求機能性として、機能性"cache-svr"、"db"を抽出する。
【0112】
そして、抽出処理部101は、抽出した要求機能性の内、機能性"cache-svr"について、実現プロダクト"a"を抽出する。また、機能性"db"は、対象機能性"rdb"を実現機能性とする機能性であるため、抽出処理部101は、機能性"db"について、実現機能性"rdb"、実現プロダクト"mysql"、"c"を抽出する。この結果、抽出処理部101は、モデル"batch"に対して、図14の機能性実現情報401gを生成する。
【0113】
抽出処理部101は、要求機能性"cache-svr"の実現プロダクトの集合{"a"}と要求機能性"db"の実現プロダクトの集合{"mysql","c"}の直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"a","mysql"}、{"a","c"}となる。抽出処理部101は、これらの組み合わせについて、図15のシステム構成情報501cにおける、構成ID"9"、"10"のように、システム構成を設定する。
【0114】
<モデルに対するシステム構成抽出処理>
次に、モデルに対するシステム構成抽出処理(ステップS106)の詳細を説明する。
【0115】
図6は、本発明の第1の実施の形態における、モデルに対するシステム構成抽出処理(ステップS106)の詳細を示すフローチャートである。
【0116】
モデルに対するシステム構成抽出処理では、対象部品であるモデル(対象モデル)が影響を及ぼす機能性及びモデルが抽出される。そして、抽出されたモデルについて、対象モデルを含むシステム構成が抽出される。
【0117】
はじめに、抽出処理部101は、構成部品関連情報201をもとに、対象モデルを要求モデルとするモデルを抽出する。ここで、抽出処理部101は、構成部品関連情報201において、対象モデルへの実線の矢印を逆方向に再帰的に辿って得られる全ての経路上のモデルを探索することにより、対象モデルを要求モデルとするモデルを抽出する(ステップS1062)。
【0118】
例えば、対象モデルとして、図7の構成部品関連情報201における、モデル"web3tier"が指定された場合、抽出処理部101は、モデル"web3tier"を要求モデルとするモデルとして、"mail_web3tier"を抽出する。
【0119】
次に、抽出処理部101は、対象モデル、及び、ステップS1062で抽出したモデルの内の1つを選択する(ステップS1063)。
【0120】
抽出処理部101は、ステップS1044と同様に、ステップS1063で選択したモデルの要求機能性を抽出する(ステップS1064)。
【0121】
例えば、ステップS1043でモデル"web3tier"が選択された場合、抽出処理部101は、モデル"web3tier"の要求機能性として、機能性"rdb"、"ap-svr"を抽出する。
【0122】
次に、抽出処理部101は、ステップS1045と同様に、ステップS1064で抽出した各要求機能性について、当該要求機能性の実現プロダクトの集合を抽出する(ステップS1065)。
【0123】
例えば、抽出処理部101は、抽出した要求機能性の内、機能性"rdb"について、実現プロダクト"mysql"、"c"を抽出する。同様に、抽出処理部101は、機能性"ap-svr"について、実現プロダクト"d"、"e"を抽出する。この結果、抽出処理部101は、モデル"web3tier"に対して、図16の機能性実現情報401hを生成する。
【0124】
次に、抽出処理部101は、ステップS1046と同様に、モデルに適用可能なシステム構成を抽出する(ステップS1066)。
【0125】
例えば、抽出処理部101は、要求機能性"rdb"の実現プロダクトの集合{"mysql","c"}と要求機能性"ap-svr"の実現プロダクトの集合{"d","e"}との直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"mysql","d"}、{"mysql","e"}、{"c","d"}、{"c","e"}となる。抽出処理部101は、これらの組み合わせについて、図17のシステム構成情報501dにおける、構成ID"1"、"2"、"3"、"4"のように、システム構成を設定する。
【0126】
抽出処理部101は、対象モデル、及び、ステップS1062で抽出したモデルの全てについて、ステップS1063〜S1066を繰り返す(ステップS1067)。
【0127】
例えば、ステップS1063でモデル"mail_web3tier"が選択された場合、抽出処理部101は、モデル"mail_web3tier"の要求モデル、要求機能性として、モデル"web3tier"、機能性"rdb"、"ap-svr"、及び、機能性"mail-svr"を抽出する。
【0128】
そして、抽出処理部101は、上述と同様に、抽出した要求機能性の内、機能性"rdb"について、実現プロダクト"mysql"、"c"を、機能性"ap-svr"について、実現プロダクト"d"、"e"を抽出する。また、抽出処理部101は、機能性"mail-svr"について、実現プロダクト"f"を抽出する。この結果、抽出処理部101は、モデル"mail_web3tier"に対して、図16の機能性実現情報401iを生成する。
【0129】
抽出処理部101は、要求機能性"rdb"の実現プロダクトの集合{"mysql","c"}、要求機能性"ap-svr"の実現プロダクトの集合{"d","e"}、及び、要求機能性"mail-svr"の実現プロダクトの集合{"f"}の直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"mysql","d","f"}、{"mysql","e","f"}、{"c","d","f"}、{"c","e","f"}となる。抽出処理部101は、これらの組み合わせについて、図17のシステム構成情報501dにおける、構成ID"5"、"6"、"7"、"8"のように、システム構成を設定する。
【0130】
以上により、本発明の第1の実施の形態の動作が完了する。
【0131】
次に、本発明の第1の実施の形態の特徴的な構成を説明する。図1は、本発明の第1の実施の形態の特徴的な構成を示すブロック図である。
【0132】
図1を参照すると、テスト支援装置100は、記憶部102、及び、抽出処理部101を含む。ここで、システムの構成は、システムが保持すべき複数の機能性、及び、各機能性を実現するプログラムの組により定義される。記憶部102は、1以上のシステムの識別子、各システムが保持すべき複数の機能性の識別子、及び、各機能性を実現可能な1以上のプログラムの識別子を示す構成部品関連情報201を記憶する。抽出処理部101は、機能性、または、プログラムが指定された場合に、構成部品関連情報201をもとに、指定された機能性、または、プログラムを含むシステムの構成を抽出し、出力する。
【0133】
本発明の第1の実施の形態によれば、特定のシステム構成部品を含むシステムの全ての構成の検証を網羅的かつ迅速に実施できる。その理由は、抽出処理部101が、機能性、または、プログラムが指定された場合に、構成部品関連情報201をもとに、指定された機能性、または、プログラムを含むシステムの構成を抽出し、出力するためである。これにより、システム構成部品の追加や更新に伴う、検証のための工数を低減するとともに、追加や更新のあるシステムの構成を、もれなく検証できる。
【0134】
また、本発明の第1の実施の形態によれば、特定のシステム構成部品を含むシステムの全ての構成の検証に必要なテストケースを、容易に取得できる。その理由は、抽出処理部101が、テストケース情報301から、抽出されたシステム構成に含まれる、各機能性、及び、各プログラムに係るテストケースの識別子を抽出し、出力するためである。
【0135】
また、本発明の第1の実施の形態によれば、特定のシステム構成部品を含むシステムの全ての構成の検証を自動化できる。その理由は、システム構築装置が、抽出処理部101により抽出されたシステムの構成に従って、システムを構築し、テスト実行装置が、抽出処理部101により抽出されたテストケースに従って、システムのテストを行えるためである。
【0136】
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明する。
【0137】
本発明の第2の実施の形態においては、抽出処理部101が、構成部品関連情報201に含まれる全てのモデルについて適用可能なシステム構成を生成した後で、対象部品を含むシステム構成を抽出する点で、本発明の第1の実施の形態と異なる。
【0138】
本発明の第2の実施の形態における、テスト支援装置100の構成は、本発明の第1の実施の形態の構成(図2)と同様である。
【0139】
次に、本発明の第2の実施の形態におけるテスト支援装置100の動作について説明する。図18は、本発明の第2の実施の形態における、テスト支援装置100の処理を示すフローチャートである。
【0140】
ここでは、本発明の第1の実施の形態と同様に、記憶部102に、図7の構成部品関連情報201が記憶されている場合を例に、動作を説明する。
【0141】
図18において、対象部品に係る構成部品情報202の取得までの処理とテストケースの取得以降の処理(ステップS201〜S202、S207〜S208)は、本発明の第1の実施の形態(ステップS101〜S102、S107〜S208)と同様である。
【0142】
抽出処理部101は、対象部品の種別によらず、後述するシステム構成抽出処理を実行する(ステップS203)。
【0143】
次に、ステップS203のシステム構成抽出処理の詳細を説明する。
【0144】
<システム構成抽出処理>
図19は、本発明の第2の実施の形態における、システム構成抽出処理(ステップS203)の詳細を示すフローチャートである。
【0145】
本発明の第2の実施の形態におけるシステム構成抽出処理では、構成部品関連情報201に含まれる全てのモデルについて、適用可能なシステム構成が生成される。そして、抽出されたシステム構成の内、対象部品を含むシステム構成が抽出される。
【0146】
はじめに、抽出処理部101は、構成部品関連情報201に含まれる全てのモデルを抽出する(ステップS2032)。
【0147】
次に、抽出処理部101は、ステップS2032で抽出したモデルの内の1つを選択する(ステップS2033)。
【0148】
抽出処理部101は、ステップS1044と同様に、ステップS2033で選択したモデルの要求機能性を抽出する(ステップS2034)。
【0149】
次に、抽出処理部101は、ステップS1045と同様に、ステップS2034で抽出した要求機能性の各々について、当該要求機能性の実現プロダクトの集合を抽出する(ステップS2035)。
【0150】
次に、抽出処理部101は、ステップS1046と同様に、モデルに適用可能なシステム構成を設定する(ステップS2036)。
【0151】
抽出処理部101は、対象モデル、及び、ステップS2032で抽出したモデルの全てについて、ステップS2033〜S2036を繰り返す(ステップS2037)。
【0152】
図20は、本発明の第2の実施の形態における、機能性実現情報401の例を示す図である。図21は、本発明の第2の実施の形態における、システム構成情報501の例を示す図である。
【0153】
例えば、抽出処理部101は、図7の構成部品関連情報201に含まれるモデル"web3tier"、"mail_web3tier"、"batch"に対して、図20の機能性実現情報401j、401k、401lを生成する。そして、抽出処理部101は、図21のシステム構成情報501eのように、システム構成を設定する。
【0154】
最後に、抽出処理部101は、システム構成情報501に含まれるシステム構成の内、対象部品を含む構成のみを抽出する(ステップS2038)。
【0155】
例えば、対象部品として、図7の構成部品関連情報201における、プロダクト"mysql"が指定された場合、抽出処理部101は、図21のシステム構成情報501eに含まれるシステム構成の内、プロダクト"mysql"を実現プロダクトに含む、構成ID"1"、"2"、"5"、"6"、"10"の構成を抽出する。
【0156】
以上により、本発明の第2の実施の形態の動作が完了する。
【0157】
本発明の第2の実施の形態によれば、本発明の第1の実施の形態と同様に、特定のシステム構成部品を含むシステムの全ての構成の検証を網羅的かつ迅速に実施できる。
【0158】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0159】
この出願は、2012年12月11日に出願された日本出願特願2012−270364を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【0160】
100 テスト支援装置
101 抽出処理部
102 記憶部
110 入出力装置
201 構成部品関連情報
202 構成部品情報
301 テストケース情報
401 機能性実現情報
501 システム構成情報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21