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

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

▶ 富士通株式会社の特許一覧

特許7367410生成プログラム、生成方法、および情報処理装置
<>
  • 特許-生成プログラム、生成方法、および情報処理装置 図1
  • 特許-生成プログラム、生成方法、および情報処理装置 図2
  • 特許-生成プログラム、生成方法、および情報処理装置 図3
  • 特許-生成プログラム、生成方法、および情報処理装置 図4
  • 特許-生成プログラム、生成方法、および情報処理装置 図5
  • 特許-生成プログラム、生成方法、および情報処理装置 図6
  • 特許-生成プログラム、生成方法、および情報処理装置 図7
  • 特許-生成プログラム、生成方法、および情報処理装置 図8
  • 特許-生成プログラム、生成方法、および情報処理装置 図9
  • 特許-生成プログラム、生成方法、および情報処理装置 図10
  • 特許-生成プログラム、生成方法、および情報処理装置 図11
  • 特許-生成プログラム、生成方法、および情報処理装置 図12
  • 特許-生成プログラム、生成方法、および情報処理装置 図13
  • 特許-生成プログラム、生成方法、および情報処理装置 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-16
(45)【発行日】2023-10-24
(54)【発明の名称】生成プログラム、生成方法、および情報処理装置
(51)【国際特許分類】
   G06F 11/36 20060101AFI20231017BHJP
