JPWO2014091732A1 - テスト支援装置、及び、テスト支援方法 - Google Patents

テスト支援装置、及び、テスト支援方法 Download PDF

Info

Publication number
JPWO2014091732A1
JPWO2014091732A1 JP2014551882A JP2014551882A JPWO2014091732A1 JP WO2014091732 A1 JPWO2014091732 A1 JP WO2014091732A1 JP 2014551882 A JP2014551882 A JP 2014551882A JP 2014551882 A JP2014551882 A JP 2014551882A JP WO2014091732 A1 JPWO2014091732 A1 JP WO2014091732A1
Authority
JP
Japan
Prior art keywords
functionality
extracted
functionalities
specified
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014551882A
Other languages
English (en)
Other versions
JP6191618B2 (ja
Inventor
貴之 黒田
貴之 黒田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2014091732A1 publication Critical patent/JPWO2014091732A1/ja
Application granted granted Critical
Publication of JP6191618B2 publication Critical patent/JP6191618B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

特定のシステム構成部品を含むシステムの全ての構成の検証を網羅的かつ迅速に実施する。テスト支援装置(100)は、記憶部(102)、及び、抽出処理部(101)を含む。ここで、システムの構成は、システムが保持すべき複数の機能性、及び、各機能性を実現するプログラムの組により定義される。記憶部(102)は、1以上のシステムの識別子、各システムが保持すべき複数の機能性の識別子、及び、各機能性を実現可能な1以上のプログラムの識別子を示す構成部品関連情報(201)を記憶する。抽出処理部(101)は、機能性、または、プログラムが指定された場合に、構成部品関連情報(201)をもとに、指定された機能性、または、プログラムを含むシステムの構成を抽出し、出力する。

Description

本発明は、テスト支援装置、及び、テスト支援方法に関する。
一般に、ソフトウェア・システムの構築とは、異なる複数のミドルウェアのインストールや設定を行うことにより、これら複数のミドルウェアが協調して動作する環境を整えることである。
ソフトウェア開発の分野において、このような複数のミドルウェアを協調動作させる環境を効率的に構築するための仕組みとして、ソフトウェアの部品化や結合を行う手法が知られている。このような手法として、オブジェクト指向やコンポネント指向などの技術がある。このような手法を、複数のミドルウェアからなるシステムの構築に応用する技術が、例えば、非特許文献1に開示されている。
非特許文献1に開示される技術においては、システムのモデル(pattern)が、いくつかの機能性を実現するシステム構成部品であるプロダクト(component)の組み合わせで定義される。例えば、モデル"Web3Tier"は、機能性"RDB"を実現するプロダクト"MySQL"または"PostgreSQL"、及び、機能性"AP-Server"を実現するプロダクト"Tomcat"または"Jetty"を用いて構築される。すなわち、モデル"Web3Tier"を構成するプロダクトの組み合わせとして、"MySQL"と"Tomcat"、"MySQL"と"Jetty"、"PostgreSQL"と"Tomcat"、"PostgreSQL"と"Jetty"という4パターンが存在する。
また、このような、システム構成部品を組み合せて構成されるシステムの検証(テスト)を効率的に実施する技術が、例えば、特許文献1に開示されている。特許文献1に開示される技術においては、構成部品毎に動作を検証するテストケースが用意され、システムを構成する構成部品毎のテストケースが、当該システムの検証に必要なテストケースとして、まとめて提示される。
特開2011−118637号公報
"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〉
しかしながら、上述の特許文献1に記載の技術は、利用者等により指定された構成に係るテストケースを提示するものであり、例えば、特定のシステム構成部品の開発時に、当該構成部品に係るシステムの全ての構成の検証を網羅的に実施することはできない。
このため、例えば、上述のモデル"Web3Tier"を構成するプロダクトの組み合わせの内、検証が行われた"MySQL"と"Tomcat"の組み合わせでは、システムが正しく機能するが、検証が行われていない"MySQL"と"Jetty"の組み合わせでは、システムに問題が発生する可能性がある。
一般に、開発したシステム構成部品に係る検証は、当該構成部品の開発時にできる限り速やかに実施されることが望ましい。その理由は、開発した構成部品の問題の発見時期が遅れるほど、周辺の構成部品との間の依存性の増加に伴い、開発した構成部品について考慮すべき事項が増加するためである。また、他の理由は、開発者が開発した構成部品の内容を忘れたりすることにより、開発した構成部品の修正が困難になるためである。
また、開発したシステム構成部品に係る検証は、開発した構成部品に係る全ての構成について、網羅的に実行されることが望ましい。その理由は、選択される可能性が低い構成の検証が行われなかった場合、当該構成の問題の発見が遅れ、上述のように、開発した構成部品の修正が困難になるためである。
本発明の目的は上述の課題を解決し、特定のシステム構成部品を含むシステムの全ての構成の検証を網羅的かつ迅速に実施できる、テスト支援装置、及び、テスト支援方法を提供することにある。
本発明の一態様におけるテスト支援装置は、システムの構成が、システムが保持すべき複数の機能性、及び、各機能性を実現するプログラムの組により定義される場合に、1以上のシステムの識別子、各システムが保持すべき複数の機能性の識別子、及び、各機能性を実現可能な1以上のプログラムの識別子を示す関連情報を記憶する記憶手段と、機能性、または、プログラムが指定された場合に、前記関連情報をもとに、前記指定された機能性、または、プログラムを含むシステムの構成を抽出し、出力する抽出手段と、を備える。
本発明の一態様におけるテスト支援方法は、システムの構成が、システムが保持すべき複数の機能性、及び、各機能性を実現するプログラムの組により定義される場合に、1以上のシステムの識別子、各システムが保持すべき複数の機能性の識別子、及び、各機能性を実現可能な1以上のプログラムの識別子を示す関連情報を記憶し、機能性、または、プログラムが指定された場合に、前記関連情報をもとに、前記指定された機能性、または、プログラムを含むシステムの構成を抽出し、出力する。
本発明の一態様におけるコンピュータが読み取り可能な記録媒体は、システムの構成が、システムが保持すべき複数の機能性、及び、各機能性を実現するプログラムの組により定義される場合に、1以上のシステムの識別子、各システムが保持すべき複数の機能性の識別子、及び、各機能性を実現可能な1以上のプログラムの識別子を示す関連情報を記憶し、機能性、または、プログラムが指定された場合に、前記関連情報をもとに、前記指定された機能性、または、プログラムを含むシステムの構成を抽出し、出力する、処理をコンピュータに実行させるプログラムを格納する。
本発明の効果は、特定のシステム構成部品を含むシステムの全ての構成の検証を網羅的かつ迅速に実施できることである。
本発明の第1の実施の形態の特徴的な構成を示すブロック図である。 本発明の第1の実施の形態における、テスト支援装置100の構成を示すブロック図である。 本発明の第1の実施の形態における、テスト支援装置100の処理を示すフローチャートである。 本発明の第1の実施の形態における、プロダクトに対するシステム構成抽出処理(ステップS104)の詳細を示すフローチャートである。 本発明の第1の実施の形態における、機能性に対するシステム構成抽出処理(ステップS105)の詳細を示すフローチャートである。 本発明の第1の実施の形態における、モデルに対するシステム構成抽出処理(ステップS106)の詳細を示すフローチャートである。 本発明の第1の実施の形態における、構成部品関連情報201の例を示す図である。 本発明の第1の実施の形態における、構成部品情報202の例を示す図である。 本発明の第1の実施の形態における、テストケース情報301の例を示す図である。 本発明の第1の実施の形態における、機能性実現情報401の例を示す図である。 本発明の第1の実施の形態における、システム構成情報501の例を示す図である。 本発明の第1の実施の形態における、機能性実現情報401の他の例を示す図である。 本発明の第1の実施の形態における、システム構成情報501の他の例を示す図である。 本発明の第1の実施の形態における、機能性実現情報401の他の例を示す図である。 本発明の第1の実施の形態における、システム構成情報501の他の例を示す図である。 本発明の第1の実施の形態における、機能性実現情報401の他の例を示す図である。 本発明の第1の実施の形態における、システム構成情報501の他の例を示す図である。 本発明の第2の実施の形態における、テスト支援装置100の処理を示すフローチャートである。 本発明の第2の実施の形態における、システム構成抽出処理(ステップS203)の詳細を示すフローチャートである。 本発明の第2の実施の形態における、機能性実現情報401の例を示す図である。 本発明の第2の実施の形態における、システム構成情報501の例を示す図である。
(第1の実施の形態)
次に、本発明の第1の実施の形態について説明する。
はじめに、本発明の第1の実施の形態の構成について説明する。図2は、本発明の第1の実施の形態における、テスト支援装置100の構成を示すブロック図である。
図2を参照すると、本発明の第1の実施の形態のテスト支援装置100は、抽出処理部(または、抽出部)101、及び、記憶部102を含む。テスト支援装置100は、利用者が情報の入出力に用いる入出力装置110と、ネットワーク等により通信可能に接続される。
抽出処理部101は、入出力装置110を介して、利用者から、システム構成の抽出要求を受け付ける。抽出要求は、追加や更新されたシステム構成部品等、他の構成部品への影響をテストする対象である構成部品(対象部品)の指定を含む。そして、抽出処理部101は、対象部品を含むシステム構成を抽出し、入出力装置110を介して、利用者へ出力する。
記憶部102は、構成部品関連情報(または、関連情報)201、及び、テストケース情報301を記憶する。ここで、構成部品関連情報201は、各システム構成部品と他のシステム構成部品との間の関連を示す。テストケース情報301は、各システム構成部品に係るテストケースを示す。
本発明の第1の実施の形態においては、システム構成部品として、プロダクト、機能性、及び、モデルが定義される。ここで、プロダクトは、ミドルウェアの実装(プログラム)を示す構成部品である。機能性は、ミドルウェアを抽象化した概念を定義する構成部品である。モデルは、ミドルウェアを組み合せたシステムを抽象的に定義する構成部品である。モデルのシステム構成は、当該モデルが保持すべき機能性と、各機能性を実現するプロダクトの組とにより、決定される。
なお、各システム構成部品(プロダクト、機能性、モデル)には、当該構成部品を一意に識別するための識別子(プロダクトidentifier(以下、IDと記載する)、機能性ID、モデルID)が付与される。
図7は、本発明の第1の実施の形態における、構成部品関連情報201の例を示す図である。図7において、四角はモデル、太線の円は機能性、細線の円はプロダクトを示す。また、実線の矢印は、始点のモデルが終点の機能性、または、モデルを保持すべきであることを示す。また、点線の矢印は、始点のプロダクト、または、機能性が終点の機能性を実現可能であることを示す。
ここで、機能性への点線の矢印の始点のプロダクトを、当該機能性の(直接的な)実現プロダクトと呼ぶ。例えば、図7の構成部品関連情報201において、プロダクト"mysql"は、機能性"rdb"の実現プロダクトである。プロダクトは複数の異なる機能性の実現プロダクトでもよい。同一の機能性が、複数の異なる実現プロダクトを有していてもよい。
また、機能性への点線の矢印の始点の他の機能性を、当該機能性の(直接的な)実現機能性と呼ぶ。例えば、図7の構成部品関連情報201において、機能性"rdb"は"db"の実現機能性である。機能性は複数の異なる他の機能性の実現機能性でもよい。同一の機能性が、複数の異なる実現機能性を有していてもよい。
また、ある機能性の実現機能性の実現プロダクトは、当該機能性の(間接的な)実現プロダクトでもある。例えば、図7の構成部品関連情報201において、プロダクト"mysql"は"rdb"の実現プロダクトであると同時に、"db"の実現プロダクトでもある。
また、モデルからの実線の矢印の終点の機能性を、当該モデルの(直接的な)要求機能性と呼ぶ。例えば、図7の構成部品関連情報201において、機能性"rdb"は、モデル"web3tier"の要求機能性である。同一の機能性が、複数の異なるモデルの要求機能性でもよい。同一のモデルが、複数の異なる要求機能性を有していてもよい。
また、モデルからの実線の矢印の終点の他のモデルを、当該モデルの(直接的な)要求モデルと呼ぶ。例えば、図7の構成部品関連情報201において、モデル"web3tier"はモデル"mail_web3tier"の要求モデルである。同一のモデルが、複数の異なるモデルの要求モデルでもよい。同一のモデルが、複数の異なる要求モデルを有していてもよい。
また、あるモデルの要求モデルの要求機能性は、当該モデルの(間接的な)要求機能性でもある。例えば、図7の構成部品関連情報201において、機能性"rdb"はモデル"web3tier"の要求機能性であると同時に、"mail_web3tier"の要求機能性でもある。
また、あるモデルの要求モデルの要求モデルは、当該モデルの(間接的な)要求モデルでもある。
モデルのシステム構成は、構成部品関連情報201において、当該モデルの全ての要求機能性の各々について、実現プロダクトの内のいずれかを選択することで決定される。
例えば、モデル"mail_web3tier"のシステム構成は、機能性"rdb"について、プロダクト"mysql"か"c"、機能性"ap-svr(server)"について、プロダクト"d"か"e"、機能性"mail-svr(server)"について、プロダクト"f"を選択することで決定される。同様に、モデル"batch"のシステム構成は、機能性"cache-svr(server)"について、プロダクト"a"、機能性"db"について、プロダクト"b"か"mysql"か"c"を選択することで決定される。
構成部品関連情報201は、各構成部品に係る構成部品情報202の集合で表されてもよい。
図8は、本発明の第1の実施の形態における、構成部品情報202の例を示す図である。
構成部品情報202は、構成部品の種別(プロダクト、機能性、モデル)を示す構成部品種別を含む。
図8において、構成部品情報202a、202b、202cは、それぞれ、プロダクト、機能性、モデルに係る構成部品情報202の例である。
プロダクトに係る構成部品情報202aは、プロダクトID、及び、当該プロダクトを(直接的な)実現プロダクトとする機能性の機能性IDを含む。また、プロダクトや、当該プロダクトのインストールや設定などを行うためのドライバ等が、プロダクトIDに対応付けて、図示しない外部の記憶部に記憶されていてもよい。図8の例では、構成部品情報202aは、プロダクト"mysql"が、機能性"rdb"の実現プロダクトであることを示している。
機能性に係る構成部品情報202bは、機能性IDを含む。構成部品情報202bは、当該機能性を(直接的な)実現機能性とする他の機能性の機能性IDを含んでいてもよい。また、機能性を実現するプロダクトの抽象化、すなわちプロダクト毎の差異の吸収を行うドライバ等が、機能性IDに対応付けて、図示しない外部の記憶部に記憶されていてもよい。図8の例では、構成部品情報202bは、機能性"rdb"が、機能性"db"の実現機能性であることを示している。
モデルに係る構成部品情報202cは、モデルID、及び、当該モデルの(直接的な)要求機能性の機能性IDを含む。また、構成部品情報202cは、当該モデルの(直接的な)要求モデルのモデルIDを含んでいてもよい。また、モデルの複数の要求機能性を実現するプロダクト間の協調動作を調整するドライバ等が、モデルIDに対応付けて、図示しない外部の記憶部に記憶されていてもよい。図8の例では、構成部品情報202cは、モデル"web3tier"の要求機能性が、機能性"rdb"と"ap-svr"であることを示している。
図9は、本発明の第1の実施の形態における、テストケース情報301の例を示す図である。
テストケース情報301は、テストケースの識別子(テストケースID)、及び、当該テストケースがテストを行う構成部品(プロダクト、機能性、モデル)の識別子を示すテスト対象を含む。テストケース情報301は、さらに、テスト内容として、プロダクトの正常なインストールを確認するためのコマンドや判定条件、機能性やモデルの正常性を確認するためのサンプルプログラムのインストールやそのコマンド、判定条件を含んでいてもよい。図9の例では、テストケース"mysql_test"が、プロダクト"mysql"のテストを行うためのテストケースであることを示している。また、テスト内容として、コマンド"aptitude show mysql"を実行すること、及び、コマンドの応答が"OK"の場合、テスト結果を正常と判定することを示している。
記憶部102は、各システム構成部品(プロダクト、機能性、モデル)について、テストケース情報301を記憶する。
なお、構成部品情報202やテストケース情報301は、Extensible Markup Language(以下、XMLと記載する)形式で表現されていてもよい。
また、構成部品関連情報201やテストケース情報301は、図示しない外部の記憶部に記憶されており、図示しない取得部が、構成部品関連情報201やテストケース情報301を外部の記憶部から取得してもよい。
また、テスト支援装置100はCPU(Central Processing Unit)とプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。
また、テスト支援装置100は、さらに、テスト支援装置100が出力するシステム構成に従って、コンピュータ上にシステムを構築するシステム構築装置(図示せず)、及び、テスト支援装置100が出力するテストケースに従って、システムのテストを行うテスト実行装置(図示せず)と接続されていてもよい。
次に、本発明の第1の実施の形態におけるテスト支援装置100の動作について説明する。図3は、本発明の第1の実施の形態における、テスト支援装置100の処理を示すフローチャートである。
ここでは、記憶部102に、図7の構成部品関連情報201が記憶されている場合を例に、動作を説明する。
はじめに、抽出処理部101は、入出力装置110を介して、利用者からシステム構成の抽出要求を受け付ける(ステップS101)。ここで、抽出要求は、追加や更新されたシステム構成部品(対象部品)の識別子を含む。
抽出処理部101は、記憶部102から、抽出要求で指定された対象部品に係る構成部品情報202を取得する(ステップS102)。
抽出処理部101は、取得したシステム構成部品情報202の構成部品種別により、対象部品の種別を確認する(ステップS103)。
対象部品の種別がプロダクトの場合(ステップS103/プロダクト)、抽出処理部101は、後述する、プロダクトに対するシステム構成抽出処理を実行する(ステップS104)。
対象部品の種別が機能性の場合(ステップS103/機能性)、抽出処理部101は、後述する、機能性に対するシステム構成抽出処理を実行する(ステップS105)。
対象部品の種別がモデルの場合(ステップS103/モデル)、抽出処理部101は、後述する、モデルに対するシステム構成抽出処理を実行する(ステップS106)。
ステップS104〜S106のシステム構成抽出処理により、対象部品を含むシステム構成を示すシステム構成情報501が生成される。
抽出処理部101は、テストケース情報301をもとに、システム構成情報501に含まれる、各システム構成の各構成部品について、当該構成部品をテスト対象とするテストケースを取得し、システム構成情報501に設定する(ステップS107)。
抽出処理部101は、システム構成情報501を、入出力装置110を介して、利用者へ出力する(ステップS108)。
次に、ステップS104〜S106のシステム構成抽出処理の詳細を説明する。
<プロダクトに対するシステム構成抽出処理>
はじめに、プロダクトに対するシステム構成抽出処理(ステップS104)の詳細を説明する。
図4は、本発明の第1の実施の形態における、プロダクトに対するシステム構成抽出処理(ステップS104)の詳細を示すフローチャートである。
プロダクトに対するシステム構成抽出処理では、対象部品であるプロダクト(対象プロダクト)が影響を及ぼす機能性及びモデルが抽出される。そして、抽出されたモデルについて、対象プロダクトを含むシステム構成が抽出される。
はじめに、抽出処理部101は、構成部品関連情報201をもとに、対象プロダクトを実現プロダクトとする機能性を特定する。ここで、抽出処理部101は、構成部品関連情報201において、対象プロダクトからの点線の矢印を順方向に再帰的に辿って得られる全ての経路上の機能性を探索することにより、対象プロダクトを実現プロダクトとする機能性を特定する(ステップS1041)。
例えば、対象プロダクトとして、図7の構成部品関連情報201における、プロダクト"mysql"が指定された場合、抽出処理部101は、プロダクト"mysql"を実現プロダクトとする機能性として、機能性"rdb"、"db"を特定する。
次に、抽出処理部101は、構成部品関連情報201をもとに、ステップS1041にて特定した機能性の各々について、当該機能性を要求機能性とするモデルを抽出する。ここで、抽出処理部101は、構成部品関連情報201において、抽出したモデルへの実線の矢印を逆方向に再帰的に辿って得られる全ての経路上のモデルを探索することにより、特定した各機能性を要求機能性とするモデルを抽出する(ステップS1042)。
例えば、抽出処理部101は、機能性"rdb"を要求機能性とするモデルとして、"web3tier"、"mail_web3tier"を抽出する。また、抽出処理部101は、機能性"db"を要求機能性とするモデルとして、"batch"を抽出する。
次に、抽出処理部101は、ステップS1042で抽出したモデルの内の1つを選択する(ステップS1043)。ここで、抽出処理部101は、構成部品関連情報201において、ステップS1041で特定された機能性に近いモデルから先に選択してもよい。
抽出処理部101は、構成部品関連情報201をもとに、ステップS1043で選択したモデルの要求機能性を抽出する。ここで、抽出処理部101は、構成部品関連情報201において、選択したモデルからの実線の矢印を順方向に再帰的に辿って得られる全ての経路上の要求モデルを探索することにより、選択したモデルの要求モデルを抽出する。そして、選択したモデル、及び、抽出した各要求モデルの要求機能性を抽出する(ステップS1044)。
例えば、ステップS1043でモデル"web3tier"が選択された場合、抽出処理部101は、モデル"web3tier"の要求機能性として、機能性"rdb"、"ap-svr"を抽出する。
次に、抽出処理部101は、ステップS1044で抽出した各要求機能性について、当該要求機能性の実現プロダクトの集合を抽出する。ここで、抽出処理部101は、構成部品関連情報201において、抽出した要求機能性への点線の矢印を逆方向に再帰的に辿って得られる全ての経路上の機能性を探索し、抽出した各要求機能性の実現機能性を抽出する。そして、抽出した要求機能性、及び、抽出した実現機能性の実現プロダクトを抽出する。そして、抽出処理部101は、モデルに適用可能な実現プロダクトを示す機能性実現情報401を生成する(ステップS1045)。
なお、ステップS1044で抽出した要求機能性が、ステップS1041で特定された対象プロダクトを実現プロダクトとする機能性の場合、抽出処理部101は、構成部品関連情報201において、次のように、実現機能性を抽出する。すなわち、抽出処理部101は、抽出した要求機能性への点線の矢印を逆方向に再帰的に辿って得られる経路の内、抽出した要求機能性と対象プロダクトとの間の経路上の機能性のみを探索し、実現機能性を抽出する。この場合、抽出処理部101は、実現プロダクトとして、対象プロダクトのみを抽出する。
図10、図12、図14、図16は、本発明の第1の実施の形態における、機能性実現情報401の例を示す図である。機能性実現情報401は、モデルについて抽出された要求モデルのモデルIDと要求機能性の機能性ID、及び、当該要求機能性について抽出された実現機能性の機能性IDと実現プロダクトのプロダクトIDの集合を含む。
例えば、抽出した要求機能性の内、機能性"rdb"は、対象プロダクト"mysql"を実現プロダクトとする機能性であるため、抽出処理部101は、機能性"rdb"について、実現プロダクト"mysql"を抽出する。また、抽出処理部101は、機能性"ap-svr"について、実現プロダクト"d"、"e"を抽出する。この結果、抽出処理部101は、モデル"web3tier"に対して、図10の機能性実現情報401aを生成する。
なお、抽出処理部101は、ステップS1043で選択したモデルの要求モデルについて、機能性実現情報401が既に生成されている場合は、当該生成済みの機能性実現情報401の内容を利用してもよい。
次に、抽出処理部101は、ステップS1045で抽出された、各要求機能性についての実現プロダクトの集合をもとに、モデルに適用可能なシステム構成を抽出する。ここで、抽出処理部101は、各要求機能性の実現プロダクトの集合の直積を求め、実現プロダクトの組み合わせを取得することにより、システム構成を抽出する。そして、抽出処理部101は、得られたシステム構成をシステム構成情報501に設定する(ステップS1046)。
図11、図13、図15、図17は、本発明の第1の実施の形態における、システム構成情報501の例を示す図である。システム構成情報501は、システム構成を識別するための識別子(構成ID)、モデルのモデルID、当該モデルについて抽出された要求モデルのモデルIDと要求機能性の機能性IDを含む。さらに、システム構成情報501は、当該要求機能性について抽出された実現機能性の機能性IDと実現プロダクトのプロダクトID、及び、当該実現プロダクトのテストを行うためのテストケースのテストケースIDを含む。
例えば、抽出処理部101は、要求機能性"rdb"の実現プロダクトの集合{"mysql"}と要求機能性"ap-svr"の実現プロダクトの集合{"d","e"}との直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"mysql","d"}、{"mysql","e"}となる。抽出処理部101は、これらの組み合わせについて、図10の機能性実現情報401から、モデルと要求モデルのモデルID、要求機能性と実現機能性の機能性ID、及び、実現プロダクトのプロダクトIDを取得し、図11のシステム構成情報501aにおける、構成ID"1"、"2"のように、システム構成を設定する。
抽出処理部101は、ステップS1042で抽出した全てのモデルについて、ステップS1043〜S1046を繰り返す(ステップS1047)。
例えば、ステップS1043でモデル"mail_web3tier"が選択された場合、抽出処理部101は、モデル"mail_web3tier"の要求モデル、要求機能性として、モデル"web3tier"、機能性"rdb"、"ap-svr"、及び、機能性"mail-svr"を抽出する。
そして、抽出処理部101は、上述と同様に、抽出した要求機能性の内、機能性"rdb"について、実現プロダクト"mysql"を、機能性"ap-svr"について、実現プロダクト"d"、"e"を抽出する。さらに、抽出処理部101は、機能性"mail-svr"について、実現プロダクト"f"を抽出する。この結果、抽出処理部101は、モデル"mail_web3tier"に対して、図10の機能性実現情報401bを生成する。
抽出処理部101は、要求機能性"rdb"の実現プロダクトの集合{"mysql"}、要求機能性"ap-svr"の実現プロダクトの集合{"d","e"}、及び、要求機能性"mail-svr"の実現プロダクトの集合{"f"}の直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"mysql","d","f"}、{"mysql","e","f"}となる。抽出処理部101は、これらの組み合わせについて、図11のシステム構成情報501aにおける、構成ID"3"、"4"のように、システム構成を設定する。
また、ステップS1043でモデル"batch"が選択された場合、抽出処理部101は、モデル"batch"の要求機能性として、機能性"cache-svr"、"db"を抽出する。
そして、抽出処理部101は、抽出した要求機能性の内、機能性"cache-svr"について、実現プロダクト"a"を抽出する。また、機能性"db"は、対象プロダクト"mysql"を実現プロダクトとする機能性であるため、抽出処理部101は、機能性"mail-svr"について、実現機能性"rdb"、実現プロダクト"mysql"を抽出する。この結果、抽出処理部101は、モデル"batch"に対して、図10の機能性実現情報401cを生成する。
抽出処理部101は、要求機能性"cache-svr"の実現プロダクトの集合{"a"}と要求機能性"db"の実現プロダクトの集合{"mysql"}の直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"a","mysql"}となる。抽出処理部101は、これらの組み合わせについて、図11のシステム構成情報501aにおける、構成ID"5"のように、システム構成を設定する。
そして、抽出処理部101は、図9のテストケース情報301をもとに、図11のシステム構成情報501aにおける実現プロダクト"mysql"のテストケースとして、テストケース"mysql_test"を設定する。抽出処理部101は、他の実現プロダクトについても、図11に示すように、テストケースを設定する。
また、他の例として、例えば、対象プロダクトとして、図7の構成部品関連情報201における、プロダクト"a"が指定された場合、抽出処理部101は、プロダクト"a"を実現プロダクトとする機能性として、機能性"cache-svr"を特定する。
抽出処理部101は、機能性"cache-svr"を要求機能性とするモデルとして、"batch"を抽出する。
抽出処理部101は、モデル"batch"の要求機能性として、機能性"cache-svr"、"db"を抽出する。
抽出処理部101は、抽出した要求機能性の内、機能性"cache-svr"は、対象プロダクト"a"を実現プロダクトとする機能性であるため、抽出処理部101は、機能性"cache-svr"について、実現プロダクト"a"を抽出する。また、抽出処理部101は、機能性"db"について、実現プロダクト"b"、及び、実現機能性"rdb"、実現プロダクト"mysql"、"c"を抽出する。この結果、抽出処理部101は、モデル"batch"に対して、図12の機能性実現情報401dを生成する。
抽出処理部101は、要求機能性"cache-svr"の実現プロダクトの集合{"a"}と要求機能性"db"の実現プロダクトの集合{"b","mysql","c"}の直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"a","b"}、{"a","mysql"}、{"a","c"}となる。抽出処理部101は、これらの組み合わせについて、図13のシステム構成情報501bにおける、構成ID"1"、"2"、"3"のように、システム構成を設定する。
<機能性に対するシステム構成抽出処理>
次に、機能性に対するシステム構成抽出処理(ステップS105)の詳細を説明する。
図5は、本発明の第1の実施の形態における、機能性に対するシステム構成抽出処理(ステップS105)の詳細を示すフローチャートである。
機能性に対するシステム構成抽出処理では、対象部品である機能性(対象機能性)が影響を及ぼす機能性およびモデルが抽出される。そして、抽出されたモデルについて、対象機能性を含むシステム構成が抽出される。
はじめに、抽出処理部101は、構成部品関連情報201をもとに、対象機能性を実現機能性とする機能性を特定する。ここで、抽出処理部101は、構成部品関連情報201において、対象機能性からの点線の矢印を順方向に再帰的に辿って得られる全ての経路上の機能性を探索することにより、対象機能性を実現機能性とする機能性を特定する(ステップS1051)。
例えば、対象機能性として、図7の構成部品関連情報201における、機能性"rdb"が指定された場合、抽出処理部101は、機能性"rdb"を実現機能性とする機能性として、機能性"db"を特定する。
次に、抽出処理部101は、ステップS1042と同様に、対象機能性、及び、ステップS1051にて特定した機能性の各々について、当該機能性を要求機能性とするモデルを抽出する(ステップS1052)。
例えば、抽出処理部101は、機能性"rdb"を要求機能性とするモデルとして、"web3tier"、"mail_web3tier"を抽出する。また、抽出処理部101は、機能性"db"を要求機能性とするモデルとして、"batch"を抽出する。
次に、抽出処理部101は、ステップS1052で抽出したモデルの内の1つを選択する(ステップS1053)。
抽出処理部101は、ステップS1044と同様に、ステップS1053で選択したモデルの要求機能性を抽出する(ステップS1054)。
例えば、ステップS1043でモデル"web3tier"が選択された場合、抽出処理部101は、モデル"web3tier"の要求機能性として、機能性"rdb"、"ap-svr"を抽出する。
次に、抽出処理部101は、ステップS1045と同様に、ステップS1054で抽出した各要求機能性について、当該要求機能性の実現プロダクトの集合を抽出する(ステップS1055)。
なお、ステップS1054で抽出した要求機能性が、ステップS1051で特定された対象機能性を実現機能性とする機能性の場合、抽出処理部101は、構成部品関連情報201において、以下のように、実現機能性を抽出する。すなわち、抽出処理部101は、抽出した要求機能性への点線の矢印を逆方向に再帰的に辿って得られる経路の内、抽出した要求機能性と対象機能性との間の経路を含む経路上の機能性のみを探索し、実現機能性を抽出する。
例えば、抽出処理部101は、抽出した要求機能性の内、機能性"rdb"について、実現プロダクト"mysql"、"c"を抽出する。同様に、抽出処理部101は、機能性"ap-svr"について、実現プロダクト"d"、"e"を抽出する。この結果、抽出処理部101は、モデル"web3tier"に対して、図14の機能性実現情報401eを生成する。
次に、抽出処理部101は、ステップS1046と同様に、モデルに適用可能なシステム構成を抽出する(ステップS1056)。
例えば、抽出処理部101は、要求機能性"rdb"の実現プロダクトの集合{"mysql","c"}と要求機能性"ap-svr"の実現プロダクトの集合{"d","e"}との直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"mysql","d"}、{"mysql","e"}、{"c","d"}、{"c","e"}となる。抽出処理部101は、これらの組み合わせについて、図15のシステム構成情報501cにおける、構成ID"1"、"2"、"3"、"4"のように、システム構成を設定する。
抽出処理部101は、ステップS1052で抽出した全てのモデルについて、ステップS1053〜S1056を繰り返す(ステップS1057)。
例えば、ステップS1053でモデル"mail_web3tier"が選択された場合、抽出処理部101は、モデル"mail_web3tier"の要求モデル、要求機能性として、モデル"web3tier"、機能性"rdb"、"ap-svr"、及び、機能性"mail-svr"を抽出する。
そして、抽出処理部101は、上述と同様に、抽出した要求機能性の内、機能性"rdb"について、実現プロダクト"mysql"、"c"を、機能性"ap-svr"について、実現プロダクト"d"、"e"を抽出する。また、抽出処理部101は、機能性"mail-svr"について、実現プロダクト"f"を抽出する。この結果、抽出処理部101は、モデル"mail_web3tier"に対して、図14の機能性実現情報401fを生成する。
抽出処理部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"のように、システム構成を設定する。
また、ステップS1053でモデル"batch"が選択された場合、抽出処理部101は、モデル"batch"の要求機能性として、機能性"cache-svr"、"db"を抽出する。
そして、抽出処理部101は、抽出した要求機能性の内、機能性"cache-svr"について、実現プロダクト"a"を抽出する。また、機能性"db"は、対象機能性"rdb"を実現機能性とする機能性であるため、抽出処理部101は、機能性"db"について、実現機能性"rdb"、実現プロダクト"mysql"、"c"を抽出する。この結果、抽出処理部101は、モデル"batch"に対して、図14の機能性実現情報401gを生成する。
抽出処理部101は、要求機能性"cache-svr"の実現プロダクトの集合{"a"}と要求機能性"db"の実現プロダクトの集合{"mysql","c"}の直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"a","mysql"}、{"a","c"}となる。抽出処理部101は、これらの組み合わせについて、図15のシステム構成情報501cにおける、構成ID"9"、"10"のように、システム構成を設定する。
<モデルに対するシステム構成抽出処理>
次に、モデルに対するシステム構成抽出処理(ステップS106)の詳細を説明する。
図6は、本発明の第1の実施の形態における、モデルに対するシステム構成抽出処理(ステップS106)の詳細を示すフローチャートである。
モデルに対するシステム構成抽出処理では、対象部品であるモデル(対象モデル)が影響を及ぼす機能性及びモデルが抽出される。そして、抽出されたモデルについて、対象モデルを含むシステム構成が抽出される。
はじめに、抽出処理部101は、構成部品関連情報201をもとに、対象モデルを要求モデルとするモデルを抽出する。ここで、抽出処理部101は、構成部品関連情報201において、対象モデルへの実線の矢印を逆方向に再帰的に辿って得られる全ての経路上のモデルを探索することにより、対象モデルを要求モデルとするモデルを抽出する(ステップS1062)。
例えば、対象モデルとして、図7の構成部品関連情報201における、モデル"web3tier"が指定された場合、抽出処理部101は、モデル"web3tier"を要求モデルとするモデルとして、"mail_web3tier"を抽出する。
次に、抽出処理部101は、対象モデル、及び、ステップS1062で抽出したモデルの内の1つを選択する(ステップS1063)。
抽出処理部101は、ステップS1044と同様に、ステップS1063で選択したモデルの要求機能性を抽出する(ステップS1064)。
例えば、ステップS1043でモデル"web3tier"が選択された場合、抽出処理部101は、モデル"web3tier"の要求機能性として、機能性"rdb"、"ap-svr"を抽出する。
次に、抽出処理部101は、ステップS1045と同様に、ステップS1064で抽出した各要求機能性について、当該要求機能性の実現プロダクトの集合を抽出する(ステップS1065)。
例えば、抽出処理部101は、抽出した要求機能性の内、機能性"rdb"について、実現プロダクト"mysql"、"c"を抽出する。同様に、抽出処理部101は、機能性"ap-svr"について、実現プロダクト"d"、"e"を抽出する。この結果、抽出処理部101は、モデル"web3tier"に対して、図16の機能性実現情報401hを生成する。
次に、抽出処理部101は、ステップS1046と同様に、モデルに適用可能なシステム構成を抽出する(ステップS1066)。
例えば、抽出処理部101は、要求機能性"rdb"の実現プロダクトの集合{"mysql","c"}と要求機能性"ap-svr"の実現プロダクトの集合{"d","e"}との直積を算出する。直積の算出結果が、実現プロダクトの組み合わせ{"mysql","d"}、{"mysql","e"}、{"c","d"}、{"c","e"}となる。抽出処理部101は、これらの組み合わせについて、図17のシステム構成情報501dにおける、構成ID"1"、"2"、"3"、"4"のように、システム構成を設定する。
抽出処理部101は、対象モデル、及び、ステップS1062で抽出したモデルの全てについて、ステップS1063〜S1066を繰り返す(ステップS1067)。
例えば、ステップS1063でモデル"mail_web3tier"が選択された場合、抽出処理部101は、モデル"mail_web3tier"の要求モデル、要求機能性として、モデル"web3tier"、機能性"rdb"、"ap-svr"、及び、機能性"mail-svr"を抽出する。
そして、抽出処理部101は、上述と同様に、抽出した要求機能性の内、機能性"rdb"について、実現プロダクト"mysql"、"c"を、機能性"ap-svr"について、実現プロダクト"d"、"e"を抽出する。また、抽出処理部101は、機能性"mail-svr"について、実現プロダクト"f"を抽出する。この結果、抽出処理部101は、モデル"mail_web3tier"に対して、図16の機能性実現情報401iを生成する。
抽出処理部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"のように、システム構成を設定する。
以上により、本発明の第1の実施の形態の動作が完了する。
次に、本発明の第1の実施の形態の特徴的な構成を説明する。図1は、本発明の第1の実施の形態の特徴的な構成を示すブロック図である。
図1を参照すると、テスト支援装置100は、記憶部102、及び、抽出処理部101を含む。ここで、システムの構成は、システムが保持すべき複数の機能性、及び、各機能性を実現するプログラムの組により定義される。記憶部102は、1以上のシステムの識別子、各システムが保持すべき複数の機能性の識別子、及び、各機能性を実現可能な1以上のプログラムの識別子を示す構成部品関連情報201を記憶する。抽出処理部101は、機能性、または、プログラムが指定された場合に、構成部品関連情報201をもとに、指定された機能性、または、プログラムを含むシステムの構成を抽出し、出力する。
本発明の第1の実施の形態によれば、特定のシステム構成部品を含むシステムの全ての構成の検証を網羅的かつ迅速に実施できる。その理由は、抽出処理部101が、機能性、または、プログラムが指定された場合に、構成部品関連情報201をもとに、指定された機能性、または、プログラムを含むシステムの構成を抽出し、出力するためである。これにより、システム構成部品の追加や更新に伴う、検証のための工数を低減するとともに、追加や更新のあるシステムの構成を、もれなく検証できる。
また、本発明の第1の実施の形態によれば、特定のシステム構成部品を含むシステムの全ての構成の検証に必要なテストケースを、容易に取得できる。その理由は、抽出処理部101が、テストケース情報301から、抽出されたシステム構成に含まれる、各機能性、及び、各プログラムに係るテストケースの識別子を抽出し、出力するためである。
また、本発明の第1の実施の形態によれば、特定のシステム構成部品を含むシステムの全ての構成の検証を自動化できる。その理由は、システム構築装置が、抽出処理部101により抽出されたシステムの構成に従って、システムを構築し、テスト実行装置が、抽出処理部101により抽出されたテストケースに従って、システムのテストを行えるためである。
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明する。
本発明の第2の実施の形態においては、抽出処理部101が、構成部品関連情報201に含まれる全てのモデルについて適用可能なシステム構成を生成した後で、対象部品を含むシステム構成を抽出する点で、本発明の第1の実施の形態と異なる。
本発明の第2の実施の形態における、テスト支援装置100の構成は、本発明の第1の実施の形態の構成(図2)と同様である。
次に、本発明の第2の実施の形態におけるテスト支援装置100の動作について説明する。図18は、本発明の第2の実施の形態における、テスト支援装置100の処理を示すフローチャートである。
ここでは、本発明の第1の実施の形態と同様に、記憶部102に、図7の構成部品関連情報201が記憶されている場合を例に、動作を説明する。
図18において、対象部品に係る構成部品情報202の取得までの処理とテストケースの取得以降の処理(ステップS201〜S202、S207〜S208)は、本発明の第1の実施の形態(ステップS101〜S102、S107〜S208)と同様である。
抽出処理部101は、対象部品の種別によらず、後述するシステム構成抽出処理を実行する(ステップS203)。
次に、ステップS203のシステム構成抽出処理の詳細を説明する。
<システム構成抽出処理>
図19は、本発明の第2の実施の形態における、システム構成抽出処理(ステップS203)の詳細を示すフローチャートである。
本発明の第2の実施の形態におけるシステム構成抽出処理では、構成部品関連情報201に含まれる全てのモデルについて、適用可能なシステム構成が生成される。そして、抽出されたシステム構成の内、対象部品を含むシステム構成が抽出される。
はじめに、抽出処理部101は、構成部品関連情報201に含まれる全てのモデルを抽出する(ステップS2032)。
次に、抽出処理部101は、ステップS2032で抽出したモデルの内の1つを選択する(ステップS2033)。
抽出処理部101は、ステップS1044と同様に、ステップS2033で選択したモデルの要求機能性を抽出する(ステップS2034)。
次に、抽出処理部101は、ステップS1045と同様に、ステップS2034で抽出した要求機能性の各々について、当該要求機能性の実現プロダクトの集合を抽出する(ステップS2035)。
次に、抽出処理部101は、ステップS1046と同様に、モデルに適用可能なシステム構成を設定する(ステップS2036)。
抽出処理部101は、対象モデル、及び、ステップS2032で抽出したモデルの全てについて、ステップS2033〜S2036を繰り返す(ステップS2037)。
図20は、本発明の第2の実施の形態における、機能性実現情報401の例を示す図である。図21は、本発明の第2の実施の形態における、システム構成情報501の例を示す図である。
例えば、抽出処理部101は、図7の構成部品関連情報201に含まれるモデル"web3tier"、"mail_web3tier"、"batch"に対して、図20の機能性実現情報401j、401k、401lを生成する。そして、抽出処理部101は、図21のシステム構成情報501eのように、システム構成を設定する。
最後に、抽出処理部101は、システム構成情報501に含まれるシステム構成の内、対象部品を含む構成のみを抽出する(ステップS2038)。
例えば、対象部品として、図7の構成部品関連情報201における、プロダクト"mysql"が指定された場合、抽出処理部101は、図21のシステム構成情報501eに含まれるシステム構成の内、プロダクト"mysql"を実現プロダクトに含む、構成ID"1"、"2"、"5"、"6"、"10"の構成を抽出する。
以上により、本発明の第2の実施の形態の動作が完了する。
本発明の第2の実施の形態によれば、本発明の第1の実施の形態と同様に、特定のシステム構成部品を含むシステムの全ての構成の検証を網羅的かつ迅速に実施できる。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2012年12月11日に出願された日本出願特願2012−270364を基礎とする優先権を主張し、その開示の全てをここに取り込む。
100 テスト支援装置
101 抽出処理部
102 記憶部
110 入出力装置
201 構成部品関連情報
202 構成部品情報
301 テストケース情報
401 機能性実現情報
501 システム構成情報

Claims (10)

  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以上のプログラムの識別子を示す関連情報を記憶し、
    機能性、または、プログラムが指定された場合に、前記関連情報をもとに、前記指定された機能性、または、プログラムを含むシステムの構成を抽出し、出力する、
    処理をコンピュータに実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
JP2014551882A 2012-12-11 2013-12-06 テスト支援装置、及び、テスト支援方法 Active JP6191618B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012270364 2012-12-11
JP2012270364 2012-12-11
PCT/JP2013/007192 WO2014091732A1 (ja) 2012-12-11 2013-12-06 テスト支援装置、及び、テスト支援方法

Publications (2)

Publication Number Publication Date
JPWO2014091732A1 true JPWO2014091732A1 (ja) 2017-01-05
JP6191618B2 JP6191618B2 (ja) 2017-09-06

Family

ID=50934040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014551882A Active JP6191618B2 (ja) 2012-12-11 2013-12-06 テスト支援装置、及び、テスト支援方法

Country Status (4)

Country Link
US (1) US9792201B2 (ja)
JP (1) JP6191618B2 (ja)
CN (1) CN104956336B (ja)
WO (1) WO2014091732A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07114465A (ja) * 1993-10-15 1995-05-02 Hitachi Ltd システム機能検証方法
JPH1040091A (ja) * 1996-07-19 1998-02-13 Fujitsu Ltd プログラム制御装置
JPH11306046A (ja) * 1998-04-23 1999-11-05 Toshiba Corp テストケース生成システム及びテストケース生成方法
JP2010033373A (ja) * 2008-07-29 2010-02-12 Hitachi Ltd ソフトウェア構成管理方法およびシステム
JP2011028313A (ja) * 2009-07-21 2011-02-10 Toyota Motor Corp 検証項目自動生成装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993448B2 (en) * 2000-08-09 2006-01-31 Telos Corporation System, method and medium for certifying and accrediting requirements compliance
US20040073890A1 (en) * 2002-10-09 2004-04-15 Raul Johnson Method and system for test management
US20070106982A1 (en) * 2005-11-04 2007-05-10 International Business Machines Corporation Method, apparatus, and computer program product for model based traceability
JP2011118637A (ja) 2009-12-03 2011-06-16 Hitachi Ltd システムテスト仕様生成装置及び試験装置
JP2012103791A (ja) * 2010-11-08 2012-05-31 Mitsubishi Electric Corp プログラム試験装置、プログラム試験方法およびプログラム試験用プログラム
US20120143570A1 (en) * 2010-12-03 2012-06-07 University Of Maryland Method and system for ontology-enabled traceability in design and management applications
US8799869B2 (en) * 2011-10-03 2014-08-05 Accenture Global Services Limited System for ensuring comprehensiveness of requirements testing of software applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07114465A (ja) * 1993-10-15 1995-05-02 Hitachi Ltd システム機能検証方法
JPH1040091A (ja) * 1996-07-19 1998-02-13 Fujitsu Ltd プログラム制御装置
JPH11306046A (ja) * 1998-04-23 1999-11-05 Toshiba Corp テストケース生成システム及びテストケース生成方法
JP2010033373A (ja) * 2008-07-29 2010-02-12 Hitachi Ltd ソフトウェア構成管理方法およびシステム
JP2011028313A (ja) * 2009-07-21 2011-02-10 Toyota Motor Corp 検証項目自動生成装置