【FI】
G06F11/36 188
【請求項の数】 5
(21)【出願番号】P 2019163836
(22)【出願日】2019-09-09
(65)【公開番号】P2021043582
(43)【公開日】2021-03-18
【審査請求日】2022-05-17
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(72)【発明者】
【氏名】堀田 勇次
(72)【発明者】
【氏名】小野寺 佐知子
【審査官】渡辺 順哉
(56)【参考文献】
【文献】特開2017-111533(JP,A)
【文献】国際公開第2018/174223(WO,A1)
【文献】特開2015-207059(JP,A)
【文献】特開2009-252167(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07-11/36
(57)【特許請求の範囲】
【請求項1】
システム構成とテスト手順とを対応づける構成手順情報を複数含む構成手順管理情報に基づいて特定されるシステム構成間で共通する共通構成要素のうちで、テスト手順の生成対象のシステム構成に含まれる構成要素よりも要素数が少なく且つ前記生成対象のシステム構成に含まれる前記構成要素を最も多く有する共通構成要素を有する第1のシステム構成および第2のシステム構成を特定し、
第3のシステム構成であって、前記生成対象のシステム構成に含まれる前記構成要素と前記共通構成要素との差分の構成要素を追加すると第4のシステム構成へと変更される関係を有する前記第3のシステム構成および前記第4のシステム構成を、前記構成手順管理情報に基づいて特定し、
前記第1のシステム構成と前記第2のシステム構成とで共通している共通テスト項目と、前記第4のシステム構成のテスト項目のうちで前記第3のシステム構成のテスト項目に含まれていない追加テスト項目とに基づいて、前記生成対象のシステム構成と対応するテスト項目を決定し、
構成要素の組合せに応じて実行される組合せテスト項目の情報を含む属性情報に基づいて、前記組合せテスト項目が、他のテスト項目よりも後ろに配置されるように前記生成対象のシステム構成と対応するテスト項目を並べたテスト手順を出力する、
処理をコンピュータに実行させる生成プログラム。
【請求項2】
更に、前記構成手順管理情報に含まれる構成手順情報のうちで、第1の構成手順情報のシステム構成から第2の構成手順情報のシステム構成への変更と、第3の構成手順情報のシステム構成から第4の構成手順情報のシステム構成への変更とで、追加される構成要素が異なっているにもかかわらず同じテスト項目が追加される場合に、前記同じテスト項目を前記組合せテスト項目と判定する、処理をコンピュータに実行させる、請求項1に記載の生成プログラム。
【請求項3】
更に、前記構成手順管理情報に含まれる複数の構成手順情報のテスト手順において、前記組合せテスト項目と判定されたテスト項目よりも後ろに配置されているテスト項目を、前記組合せテスト項目と判定する、処理をコンピュータに実行させる請求項2に記載の生成プログラム。
【請求項4】
システム構成とテスト手順とを対応づける構成手順情報を複数含む構成手順管理情報に基づいて特定されるシステム構成間で共通する共通構成要素のうちで、テスト手順の生成対象のシステム構成に含まれる構成要素よりも要素数が少なく且つ前記生成対象のシステム構成に含まれる前記構成要素を最も多く有する共通構成要素を有する第1のシステム構成および第2のシステム構成を特定し、
第3のシステム構成であって、前記生成対象のシステム構成に含まれる前記構成要素と前記共通構成要素との差分の構成要素を追加すると第4のシステム構成へと変更される関係を有する前記第3のシステム構成および前記第4のシステム構成を、前記構成手順管理情報に基づいて特定し、
前記第1のシステム構成と前記第2のシステム構成とで共通している共通テスト項目と、前記第4のシステム構成のテスト項目のうちで前記第3のシステム構成のテスト項目に含まれていない追加テスト項目とに基づいて、前記生成対象のシステム構成と対応するテスト項目を決定し、
構成要素の組合せに応じて実行される組合せテスト項目の情報を含む属性情報に基づいて、前記組合せテスト項目が、他のテスト項目よりも後ろに配置されるように前記生成対象のシステム構成と対応するテスト項目を並べたテスト手順を出力する、
ことを含む、コンピュータが実行する生成方法。
【請求項5】
システム構成とテスト手順とを対応づける構成手順情報を複数含む構成手順管理情報に基づいて特定されるシステム構成間で共通する共通構成要素のうちで、テスト手順の生成対象のシステム構成に含まれる構成要素よりも要素数が少なく且つ前記生成対象のシステム構成に含まれる前記構成要素を最も多く有する共通構成要素を有する第1のシステム構成および第2のシステム構成を特定し、および第3のシステム構成であって、前記生成対象のシステム構成に含まれる前記構成要素と前記共通構成要素との差分の構成要素を追加すると第4のシステム構成へと変更される関係を有する前記第3のシステム構成および前記第4のシステム構成を、前記構成手順管理情報に基づいて特定する、特定部と、
前記第1のシステム構成と前記第2のシステム構成とで共通している共通テスト項目と、前記第4のシステム構成のテスト項目のうちで前記第3のシステム構成のテスト項目に含まれていない追加テスト項目とに基づいて、前記生成対象のシステム構成と対応するテスト項目を決定する決定部と、
構成要素の組合せに応じて実行される組合せテスト項目の情報を含む属性情報に基づいて、前記組合せテスト項目が、他のテスト項目よりも後ろに配置されるように前記生成対象のシステム構成と対応するテスト項目を並べたテスト手順を出力する出力部と、
を含む、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生成プログラム、生成方法、および情報処理装置に関する。
【背景技術】
【0002】
近年、システムの構成が大規模化および複雑化しており、それに伴い、システムの構成要素の数および組合せも膨大になっている。例えば、クライアント‐サーバシステムの構成法の1つに、3階層システムがある。3階層システムでは、例えば、ウェブサーバ、アプリケーションサーバ、データベースサーバが連携して動作し、実装するサーバの種類および台数などは様々な構成を選択可能であり、組合せは膨大である。
【0003】
また、システムの大規模化および複雑化に伴い、構築したシステムに対するテスト手順も同様に長大化の傾向にあり、テスト手順書の作成作業が複雑化している。
【0004】
これに関し、テスト手順の生成に関連する技術が知られている(例えば、特許文献1および特許文献2)。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2009-252167号公報
【文献】特開2013-152667号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、例えば、テスト手順を自動で生成した場合、生成されるテスト手順の精度はまだ十分ではなく、修正などのために煩雑な作業が求められる。そのため、テスト手順を高精度に生成することのできる技術の提供が望まれている。
【0007】
1つの側面では、本発明は、テスト手順の生成精度を向上させることを目的とする。
【課題を解決するための手段】
【0008】
本発明の一つの態様の生成プログラムは、システム構成とテスト手順とを対応づける構成手順情報を複数含む構成手順管理情報に基づいて特定されるシステム構成間で共通する共通構成要素のうちで、テスト手順の生成対象のシステム構成に含まれる構成要素よりも要素数が少なく且つ生成対象のシステム構成に含まれる構成要素を最も多く有する共通構成要素を有する第1のシステム構成および第2のシステム構成を特定し、第3のシステム構成であって、生成対象のシステム構成に含まれる構成要素と共通構成要素との差分の構成要素を追加すると第4のシステム構成へと変更される関係を有する第3のシステム構成および第4のシステム構成を、構成手順管理情報に基づいて特定し、第1のシステム構成と第2のシステム構成とで共通している共通テスト項目と、第4のシステム構成のテスト項目のうちで第3のシステム構成のテスト項目に含まれていない追加テスト項目とに基づいて、生成対象のシステム構成と対応するテスト項目を決定し、構成要素の組合せに応じて実行される組合せテスト項目の情報を含む属性情報に基づいて、組合せテスト項目が、他のテスト項目よりも後ろに配置されるように生成対象のシステム構成と対応するテスト項目を並べたテスト手順を出力する、処理をコンピュータに実行させる。
【発明の効果】
【0009】
テスト手順の生成精度を向上させることができる。
【図面の簡単な説明】
【0010】
図1】例示的なテスト手順の生成について説明する図である。
図2】実施形態に係る情報処理装置のブロック構成を例示する図である。
図3】実施形態に係るテスト項目の解析処理の動作フローを示す図である。
図4】実施形態に係る差異情報を例示する図である。
図5】実施形態に係る最小追加構成要素情報を例示する図である。
図6】組合せテスト項目の特定を例示する図である。
図7】組合せテスト項目の伝搬を例示する図である。
図8】実施形態に係る属性情報を例示する図である。
図9】実施形態に係る解析情報を例示する図である。
図10】実施形態に係るテスト手順生成処理の動作フローを例示する図である。
図11】共通構成要素と追加構成要素との特定処理を例示する図である。
図12】入力されたシステム構成のテスト手順の生成を例示する図である。
図13】例示的な構成要素およびテスト項目を示す情報の図である。
図14】実施形態に係る情報処理装置を実現するためのコンピュータのハードウェア構成を例示する図である。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。
【0012】
上述のように、テスト手順の生成精度を向上させるための技術の提供が望まれている。なお、テスト手順とは、テスト項目を実行する順序を示す情報である。テスト項目は、例えば、その工程で実行するテストの内容である。
【0013】
システム構成が与えられた際に、そのシステム構成と対応するテスト手順を生成するための一つのアプローチとして、機械学習を用いることが考えられる。しかしながら、例えば、システムの構築要素の組みと、その組の構成要素におけるテスト手順とを対応づけた教師データを大量に用意することが難しい状況がある。そして、仮に少量の教師データで機械学習を行ってモデルを構築しても、正しいテスト手順を作成するモデルを構築することはできない。
【0014】
また、システム構成と、そのシステム構成と対応するテスト手順とを対応づける情報を複数比較することで、システム構成の構成要素と対応するテスト項目をある程度は推定することができる。しかしながら、テスト項目には、構成要素に固有のテストである固有テスト項目と、構成要素を組合せた結果として実行が要求される組合せテスト項目とがある。
【0015】
固有テスト項目は、構成要素単体に対するテスト項目であり、例えば、ウェブサーバであれば、ウェブサーバが起動したかのテストや、クライアントからのリクエストに対するウェブサーバの応答のテストなどを含んでよい。
【0016】
また、組合せテスト項目は、構成要素の組みに対するテスト項目であり、例えば、ウェブサーバとアプリケーションサーバとの間の連携テストなどの複数の構成要素を組合せた結果として実行が要求されるテストである。
【0017】
なお、組合せテスト項目は、それぞれの構成要素の固有テスト項目のテストが完了した後に実行しないと、テストしてもシステムの状態を判定できないことが多い。そのため、組合せテスト項目よりも前に固有テスト項目が実行される。
【0018】
ここで、新たなシステム構成と対応するテスト手順を生成するとする。この場合に、どのテスト項目が固有テスト項目で、どのテスト項目が組合せテスト項目であるかが分からないと、誤った実行順序のテスト手順を生成してしまうことがある。或いは、どのテスト項目が固有テスト項目で、どのテスト項目が組合せテスト項目であるかが分からないと、新たなシステム構成と対応するテスト手順を生成する際に、余計なテスト項目を含めてしまったり、テスト項目が漏れてしまったりすることがある。以下、システム構成の比較に基づく、テスト手順の生成について例示する。
【0019】
図1は、例示的なテスト手順の生成について説明する図である。図1(a)は、システム構成に含まれる構成要素のグループと、そのシステム構成に対するテスト手順とを対応づける構成手順管理情報101を例示する図である。構成手順管理情報101には、例えば、項番、システム構成、テスト手順を対応づけたレコードが登録されている。項番は、例えば、レコードのシステム構成を識別するための識別情報である。システム構成は、レコードの項番で識別されるシステム構成に含まれる構成要素の情報である。例えば、図1では、項番:1のシステムは構成要素C1、C2、およびC3の3つの構成要素を含んでいる。また、テスト手順は、レコードの項番で識別されるシステム構成に対して実行されるテスト手順を示す情報である。例えば、図1では、項番:1で識別されるシステムには、T1‐T2‐T3‐T4‐T5‐T6の順序でテスト項目が実行される。なお、構成手順管理情報101のレコードを、一実施形態においては構成手順情報と呼ぶことがある。
【0020】
また、図1では、構成要素をC1、C2、C3などのようにCに番号nを付して表しているが、これらは実際には、例えば、ウェブサーバ、アプリケーションサーバ、データベースなどの構成要素であってよい。一例では、構成要素C1はApacheであり、また、構成要素C2はTomcatである。また、図1では、テスト項目をT1、T2、T3などのようにTに番号nを付して表しているが、これらは実際にはテストで実行される処理であってよい。一例として構成要素がMySQLである場合には、テスト項目は、“mysqlshow ‐u root mysql”などのコマンドの実行であってよい。
【0021】
そして、構成手順管理情報101の複数のレコードを比較することで、システム構成の構成要素と対応するテスト項目を推定することが可能である。
【0022】
例えば、項番1のシステム構成:C1‐C2‐C3と、項番4のシステム構成:C1‐C5‐C6とを比較すると、構成要素C1は共通しているが、その他の構成要素は異なっている。また、項番1の手順:T1‐T2‐T3‐T4‐T5‐T6と、項番4の手順:T1‐T2‐T16‐T17‐T18‐T19とを比較すると、T1およびT2は一致しているが、その他のテスト項目は、異なっている。そのため、構成要素:C1のテスト項目はT1およびT2であると特定することができる。なお、項番2および項番3にも同様に構成要素:C1が含まれており、C1のテスト項目として特定したT1およびT2が、項番2および項番3のテスト手順にも含まれている。従って、構成要素:C1のテスト項目がT1およびT2であるとの推定は正しいことが推定される。
【0023】
しかしながら、このようなレコード間の比較では、対応するテスト項目の特定が難しい構成要素もある。例えば、項番1のシステム構成:C1‐C2‐C3のテスト手順はT1‐T2‐T3‐T4‐T5‐T6である。このうちT1とT2は、構成要素C1のテスト項目であると推定されているため、残りのテスト項目:T3‐T4‐T5‐T6は、項番1のシステム構成の構成要素:C2およびC3のいずれかのテスト項目であることが推定される。しかし、テスト項目:T3‐T4‐T5‐T6のうち、どのテスト項目が構成要素C2の固有テスト項目であり、どのテスト項目が構成要素C3の固有テスト項目であるのかは分からない。或いは、テスト項目:T3‐T4‐T5‐T6に組合せテスト項目が含まれているのか否かは分からない。
【0024】
また、項番3のシステム構成と、項番4のシステム構成とを比較すると、構成要素:C7が項番3のシステム構成では追加されている点で異なっている。項番3のテスト手順:T1‐T2‐T14‐T16‐T17‐T9‐T15‐T20と、項番4のテスト手順:T1‐T2‐T16‐T17‐T18‐T19とを比較すると、テスト項目:T9‐T14‐T15‐T20が項番3では追加されている。そのため、構成要素:C7と、テスト項目:T9‐T14‐T15‐T20とが関連することが推定される。しかしながら、テスト項目:T9‐T14‐T15‐T20のうち構成要素:C7の固有テスト項目がどれであるのか、および組合せテスト項目が含まれているのか否かは特定できない。
【0025】
そして、こうした曖昧な情報に基づいて新たなシステム構成に対するテスト手順を生成しようとしても、余計なテスト項目が含まれてしまったり、実行がすべきテスト項目を追加できなかったり、或いは誤った実行順序となってしまったりすることがある。例えば、図1(c)は、新たなシステムのシステム構成と、そのシステム構成に対して生成した新たなテスト手順とを例示する図である。図1(c)に示すシステムのシステム構成は、C1‐C7‐C2‐C3であり、テスト手順が既知の項番1のシステム構成に、新たな構成要素C7を追加したシステム構成を有している。この場合に、項番1のテスト手順:T1‐T2‐T3‐T4‐T5‐T6に、図1(b)のC7のテスト項目:T9‐T14‐T15‐T20を追加し、新たなテスト手順:T1‐T2‐T3‐T4‐T5‐T6‐T9‐T14‐T15‐T20を生成できる。しかしながら、追加したT9‐T14‐T15‐T20に組合せテスト項目が含まれていれば、余計なテスト項目を追加してしまっている恐れもあるし、或いは、本来組合せで実行が要求されるテスト項目が漏れてしまっている恐れもある。また、誤った実行順序のテスト手順を生成してしまう恐れもある。そのため、テスト手順の生成を効率化することのできる技術の提供が望まれている。
【0026】
以下で述べる実施形態では、システム構成間で共通なテスト項目とシステム構成間の変更で追加されるテスト項目とを組合せて、テスト手順の生成対象のシステム構成に対するテスト項目を特定する。また、特定したテスト項目が固有テスト項目か、組合せテスト項目かの情報を用いてテスト項目を並べたテスト手順を生成する。そのため、生成精度を向上させることができる。以下、実施形態を更に詳細に説明する。
【0027】
図2は、実施形態に係る情報処理装置200のブロック構成を例示する図である。情報処理装置200は、例えば、制御部201及び記憶部202を含む。制御部201は、例えば特定部211、決定部212、および出力部213などとして動作してよい。記憶部202は、例えば、構成手順管理情報101、並びに後述する差異情報400、最小追加構成要素情報500、属性情報800、および解析情報900などの情報を記憶していてよい。これらの各部の詳細及び記憶部202に格納されている情報の詳細については後述する。
【0028】
続いて、実施形態に係るテスト手順の生成について説明する。例えば、IT(information technology)システムのテストではテスト項目の実行順序に依存関係があるという性質を使うことで、以下で述べる実施形態では固有テスト項目と組合せテスト項目との特定を行う。そして、その結果を用いることでテスト手順の生成精度の向上を図る。
【0029】
以下、実施形態に係るテスト項目の解析処理の例を説明する。図3は、実施形態に係るテスト項目の解析処理の動作フローを示す図である。例えば、制御部201は、テスト項目の解析処理の実行指示が入力されると、図3の動作フローを開始してよい。
【0030】
ステップ301(以降、ステップを“S”と記載し、例えば、S301と表記する)において制御部201は、構成手順管理情報101の各レコードの構成要素とテスト手順の情報を読み込む。
【0031】
S302において制御部201は、構成手順管理情報101の各レコード間の差異を抽出し、差異情報400を生成する。一実施形態では制御部201は、構成手順管理情報101のそれぞれのレコードを、構成手順管理情報101に登録されている別のレコードのそれぞれと比較し、差異情報400を生成してよい。
【0032】
図4は、実施形態に係る差異情報400を例示する図である。差異情報400には、例えば、番号、基準項番、相手項番、追加構成要素、削除構成要素、共通構成要素、追加テスト項目、および削除テスト項目が対応づけられたレコードが登録されている。番号は、差異情報400のレコードの識別するための識別情報である。基準項番および相手項番は、例えば、S302の処理で比較を行う対象であり、構成手順管理情報101から選択された2つのレコードの項番であってよい。なお、基準項番は、比較元となる項番であり、相手項番は比較相手の項番である。例えば、差異情報400の番号:1のレコードでは、基準項番として項番:1が選択されており、また、基準項番:1と比較を行う対象の相手項番として項番:2が選択されている。以下、番号:1のレコードを例に更に説明を行う。
【0033】
追加構成要素は、基準項番のシステム構成の構成要素から相手項番のシステム構成の構成要素に変更するために、追加される構成要素である。例えば、構成手順管理情報101を参照すると、基準項番:1のシステム構成はC1‐C2‐C3であり、また、相手項番:2のシステム構成はC1‐C4‐C2‐C3である。これらを比較すると、基準項番:1のシステム構成に対し、相手項番:2では構成要素:C4が追加されていることが分かる。そのため、追加構成要素にはC4が登録されている。
【0034】
削除構成要素は、基準項番のシステム構成の構成要素から相手項番のシステム構成の構成要素に変更するために、削除される構成要素である。なお、基準項番:1のシステム構成:C1‐C2‐C3から相手項番:2のシステム構成:C1‐C4‐C2‐C3に変更する際に、削除される構成要素はないため、差異情報400の最上段のエントリでは、空を示す「-」が登録されている。
【0035】
共通構成要素は、基準項番のシステム構成の構成要素と、相手項番のシステム構成の構成要素とで共通している構成要素である。例えば、基準項番:1のシステム構成:C1‐C2‐C3と、相手項番:2のシステム構成:C1‐C4‐C2‐C3とではC1‐C2‐C3が共通しているため、差異情報400の最上段のエントリではC1‐C2‐C3が登録されている。
【0036】
追加テスト項目は、基準項番のシステム構成のテスト手順から相手項番のシステム構成のテスト手順に変更するために、追加されるテスト項目である。換言すると、追加テスト項目は、例えば、相手項番のシステム構成のテスト手順のうちで、基準項番のシステム構成のテスト手順に含まれていないテスト項目である。例えば、構成手順管理情報101を参照すると、基準項番:1のテスト手順はT1‐T2‐T3‐T4‐T5‐T6であり、また、例えば、相手項番:2のテスト手順はT1‐T2‐T7‐T8‐T3‐T4‐T9‐T10‐T11である。これらを比較すると、基準項番:1のシステム構成に対し、相手項番:2ではテスト項目:T7‐T8‐T9‐T10‐T11が追加されている。そのため、追加テスト項目にはT7‐T8‐T9‐T10‐T11が登録されている。
【0037】
削除テスト項目は、基準項番のシステム構成のテスト手順から相手項番のシステム構成のテスト手順に変更するために、削除されるテスト項目である。なお、基準項番:1のテスト手順:T1‐T2‐T3‐T4‐T5‐T6から相手項番:2のテスト手順:T1‐T2‐T7‐T8‐T3‐T4‐T9‐T10‐T11に変更するには、テスト項目:T5‐T6が削除される。そのため、差異情報400の最上段のエントリではT5‐T6が登録されている。
【0038】
例えば、以上のように、S302においてシステム構成の組合せ間の差異を抽出し、差異情報400にレコードを登録すると、フローはS303に進む。
【0039】
S303において制御部201は、最小の追加構成要素となるレコードの情報を抽出する。例えば、制御部201は、差異情報400に登録されているレコードのうちから、基準項番に登録されているそれぞれの項番ごとに、追加構成要素が最小のレコードを抽出して最小追加構成要素情報500を生成してよい。
【0040】
図5は、実施形態に係る最小追加構成要素情報500を例示する図である。最小追加構成要素情報500は、例えば、差異情報400の一部のレコードを抽出した情報であってよく、最小追加構成要素情報500のレコードには差異情報400と同様の情報が登録されていてよい。
【0041】
S304において制御部201は、組合せテスト項目を特定する。例えば、制御部201は、最小追加構成要素情報500のレコードに登録されている2つのレコードにおいて、追加構成要素が異なるにもかかわらず追加テスト項目に同じテスト項目が含まれている場合に、その追加テスト項目を組合せテスト項目と判定してよい。
【0042】
図6は、組合せテスト項目の特定を例示する図である。図6(a)は、上述の構成手順管理情報101である。また、図6(b)には、最小追加構成要素情報500の番号:1で識別されるレコードのシステム構成の情報と、番号:18で識別されるレコードのシステム構成の情報とが示されている。番号:1で識別されるレコードは、項番:1のシステム構成と、項番:2のシステム構成との比較であり、項番:2では構成要素:C4が追加されている。また、番号:18で識別されるレコードは、項番:4のシステム構成と、項番:3のシステム構成との比較であり、項番:3では構成要素:C7が追加されている。
【0043】
また、図6(c)に示すように、テスト手順を比較すると、番号:1で識別されるレコードは、項番:1のテスト手順と、項番:2のテスト手順との比較であり、項番:2ではテスト項目:T7、T8、T9、T10、T11が追加されている。また、番号:18で識別されるレコードは、項番:4のテスト手順と、項番:3のテスト手順との比較であり、項番:3ではテスト項目:T14、T9、T15、T20が追加されている。
【0044】
ここで、番号:1で識別されるレコードで追加される構成要素:C4と、番号:18で識別されるレコードで追加される構成要素:C7とは異なっているにもかかわらず、共通するテスト項目:T9が追加されている。この場合、テスト項目:T9は、構成要素:C4または構成要素:C7に固有の固有テスト項目ではなく、組合せテスト項目であると判定することができる。
【0045】
また、例えば、制御部201は、S304において、追加構成要素があり、かつ、削除構成要素がないにもかかわらず、削除テスト項目がある場合、その削除テスト項目を組合せテスト項目であると判定してよい。これは、構成要素を追加したにもかかわらず、削除されるテスト項目は、構成要素の追加により実行しなくてもよくなった組合せテスト項目と判定することができるためである。
【0046】
例えば、図6に示す例では、番号:1で識別されるレコードで構成要素:C4が追加されているにもかかわらず、テスト項目:T5およびT6が削除されている。そのため、テスト項目:T5およびT6は、組合せテスト項目と判定することができる。同様に、番号:18で識別されるレコードで構成要素:C7が追加されているにもかかわらず、テスト項目:T18およびT19が削除されている。そのため、テスト項目:T18およびT19は、組合せテスト項目と判定することができる。
【0047】
例えば、以上のようにして、S304において制御部201は、最小追加構成要素情報500のレコードの情報を用いて、組合せテスト項目を特定することができる。
【0048】
続いて、S305において制御部201は、組合せテスト項目を伝搬させて更に組合せテスト項目を特定する。例えば、制御部201は、組合せテスト項目と判定されたテスト項目よりも、構成手順管理情報101のテスト手順において後ろ側に配置されているテスト項目を全て組合せテスト項目と判定してよい。以下、組合せテスト項目の伝搬について更に詳細に説明する。
【0049】
一般に、テスト手順では、構成要素に固有の固有テスト項目のテストが先に実行され、その後、構成要素の組合せに対する組合せテスト項目のテストが実行されるという順番がある。例えば、システム構成が、サーバAとサーバBとを含む場合、サーバAの構築のテスト(サーバAの固有テスト項目)、サーバBの構築テスト(サーバBの固有テスト項目)が完了した後に、サーバA-サーバB間の連携テストといった組合せテストが実行される。各構成要素(サーバAおよびサーバB)に固有の固有テスト項目のテストが正しく完了しないまま、組合せテスト項目をテストしてもシステムの状態を判定できないことが多い。そのため、固有テスト項目のテストの完了後に組合せテスト項目のテストが実行されるという前提を置くことができる。
【0050】
そして、この前提を利用することで、更なる組合せテスト項目の特定が可能である。例えば、或るテスト項目が組合せテスト項目だと分かったとする。この場合に、この前提によれば、そのテスト項目の後続のテスト項目は全て組合せテスト項目であると判定することができる。
【0051】
図7は、組合せテスト項目の伝搬を例示する図である。図7には、システム構成1からシステム構成3の3つのシステム構成のテスト手順の一部が示されている。ここで、例えば、テスト項目:T2が組合せテスト項目であると分かったとする。この場合、システム構成1のテスト手順においてテスト項目:T2に続くテスト項目:T3、およびシステム構成2のテスト手順においてテスト項目:T2に続くテスト項目:T7はいずれも組合せテスト項目であると判定することができる。
【0052】
また、例えば、以上のように、テスト項目:T3およびT7が組合せテスト項目であると特定されたとする。この場合、新たに特定された組合せテスト項目:T3およびT7を用いて更に組合せテスト項目を特定することが可能である。例えば、図7において、システム構成3のテスト手順はテスト項目:T3を含んでおり、テスト項目:T3に続くテスト項目:T11も、組合せテスト項目であると判定することができる。このように組合せテスト項目の特定を伝搬させていくことで、構成手順管理情報101に登録されているテスト手順から多くの組合せテスト項目を特定することが可能である。S305では、制御部201は、この伝搬処理を、組合せテスト項目が新たに特定されなくなるまで繰り返し、組合せテスト項目を特定してよい。
【0053】
S306において制御部201は、特定した組合せテスト項目の情報を属性情報800に設定する。
【0054】
図8は、実施形態に係る属性情報800を例示する図である。なお、属性情報800には構成手順管理情報101のテスト手順に含まれているテスト項目と、そのテスト項目に対する属性の情報とが対応づけて登録されていてよい。なお、属性は、初期状態では全て固有に設定されていてよい。そして、S304およびS305の処理で、組合せテスト項目として特定されたテスト項目について、制御部201は、属性を組合せに設定して属性情報800を更新してよい。図8の属性情報800では、テスト項目:T1およびT2は、属性が固有であり、これらのテスト項目が固有テスト項目であることがわかる。また、テスト項目:T9およびT10は、属性が組合せであり、これらのテスト項目が組合せテスト項目であることがわかる。
【0055】
S307において制御部201は、各構成要素について、固有テスト項目の特定を試みる。例えば、制御部201は、最小追加構成要素情報500において追加構成要素が1つであるレコードを特定する。そして、追加構成要素が1つであるレコードの追加テスト項目のうちで、属性情報800において属性が固有に設定されているテスト項目を、追加構成要素に示される構成要素の固有テスト項目として特定してよい。また、この手法で固有テスト項目が特定できない構成要素については、更に、図1(b)を参照して例示したように、複数のテスト手順の比較から構成要素と対応する固有テスト項目を特定してもよい。この場合にも、属性情報800を利用することで組合せテスト項目を排除できるため、高い精度で構成要素と対応する固有テスト項目を特定することができる。
【0056】
S308において制御部201は、特定した構成要素と、固有テスト項目との対応関係を解析情報900に登録し、本動作フローは終了する。
【0057】
図9は、実施形態に係る解析情報900を例示する図である。解析情報900には、テスト項目と、構成要素に関する構成情報とが対応づけて登録されている。テスト項目は、例えば、構成手順管理情報101のテスト手順に含まれているテスト項目である。構成情報には、レコードのテスト項目が固有テスト項目である場合には、その固有テスト項目でテストされる構成要素が登録されている。一方、レコードのテスト項目が組合せテスト項目である場合には、構成情報には組合せテスト項目であることを示す情報が登録されている。
【0058】
以上で述べたように、図3の動作フローによれば、構成要素と対応する固有テスト項目を特定することができる。また、構成要素の組合せに対して実行される組合せテスト項目も特定することができる。
【0059】
<テスト手順の生成>
続いて、図3の動作フローで得られた情報を用いて、入力されたテスト手順の生成対象のシステム構成に対してテスト手順を生成する処理について説明する。
【0060】
図10は、実施形態に係るテスト手順生成処理の動作フローを例示する図である。例えば、制御部201は、テスト手順を生成する対象のシステム構成が入力されると、図10の動作フローを開始してよい。なお、以下では、テスト手順を生成する対象のシステム構成としてC1‐C7‐C2‐C3が入力されたものとして処理の例を説明する。
【0061】
S1001において制御部201は、入力されたシステム構成と一致するシステム構成が、構成手順管理情報101に登録されているか否かを判定する。例えば、入力されたシステム構成:C1‐C7‐C2‐C3と一致するシステム構成が構成手順管理情報101に登録されている場合、制御部201は、Yesと判定してよく、フローはS1002に進む。S1002において制御部201は、入力されたシステム構成と一致するシステム構成を有する構成手順管理情報101のレコードからテスト手順を取得し、入力されたシステム構成に対するテスト手順として出力し、本動作フローは終了する。
【0062】
一方、S1001において、入力されたシステム構成:C1‐C7‐C2‐C3と一致するシステム構成が構成手順管理情報101に登録されていない場合、制御部201は、Noと判定してよく、フローはS1003に進む。
【0063】
S1003において制御部201は、入力されたシステム構成:C1‐C7‐C2‐C3のテスト手順の生成に用いるテスト手順の情報を特定する。一例では、制御部201は、入力されたシステム構成のテスト手順を生成するために、共通構成要素と、追加構成要素とを特定してよい。
【0064】
図11は、S1003の処理で実行される共通構成要素と、追加構成要素との特定処理を例示する図である。
【0065】
S1101において制御部201は、入力されたシステム構成:C1‐C7‐C2‐C3と所定の条件を満たして類似している共通構成要素を有するレコードを差異情報400から取得してよい。一例では、制御部201は、入力システム構成:C1‐C7‐C2‐C3よりも少ない構成要素を有する共通構成要素のうちで最も類似している共通構成要素が登録されているレコードを差異情報400から取得してよい。図4の例では、差異情報400の番号:1のレコードは、共通構成要素:C1‐C2‐C3に、追加構成要素:C4が追加されるものであり、制御部201は、この番号:1のレコードを特定してよい。
【0066】
S1102において制御部201は、例えば、入力されたシステム構成:C1‐C7‐C2‐C3から、特定した共通構成要素C1‐C2‐C3を差し引いた差分:C7を追加構成要素に含むレコードを差異情報400から特定する。図4の例では、差異情報400の番号:18のレコードは、追加構成要素:C7を含んでおり、制御部201は、この番号:18のレコードを特定してよい。追加構成要素を特定すると、図11の動作フローは終了し、フローはS1004に進む。
【0067】
S1004において制御部201は、特定した情報に基づいて、入力されたシステム構成に対するテスト項目を決定する。そして、S1005において制御部201は、特定したテスト項目の順序を決定する。
【0068】
図12は、S1004およびS1005で実行される入力されたシステム構成に対するテスト項目の決定と実行順序の決定を例示する図である。
【0069】
図12(a)には、入力されたシステム構成に対してS1003の処理で特定した共通構成要素および追加構成要素と対応するシステム構成が示されている。図12(a)に示すように、入力されたシステム構成:C1‐C7‐C2‐C3は、差異情報400の番号1のレコードの共通構成要素:C1‐C2‐C3に、番号18のレコードの追加構成要素:C7を追加することで生成できる。また、追加構成要素:C7は、差異情報400の番号18のレコードに示されるように、項番:4を項番:3のシステム構成に変更するために追加される構成要素である。
【0070】
図12(b)では、以上に述べた図12(a)のシステム構成が、テスト手順に置き換えられている。例えば、共通構成要素のC1‐C2‐C3と対応するテスト項目は、項番:1のテスト手順:T1‐T2‐T3‐T4‐T5‐T6から、差異情報400の番号1の削除テスト項目:T5‐T6を削除することで生成することができる。即ち、共通構成要素:C1‐C2‐C3のテスト項目は、T1‐T2‐T3‐T4と求めることができる。なお、項番:1のテスト手順から削除テスト項目を削除して生成される共通構成要素:C1‐C2‐C3のテスト項目:T1‐T2‐T3‐T4は、項番:1のテスト手順と、項番:2のテスト手順との間で共通している共通テスト項目である。
【0071】
また、追加構成要素:C7は、項番:4のシステム構成:C1‐C5‐C6を項番:3のシステム構成:C1‐C7‐C5‐C6に変更する際に追加されている。そのため、項番:4のシステム構成:C1‐C5‐C6を項番:3のシステム構成:C1‐C7‐C5‐C6に変更する際に追加される追加テスト項目:T14‐T9‐T15‐T20を追加構成要素:C7のテスト項目として用いることができる。
【0072】
従って、制御部201は、共通構成要素:C1‐C2‐C3のテスト手順:T1‐T2‐T3‐T4に、構成要素:C7のテスト手順:T14‐T9‐T15‐T20を追加することで、入力されたシステム構成のテスト項目を特定してよい。それにより、テスト項目:T1‐T2‐T3‐T4‐T14‐T9‐T15‐T20が特定される。
【0073】
続いて、制御部201は、特定したテスト項目の順序を決定する(S1005)。例えば、制御部201は、解析情報900を参照することで特定したテスト項目:T1‐T2‐T3‐T4‐T14‐T9‐T15‐T20のうちから、組合せテスト項目を特定する。例えば、制御部201は、解析情報900を参照することで、T9‐T15‐T20が組合せテスト項目であると特定することができる。そのため、制御部201は、固有テスト項目:T1‐T2‐T3‐T4‐T14を前に配置し、その後に組合せテスト項目:T9‐T15‐T20を配置するように並べて、テスト手順:T1‐T2‐T3‐T4‐T14‐T9‐T15‐T20を生成してよい。なお、例えば、テスト手順における固有テスト項目の並び順および組合せテスト項目の並び順については、S1003でテスト手順の生成に用いた構成手順管理情報101内でのテスト手順の並びを維持するように、テスト手順が決定されてよい。
【0074】
S1006において制御部201は、生成したテスト手順を出力し、本動作フローは終了する。
【0075】
以上で述べたように、実施形態によれば、入力されたシステム構成に対するテスト手順のテスト項目を、共通構成要素と追加構成要素とを組合せて特定するため、不要な組合せテスト項目が生成したテスト手順に含まれてしまうことを抑制できる。例えば、図1(c)の例では、テスト手順に含まれてしまっている組合せテスト項目:T5およびT6を、上記の動作フローによれば削除することができる。
【0076】
また、実施形態によれば、固有テスト項目と組合せテスト項目とを特定できるため、固有テスト項目の後に組合せテスト項目を配置するようにテスト手順を生成することができる。そのため、テスト手順の生成精度を向上させることができる。例えば、図1(c)の例では、組合せテスト項目:T9の後に配置されてしまっている固有テスト項目:T14を、組合せテスト項目:T9の前に配置することができる。
【0077】
また、例えば、実施形態によれば、大量の教師データを用意することが難しく、機械学習によりモデルを構築できない状況でも、精度の高いテスト手順を生成することが可能である。
【0078】
なお、上述の実施形態においてC1、C2、C3などのようにCに番号nを付して表した構成要素は、実際にはウェブサーバ、アプリケーションサーバ、データベースなどの構成要素であってよい。また、T1、T2、T3などのようにTに番号nを付して表したテスト項目は、実際にはテストで実行されるコマンドなどであってよい。
【0079】
図13は、例示的な構成要素およびテスト項目を示す情報である。図13(a)の例では、構成要素C1は、Apacheであり、また、構成要素C2は、Tomcatである。また、図13(b)の例では、テスト項目T1は、MySQLのmysqlshowコマンドの実行であり、テスト項目T2は、MySQLの“mysqlshow ‐u root mysql”の実行である。なお、上述の実施形態のように、構成要素をCnで管理し、また、テスト項目をTnで管理する場合には、記憶部202には、図13(a)に示す構成要素の対応情報と、図13(b)に示すテスト項目の対応情報とが記憶されていてもよい。
【0080】
また、上述の実施形態は、S1003の処理において入力されたシステム構成のテスト手順の生成に用いる共通構成要素と追加構成要素とを特定する手法の一例を示している。しかしながら、入力されたシステム構成のテスト手順に用いる情報の特定の仕方は、これに限定されるものではない。
【0081】
例えば、別の実施形態では、制御部201は、差異情報400に登録されている共通構成要素のレコードと、追加構成要素のレコードとを評価して、評価の高いレコードの情報を用いて入力されたシステム構成のテスト手順を生成してもよい。評価は、例えば、共通構成要素が多く、追加構成要素が少ないレコードの組ほど高い評価となるように行われてよい。即ち、例えば、入力されたシステム構成:C1‐C7‐C2‐C3を生成する場合に、共通構成要素:C1‐C7および追加構成要素:C2‐C3のレコードの組よりも、共通構成要素:C1‐C7‐C2および追加構成要素:C3のレコードの組を高く評価する。これは、例えば、共通構成要素が多く、追加構成要素が少ないレコードの組でテスト手順を生成した方が精度の高いテスト手順が生成される傾向があるためである。
【0082】
また、更に、評価は、テスト手順の生成に用いる共通構成要素および追加構成要素の組と、入力されたシステム構成との一致度が高いほど、高い評価となるように行われてよい。
【0083】
以上の評価基準は、いずれかの評価基準を共通構成要素および追加構成要素の特定に用いてもよいし、評価基準を組合せて共通構成要素および追加構成要素の特定に用いてもよい。以下では、評価基準を組合せてテスト手順の生成に用いる共通構成要素および追加構成要素を特定する例を述べる。
【0084】
例えば、(a)入力されたシステム構成が、C1‐C7‐C2‐C3であるとする。また、(b)構成手順管理情報101のレコードの構成要素をC1‐C2‐C3とする。更に、入力されたシステム構成のテスト手順の生成に用いる(c)共通構成要素がC1‐C2‐C3であり、また、(d)追加構成要素がC7であるとする。
【0085】
この場合に:
Na=(a)の要素数
Nb=(b)の要素数
Nc=(c)の要素数
Nd=(d)の要素数
とする。
【0086】
また、以下を定義する。
・MAX(i,j):iおよびjの最大値とする。例えば、MAX(i,j)は、i>jであればiであり、i≦jであればjである。
・C(x,y):xとyの合成とする。なお、並びの順序は順序不同であってよい。例えば、C((c),(d))=C1‐C2‐C3‐C7=C1‐C7‐C2‐C3である。
・#(x)はxの構成要素数とする。例えば、#(C((c),(d)))=#(C1‐C2‐C3‐C7)=4である。
・S(x,y)はxとyとの間で一致する構成要素の数とする。例えば、S(C1‐C2‐C3,C1‐C7‐C3‐C2)=3(順序不同でC1‐C2‐C3が一致)である。
・R(x,y)はxに対するyの構成要素の数の割合である。例えば、R(Nc,Na)=3/4=0.75である。
・P(x,y)はxとyが完全一致の場合に1となり、そうでない場合に0となる関数である。例えば、P(C1‐C2,C2‐C1)=1(順不同で一致)である。
【0087】
例えば、以上の定義を用いて、(a)入力されたシステム構成に対して、(c)共通構成要素および(d)追加構成要素の組を、以下の式で評価することができる。
評価値:V((a),(b),(c),(d))=S((a),C((c),(d)))/MAX(Na,#(C((c),(d))))*R(Nc,Na)*P((b),(c))
【0088】
制御部201は、例えば、差異情報400から(c)共通構成要素および(d)追加構成要素を選択し、また、構成手順管理情報101から(d)を選択し、総当たりの組合せで上記の評価値:Vを評価してよい。そして、制御部201は、得られた評価値:Vの高い(c)共通構成要素および(d)追加構成要素の組を用いてS1004以降のテスト手順を生成する処理を実行してよい。上記評価値:Vの式を用いた計算例を以下に示す。
【0089】
(例1)
(a):C1‐C7‐C2‐C3
(b):C1‐C2‐C3
(c):C1‐C2‐C3
(d):C7
V((a),(b),(c),(d)=S(C1‐C7‐C2‐C3,C1‐C2‐C3‐C7)/MAX(4,#(C1‐C2‐C3‐C7))*R(3,4)*P(C1‐C2‐C3,C1‐C2‐C3)=(4/4)*(3/4)*1=0.75
【0090】
(例2)
(a):C1‐C7‐C2‐C3
(b):C1‐C2
(c):C1‐C2
(d):C3‐C7
V((a),(b),(c),(d)=S(C1‐C7‐C2‐C3,C1‐C2‐C3‐C7)/MAX(4,#(C1‐C2‐C3‐C7)*R(2,4)*P(C1‐C2, C1‐C2)=(4/4)*(2/4)*1=0.5
【0091】
この場合、例2のV=0.5の(c)共通構成要素および(d)追加構成要素の組よりも、例1のV=0.75の(c)共通構成要素および(d)追加構成要素の組の方が評価は高い。そのため、制御部201は、例1の(c)共通構成要素および(d)追加構成要素の組を用いてS1004以降のテスト手順を生成する処理を実行してよい。
【0092】
以上で述べたように、所定の評価基準に従って、テスト手順の生成に用いる(c)共通構成要素および(d)追加構成要素の組を特定することもできる。
【0093】
なお、上記のP(x,y)の別の定義としては、P(x,y)=S(x,y)/MAX(#(x),#(y))を用いることもできる。この場合、一致数が多いほど重みが増す。
【0094】
以上において、実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上述の動作フローは例示であり、実施形態はこれに限定されるものではない。可能な場合には、動作フローは、処理の順番を変更して実行されてもよく、別に更なる処理を含んでもよく、又は、一部の処理が省略されてもよい。例えば、上述の図3のS307およびS308の処理は実行されなくてもよい。この場合、制御部201は、S1005の処理では属性情報800を用いて組合せテスト項目を特定してよい。
【0095】
また、上述の実施形態では最小追加構成要素情報500を作成して用いる例を述べているが、実施形態はこれに限定されるものではない。例えば、別の実施形態では最小追加構成要素情報500は作成されなくてもよく、代りに、制御部201は、差異情報400から情報を取得してもよい。
【0096】
また、上述の実施形態では、S1005の処理で固有テスト項目を前に配置し、その後に組合せテスト項目を配置するようにテスト手順を生成する例を述べている。しかしながら、実施形態はこれに限定されるものではない。例えば、別の実施形態では、更に、制御部201は、テスト手順を生成に用いる共通構成要素を含む差異情報400のレコードから、追加テスト項目の固有テスト項目と組合せテスト項目とが相手項番のテスト手順において挿入されている位置を特定してよい。そして、制御部201は、特定した固有テスト項目と組合せテスト項目とが挿入されるそれぞれの位置に、S1003で特定した追加構成要素の追加テスト項目から固有テスト項目と組合せテスト項目とを分けて挿入してもよい。
【0097】
なお、上述の実施形態において、図10のS1003および図11の動作フローでは、情報処理装置200の制御部201は、例えば、特定部211として動作する。また、図10のS1004の処理では、情報処理装置200の制御部201は、例えば、決定部212として動作する。図10のS1005およびS1006の処理では、情報処理装置200の制御部201は、例えば、出力部213として動作する。
【0098】
図14は、実施形態に係る情報処理装置200を実現するためのコンピュータ1400のハードウェア構成を例示する図である。図14の情報処理装置200を実現するためのハードウェア構成は、例えば、プロセッサ1401、メモリ1402、記憶装置1403、読取装置1404、通信インタフェース1406、及び入出力インタフェース1407を備える。なお、プロセッサ1401、メモリ1402、記憶装置1403、読取装置1404、通信インタフェース1406、入出力インタフェース1407は、例えば、バス1408を介して互いに接続されている。
【0099】
プロセッサ1401は、例えば、シングルプロセッサであっても、マルチプロセッサやマルチコアであってもよい。プロセッサ1401は、メモリ1402を利用して例えば上述の動作フローの手順を記述したプログラムを実行することにより、上述した各制御部201の一部または全部の機能を提供する。例えば、情報処理装置200のプロセッサ1401は、記憶装置1403に記憶されているプログラムを実行することで、特定部211、決定部212、および出力部213として動作してよい。
【0100】
メモリ1402は、例えば半導体メモリであり、RAM領域及びROM領域を含んでいてよい。記憶装置1403は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、又は外部記憶装置である。なお、RAMは、Random Access Memoryの略称である。また、ROMは、Read Only Memoryの略称である。
【0101】
読取装置1404は、プロセッサ1401の指示に従って着脱可能記憶媒体1405にアクセスする。着脱可能記憶媒体1405は、例えば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD‐ROM、DVD等)などにより実現される。なお、USBは、Universal Serial Busの略称である。CDは、Compact Discの略称である。DVDは、Digital Versatile Diskの略称である。
【0102】
上述の記憶部202は、例えばメモリ1402、記憶装置1403、及び着脱可能記憶媒体1405を含んでよい。情報処理装置200の記憶装置1403には、例えば、構成手順管理情報101、差異情報400、最小追加構成要素情報500、属性情報800、および解析情報900が格納されていてよい。また、情報処理装置200の記憶装置1403には、図13(a)の構成要素の対応情報と、図13(b)のテスト項目の対応情報とが記憶されていてもよい。
【0103】
通信インタフェース1406は、プロセッサ1401の指示に従って外部の装置とデータを送受信する。入出力インタフェース1407は、例えば、入力装置及び出力装置との間のインタフェースであってよい。入力装置は、例えばユーザからの指示を受け付けるキーボードやマウスなどのデバイスである。出力装置は、例えばディスプレーなどの表示装置、及びスピーカなどの音声装置である。
【0104】
実施形態に係る各プログラムは、例えば、下記の形態で情報処理装置200に提供される。
(1)記憶装置1403に予めインストールされている。
(2)着脱可能記憶媒体1405により提供される。
(3)プログラムサーバなどのサーバから提供される。
【0105】
なお、図14を参照して述べた情報処理装置200を実現するためのコンピュータ1400のハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、図14のハードウェア構成から一部の構成要素が置き換えられたり、削除されたりしてもよく、また、新たな構成要素が追加されてもよい。また、上述の制御部201の一部または全部の機能がFPGA及びSoCなどによるハードウェアとして実装されてもよい。なお、FPGAは、Field Programmable Gate Arrayの略称である。SoCは、System‐on‐a‐Chipの略称である。
【0106】
以上において、いくつかの実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組合せることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
【符号の説明】
【0107】
101 :構成手順管理情報
200 :情報処理装置
201 :制御部
202 :記憶部
211 :特定部
212 :決定部
213 :出力部
1400 :コンピュータ
1401 :プロセッサ
1402 :メモリ
1403 :記憶装置
1404 :読取装置
1405 :着脱可能記憶媒体
1406 :通信インタフェース
1407 :入出力インタフェース
1408 :バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14