Also Published As

Publication number Publication date
CN104956336B (zh) 2018-01-30
US20150317239A1 (en) 2015-11-05
WO2014091732A1 (ja) 2014-06-19
JP6191618B2 (ja) 2017-09-06
CN104956336A (zh) 2015-09-30
US9792201B2 (en) 2017-10-17

Similar Documents

Publication Publication Date Title
US10621068B2 (en) Software code debugger for quick detection of error root causes
AU2017327823B2 (en) Test case generator built into data-integration workflow editor
US9336023B2 (en) Visual generation of mobile applications based on data models
US9983892B2 (en) Deep linking to mobile application states through programmatic replay of user interface events
US10719431B2 (en) Graph based code performance analysis
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
US7908518B2 (en) Method, system and computer program product for failure analysis implementing automated comparison of multiple reference models
JP4845153B2 (ja) 複数のクライアントを用いた分散環境で更新作業のコンフリクトを回避するシステム、方法、サーバ及びコンピュータプログラム
US9507374B1 (en) Selecting most compatible synchronization strategy to synchronize data streams generated by two devices
US20170109271A1 (en) User interface testing abstraction
KR102044046B1 (ko) 텔레메트리 파일 해시 및 충돌 검출 기법
US8769487B2 (en) Configurable auto content testing framework for technical documentation
WO2015008377A1 (ja) 状態復元プログラム、装置、及び支援方法
JP5794107B2 (ja) 分散型コンピュータシステム、インタラクティブ型クライアント−サーバ・アプリケーションのベリファイ方法、及び製品
CN103778178A (zh) 用于重新配置虚拟机的快照的方法和系统
TW201727481A (zh) 將桌面應用程式轉換成網路應用程式
US9639454B2 (en) Computer-readable recording medium storing therein test data generating program, test data generating method, test data generating apparatus and information processing system
KR102105753B1 (ko) 모바일 어플리케이션 환경설정을 시험하기 위한 시험 항목 자동 생성 방법 및 시스템
US9436445B2 (en) Drag-and-drop functionality for scalable vector graphics
US8984487B2 (en) Resource tracker
US9871889B1 (en) Techniques for automated capture of configuration data for simulation
US9201897B1 (en) Global data storage combining multiple back-end storage devices
US20230267255A1 (en) Semiconductor equipment modeling method and device
GB2522483A (en) Method and system for entering information
JP6191618B2 (ja) テスト支援装置、及び、テスト支援方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170711

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170724

R150 Certificate of patent or registration of utility model

Ref document number: 6191618

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150