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

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

Info

Publication number
WO2014091732A1
WO2014091732A1 PCT/JP2013/007192 JP2013007192W WO2014091732A1 WO 2014091732 A1 WO2014091732 A1 WO 2014091732A1 JP 2013007192 W JP2013007192 W JP 2013007192W WO 2014091732 A1 WO2014091732 A1 WO 2014091732A1
Authority
WO
WIPO (PCT)
Prior art keywords
functionality
extracted
functionalities
specified
model
Prior art date
Application number
PCT/JP2013/007192
Other languages
English (en)
French (fr)
Inventor
貴之 黒田
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to CN201380071450.3A priority Critical patent/CN104956336B/zh
Priority to US14/649,292 priority patent/US9792201B2/en
Priority to JP2014551882A priority patent/JP6191618B2/ja
Publication of WO2014091732A1 publication Critical patent/WO2014091732A1/ja

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

Definitions

  • the present invention relates to a test support apparatus and a test support method.
  • building a software system means preparing an environment in which a plurality of middlewares operate in cooperation by installing and setting a plurality of different middlewares.
  • Non-Patent Document 1 discloses a technique for applying such a technique to the construction of a system composed of a plurality of middlewares.
  • a system model is defined by a combination of products (components) that are system components that realize some functionality.
  • the model “Web3Tier” is built using the product “MySQL” or “PostgreSQL” that implements the functionality "RDB” and the product “Tomcat” or “Jetty” that implements the functionality "AP-Server”.
  • MySQL and “Tomcat”
  • MySQL and “Jetty”
  • PostgreSQL” and “Tomcat "PostgreSQL” and “Jetty” To do.
  • Patent Document 1 presents a test case related to a configuration designated by a user or the like.
  • the system related to the component It is not possible to exhaustively verify all configurations.
  • the verification related to the developed system component is performed as soon as possible when developing the component.
  • the reason for this is that as the problem discovery time of the developed component part is delayed, the matters to be considered for the developed component part increase as the dependency with the surrounding component parts increases. Another reason is that it becomes difficult to correct the developed component by forgetting the contents of the component developed by the developer.
  • the verification related to the developed system component is comprehensively executed for all the configurations related to the developed component.
  • the reason for this is that if the configuration that is unlikely to be selected is not verified, the discovery of the problem of the configuration is delayed, and as described above, it is difficult to correct the developed component.
  • An object of the present invention is to provide a test support apparatus and a test support method that can solve the above-described problems and can comprehensively and rapidly perform verification of all configurations of a system including a specific system component. .
  • the test support apparatus has one or more system identifiers when the system configuration is defined by a plurality of functionalities to be held by the system and a set of programs that realize each functionality.
  • a storage means for storing a plurality of functional identifiers to be held by each system, and related information indicating identifiers of one or more programs capable of realizing each functionality, and the functionality or program is designated
  • the system includes extraction means for extracting and outputting the designated functionality or a system configuration including a program based on the related information.
  • test support method when the system configuration is defined by a plurality of functionalities to be held by the system and a set of programs realizing each functionality, one or more system identifiers , Storing a plurality of identifiers of functionality to be held by each system and related information indicating identifiers of one or more programs capable of realizing each functionality, and when the functionality or program is designated, Based on the related information, the specified functionality or system configuration including the program is extracted and output.
  • the computer-readable recording medium includes at least one when the configuration of the system is defined by a plurality of functions to be held by the system and a set of programs that realize each functionality.
  • System identifiers, identifiers of a plurality of functionalities to be held by each system, and related information indicating identifiers of one or more programs capable of realizing each functionality are stored, and the functionality or program is designated.
  • a program for causing the computer to execute a process of extracting and outputting the designated functionality or the system configuration including the program based on the related information is stored.
  • the effect of the present invention is that verification of all configurations of a system including a specific system component can be performed comprehensively and quickly.
  • step S106 shows the detail of the system configuration extraction process (step S106) with respect to the model in the 1st Embodiment of this invention. It is a figure which shows the example of the component related information 201 in the 1st Embodiment of this invention. It is a figure which shows the example of the component information 202 in the 1st Embodiment of this invention. It is a figure which shows the example of the test case information 301 in the 1st Embodiment of this invention. It is a figure which shows the example of the functionality implementation information 401 in the 1st Embodiment of this invention. It is a figure which shows the example of the system configuration information 501 in the 1st Embodiment of this invention.
  • step S203 it is a flowchart which shows the process of the test assistance apparatus 100 in the 2nd Embodiment of this invention. It is a flowchart which shows the detail of a system structure extraction process (step S203) in the 2nd Embodiment of this invention. It is a figure which shows the example of the functionality implementation information 401 in the 2nd Embodiment of this invention. It is a figure which shows the example of the system configuration information 501 in the 2nd Embodiment of this invention.
  • FIG. 2 is a block diagram showing a configuration of the test support apparatus 100 according to the first embodiment of the present invention.
  • the test support apparatus 100 includes an extraction processing unit (or an extraction unit) 101 and a storage unit 102.
  • the test support apparatus 100 is communicably connected to an input / output apparatus 110 used by a user for inputting and outputting information via a network or the like.
  • the extraction processing unit 101 receives a system configuration extraction request from a user via the input / output device 110.
  • the extraction request includes designation of a component (target component) that is a target to be tested for influence on other components such as an added or updated system component.
  • the extraction processing unit 101 extracts a system configuration including the target part and outputs it to the user via the input / output device 110.
  • the storage unit 102 stores component part related information (or related information) 201 and test case information 301.
  • the component-related information 201 indicates the relationship between each system component and other system components.
  • the test case information 301 indicates a test case related to each system component.
  • products, functionality, and models are defined as system components.
  • the product is a component indicating the implementation (program) of middleware.
  • Functionality is a component that defines a concept that abstracts middleware.
  • a model is a component that abstractly defines a system combining middleware. The system configuration of the model is determined by the functionality that the model should hold and the set of products that implement each functionality.
  • Each system component (product, functionality, model) is given an identifier (product identifier (hereinafter referred to as ID), functionality ID, model ID) for uniquely identifying the component.
  • ID product identifier
  • functionality ID functionality ID
  • model ID model ID
  • FIG. 7 is a diagram showing an example of the component-related information 201 in the first embodiment of the present invention.
  • squares indicate models, bold circles indicate functionality, and thin circles indicate products.
  • a solid arrow indicates that the starting model should retain the end point functionality or model.
  • a dotted arrow indicates that the product of the starting point or the functionality of the end point can be realized.
  • the product at the start of the dotted arrow pointing to functionality is called the (direct) realization product of the functionality.
  • the product “mysql” is a product that realizes the functionality “rdb”.
  • the product may be a product that implements multiple different functionalities. The same functionality may have multiple different realization products.
  • the functionality “rdb” is the realized functionality of “db”.
  • the functionality may be a realization functionality of a plurality of other different functionalities.
  • the same functionality may have a plurality of different realization functionality.
  • the realization product of a certain functionality is also a (indirect) realization product of the functionality.
  • the product “mysql” is an implementation product of “rdb” and also an implementation product of “db”.
  • the functionality at the end of the solid arrow from the model is called the (direct) required functionality of the model.
  • the functionality “rdb” is the requested functionality of the model “web3tier”.
  • the same functionality may be the required functionality of multiple different models.
  • the same model may have a plurality of different required functionality.
  • the other model at the end of the solid arrow from the model is called the (direct) requirement model of the model.
  • the model “web3tier” is a request model of the model “mail_web3tier”.
  • the same model may be a requirement model of a plurality of different models.
  • the same model may have a plurality of different requirement models.
  • the required functionality of a certain model's required model is also the (indirect) required functionality of that model.
  • the functionality “rdb” is the required functionality of the model “web3tier” and the required functionality of “mail_web3tier”.
  • the requirement model of a certain model is also a (indirect) requirement model of the model.
  • the system configuration of the model is determined by selecting one of the realized products for each of all the required functionality of the model in the component-related information 201.
  • model “mail_web3tier” is the functionality “rdb”, the product “mysql” or “c”, the functionality “ap-svr (server)", the product “d” or “e”, functionality For “mail-svr (server)", it is determined by selecting the product "f”.
  • model "batch” select product “b”, “mysql” or “c” for product “a” and functionality “db” for functionality "cache-svr (server)” To be determined.
  • the component related information 201 may be represented by a set of component part information 202 related to each component.
  • FIG. 8 is a diagram showing an example of the component information 202 in the first embodiment of the present invention.
  • the component information 202 includes a component type indicating a component type (product, functionality, model).
  • component part information 202a, 202b, and 202c are examples of component part information 202 related to products, functionality, and models, respectively.
  • the component information 202a related to a product includes a product ID and a functionality ID of functionality that makes the product a (direct) realized product.
  • a product, a driver for performing installation and setting of the product, and the like may be stored in an external storage unit (not shown) in association with the product ID.
  • the component information 202a indicates that the product “mysql” is a product that realizes the functionality “rdb”.
  • the component information 202b related to functionality includes functionality ID.
  • the component information 202b may include a functionality ID of other functionality that makes the functionality (direct) realization functionality.
  • an abstraction of a product that realizes functionality that is, a driver that absorbs a difference for each product may be stored in an external storage unit (not shown) in association with the functionality ID.
  • the component information 202b indicates that the functionality “rdb” is an implementation functionality of the functionality “db”.
  • the component information 202c related to the model includes a model ID and a functionality ID of (direct) required functionality of the model.
  • the component information 202c may include a model ID of a (direct) request model of the model.
  • a driver or the like that adjusts cooperative operation between products that realize a plurality of required functionality of a model may be stored in an external storage unit (not shown) in association with the model ID.
  • the component information 202c indicates that the requested functionality of the model “web3tier” is functionality “rdb” and “ap-svr”.
  • FIG. 9 is a diagram showing an example of the test case information 301 in the first embodiment of the present invention.
  • Test case information 301 includes a test target indicating a test case identifier (test case ID) and an identifier of a component (product, functionality, model) to be tested by the test case.
  • the test case information 301 further includes, as test contents, commands and determination conditions for confirming normal installation of products, installation of sample programs for confirming functionality and normality of models, and their commands and determination conditions. May be included.
  • the example of FIG. 9 indicates that the test case “mysql_test” is a test case for testing the product “mysql”.
  • the test contents indicate that the command “aptitude show mysql” is executed, and that the test result is determined to be normal when the command response is “OK”.
  • the storage unit 102 stores test case information 301 for each system component (product, functionality, model).
  • the component information 202 and the test case information 301 may be expressed in an Extensible Markup Language (hereinafter referred to as XML) format.
  • XML Extensible Markup Language
  • the component-related information 201 and the test case information 301 are stored in an external storage unit (not shown), and an acquisition unit (not shown) acquires the component-related information 201 and the test case information 301 from the external storage unit. May be.
  • test support apparatus 100 may be a computer that includes a CPU (Central Processing Unit) and a storage medium that stores a program, and that operates by control based on the program.
  • CPU Central Processing Unit
  • storage medium that stores a program, and that operates by control based on the program.
  • test support apparatus 100 further includes a system construction apparatus (not shown) for constructing a system on a computer according to the system configuration output by the test support apparatus 100 and a test case output by the test support apparatus 100. You may connect with the test execution apparatus (not shown) which tests a system.
  • FIG. 3 is a flowchart showing the processing of the test support apparatus 100 in the first embodiment of the present invention.
  • the extraction processing unit 101 receives a system configuration extraction request from a user via the input / output device 110 (step S101).
  • the extraction request includes the identifier of the system component (target component) that has been added or updated.
  • the extraction processing unit 101 acquires component part information 202 related to the target part specified by the extraction request from the storage unit 102 (step S102).
  • the extraction processing unit 101 confirms the type of the target component based on the component type of the acquired system component information 202 (step S103).
  • step S104 the extraction processing unit 101 executes a system configuration extraction process for the product, which will be described later (step S104).
  • step S103 When the type of the target part is functionality (step S103 / functionality), the extraction processing unit 101 executes a system configuration extraction process for functionality described later (step S105).
  • step S103 the extraction processing unit 101 executes a system configuration extraction process for the model, which will be described later (step S106).
  • the system configuration information 501 indicating the system configuration including the target part is generated by the system configuration extraction process in steps S104 to S106.
  • the extraction processing unit 101 acquires a test case for each component of each system configuration included in the system configuration information 501 as a test target, and the system configuration information 501. (Step S107).
  • the extraction processing unit 101 outputs the system configuration information 501 to the user via the input / output device 110 (step S108).
  • FIG. 4 is a flowchart showing details of system configuration extraction processing (step S104) for a product in the first embodiment of the present invention.
  • the functionality and model that the product (target product) that is the target part affects is extracted. Then, a system configuration including the target product is extracted for the extracted model.
  • the extraction processing unit 101 identifies the functionality that makes the target product a realized product based on the component-related information 201.
  • the extraction processing unit 101 searches the functionality on all the routes obtained by recursively tracing the dotted arrows from the target product in the component part related information 201 in the forward direction.
  • the functionality to be realized product is specified (step S1041).
  • the extraction processing unit 101 uses the functionality “rdb” as the functionality that makes the product “mysql” an actual product. , Specify "db”.
  • the extraction processing unit 101 extracts, for each of the functionalities specified in step S1041, a model having the functionality as the required functionality.
  • the extraction processing unit 101 searches each component identified in the component-related information 201 by searching for models on all the routes obtained by recursively tracing the solid arrows to the extracted models in the reverse direction.
  • a model having functionality as required functionality is extracted (step S1042).
  • the extraction processing unit 101 extracts “web3tier” and “mail_web3tier” using the functionality “rdb” as a required functionality model. Further, the extraction processing unit 101 extracts “batch” as a model having the functionality “db” as the required functionality.
  • the extraction processing unit 101 selects one of the models extracted in step S1042 (step S1043).
  • the extraction processing unit 101 may first select a model close to the functionality specified in step S1041 in the component-related information 201.
  • the extraction processing unit 101 extracts the requested functionality of the model selected in step S1043 based on the component related information 201.
  • the extraction processing unit 101 selects the component parts related information 201 by searching for the required models on all routes obtained by recursively tracing the solid arrows from the selected model in the forward direction. Extract the model requirement model. Then, the selected functionality and the required functionality of each extracted required model are extracted (step S1044).
  • the extraction processing unit 101 extracts the functionality “rdb” and “ap-svr” as the requested functionality of the model “web3tier”.
  • the extraction processing unit 101 extracts, for each requested functionality extracted in step S1044, a set of products that realize the requested functionality.
  • the extraction processing unit 101 searches and extracts the functionality on all the paths obtained by recursively tracing the dotted arrow to the required requested functionality in the reverse direction in the component-related information 201. Extract the realization functionality of each required functionality. Then, the extracted required functionality and the realized product of the extracted realized functionality are extracted. Then, the extraction processing unit 101 generates functionality realization information 401 indicating realization products applicable to the model (step S1045).
  • the extraction processing unit 101 uses the realization function in the component related information 201 as follows. Extract sex. That is, the extraction processing unit 101 performs functionality on the path between the extracted requested functionality and the target product among the paths obtained by recursively tracing the dotted arrow to the extracted requested functionality in the reverse direction. Search only and extract the realized functionality. In this case, the extraction processing unit 101 extracts only the target product as the realized product.
  • FIG. 10, FIG. 12, FIG. 14, and FIG. 16 are diagrams showing examples of the functionality realization information 401 in the first embodiment of the present invention.
  • the functionality realization information 401 includes the model ID of the required model extracted for the model and the functional ID of the required functionality, and the functional ID of the realized functionality extracted for the required functionality and the product ID of the realized product. Contains a set.
  • the functionality “rdb” is functionality having the target product “mysql” as the realization product. Therefore, the extraction processing unit 101 performs the realization product “mysql” for the functionality “rdb”. "Extract. Further, the extraction processing unit 101 extracts the realized products “d” and “e” for the functionality “ap-svr”. As a result, the extraction processing unit 101 generates the functionality realization information 401a of FIG. 10 for the model “web3tier”.
  • the extraction processing unit 101 may use the content of the generated functionality realization information 401. .
  • the extraction processing unit 101 extracts a system configuration applicable to the model based on the set of realized products for each required functionality extracted in step S1045.
  • the extraction processing unit 101 obtains a direct product of a set of realized products of each required functionality, and acquires a combination of realized products to extract a system configuration.
  • the extraction processing unit 101 sets the obtained system configuration in the system configuration information 501 (step S1046).
  • the system configuration information 501 includes an identifier (configuration ID) for identifying the system configuration, a model ID of the model, a model ID of the request model extracted for the model, and a functionality ID of the requested functionality. Further, the system configuration information 501 includes the functionality ID of the realized functionality extracted for the requested functionality, the product ID of the realized product, and the test case ID of the test case for testing the realized product.
  • the extraction processing unit 101 performs a direct product of a set ⁇ "mysql" ⁇ of realized products of the requested functionality "rdb” and a set of realized products ⁇ "d", “e” ⁇ of the requested functionality "ap-svr”. Is calculated.
  • the calculation result of the Cartesian product is the combination of realized products ⁇ "mysql", “d” ⁇ , ⁇ "mysql", "e” ⁇ .
  • the extraction processing unit 101 acquires the model ID of the model and the requested model, the functionality ID of the requested functionality and the realized functionality, and the product ID of the realized product from the functionality implementation information 401 of FIG. Then, the system configuration is set like the configuration IDs “1” and “2” in the system configuration information 501a of FIG.
  • the extraction processing unit 101 repeats steps S1043 to S1046 for all models extracted in step S1042 (step S1047).
  • the extraction processing unit 101 uses the model “web3tier”, the functionality “rdb”, and “ap-svr” as the requested model and requested functionality of the model “mail_web3tier”. And extract the functionality "mail-svr".
  • the extraction processing unit 101 extracts the realized product “mysql” for the functionality “rdb” from among the extracted requested functionality, the realized product “d” for the functionality “ap-svr”, Extract “e”. Further, the extraction processing unit 101 extracts the realized product “f” for the functionality “mail-svr”. As a result, the extraction processing unit 101 generates the functionality realization information 401b of FIG. 10 for the model “mail_web3tier”.
  • the extraction processing unit 101 includes a set of realized products ⁇ "mysql" ⁇ of requested functionality "rdb", a set of realized products of requested functionality “ap-svr” ⁇ "d", "e” ⁇ , and requested functions Compute the Cartesian product of the set ⁇ "f" ⁇ of realization products of the property "mail-svr".
  • the calculation result of the Cartesian product is the combination of realized products ⁇ "mysql", “d”, “f” ⁇ , ⁇ "mysql", "e”, "f” ⁇ .
  • the extraction processing unit 101 sets the system configuration like the configuration IDs “3” and “4” in the system configuration information 501a of FIG.
  • the extraction processing unit 101 extracts the functionality “cache-svr” and “db” as the requested functionality of the model “batch”.
  • the extraction processing unit 101 extracts the realized product “a” for the functionality “cache-svr” from the extracted requested functionality.
  • the extraction processing unit 101 since the functionality “db” is functionality having the target product “mysql” as a realization product, the extraction processing unit 101 performs the realization functionality “rdb”, realization product ”on the functionality“ mail-svr ”. Extract "mysql”. As a result, the extraction processing unit 101 generates the functionality realization information 401c of FIG. 10 for the model “batch”.
  • the extraction processing unit 101 calculates the Cartesian product of the set ⁇ "a" ⁇ of realized products of the requested functionality "cache-svr” and the set of realized products ⁇ "mysql” ⁇ of the requested functionality "db".
  • the calculation result of the Cartesian product is the combination of realized products ⁇ "a", "mysql” ⁇ .
  • the extraction processing unit 101 sets the system configuration like the configuration ID “5” in the system configuration information 501a of FIG.
  • the extraction processing unit 101 sets a test case “mysql_test” as a test case of the realization product “mysql” in the system configuration information 501a of FIG. 11 based on the test case information 301 of FIG.
  • the extraction processing unit 101 sets test cases for other realized products as shown in FIG.
  • the extraction processing unit 101 has the functionality that makes the product “a” an realized product. Specify the functionality "cache-svr".
  • the extraction processing unit 101 extracts “batch” as a model having the functionality “cache-svr” as the requested functionality.
  • the extraction processing unit 101 extracts the functionality “cache-svr” and “db” as the requested functionality of the model “batch”.
  • the extraction processing unit 101 has the functionality “cache-svr” among the extracted requested functionality, and the functionality that uses the target product “a” as a realization product. For svr, extract the realized product “a”. Further, the extraction processing unit 101 extracts the realized product “b”, the realized functionality “rdb”, and the realized products “mysql” and “c” for the functionality “db”. As a result, the extraction processing unit 101 generates the functionality realization information 401d of FIG. 12 for the model “batch”.
  • the extraction processing unit 101 includes a collection ⁇ "a" ⁇ of realized products of the requested functionality "cache-svr” and a set of realized products ⁇ "b", “mysql", “c” ⁇ of the requested functionality "db”. Calculate the Cartesian product.
  • the calculation result of the Cartesian product is the combination of realized products ⁇ "a", “b” ⁇ , ⁇ "a", “mysql” ⁇ , ⁇ "a", “c” ⁇ .
  • the extraction processing unit 101 sets the system configuration like the configuration IDs “1”, “2”, and “3” in the system configuration information 501b of FIG.
  • FIG. 5 is a flowchart showing details of the system configuration extraction process (step S105) for functionality in the first embodiment of the present invention.
  • the functionality and model affected by the functionality that is the target part are extracted. Then, a system configuration including the target functionality is extracted for the extracted model.
  • the extraction processing unit 101 identifies the functionality with the target functionality as the realized functionality based on the component related information 201.
  • the extraction processing unit 101 searches for the functionality on all the paths obtained by recursively tracing the dotted arrow from the target functionality in the forward direction in the component-related information 201, thereby obtaining the target function.
  • the functionality for realizing the functionality is specified (step S1051).
  • the extraction processing unit 101 uses the functionality “rdb” as the functionality that realizes the functionality. Identify the sex "db”.
  • step S1042 the extraction processing unit 101 extracts, for each of the target functionality and the functionality specified in step S1051, a model having the functionality as the required functionality (step S1052). .
  • the extraction processing unit 101 extracts “web3tier” and “mail_web3tier” using the functionality “rdb” as a required functionality model. Further, the extraction processing unit 101 extracts “batch” as a model having the functionality “db” as the required functionality.
  • the extraction processing unit 101 selects one of the models extracted in step S1052 (step S1053).
  • the extraction processing unit 101 extracts the requested functionality of the model selected in step S1053, similarly to step S1044 (step S1054).
  • the extraction processing unit 101 extracts the functionality “rdb” and “ap-svr” as the requested functionality of the model “web3tier”.
  • step S1045 the extraction processing unit 101 extracts a set of products that realize the required functionality for each required functionality extracted in step S1054 (step S1055).
  • the extraction processing unit 101 uses the component part related information 201 as follows: Extract realized functionality. That is, the extraction processing unit 101 includes a route including the route between the extracted requested functionality and the target functionality among the routes obtained by recursively tracing the dotted arrow to the extracted requested functionality in the reverse direction. Only the above functionality is searched and the realized functionality is extracted.
  • the extraction processing unit 101 extracts the realized products “mysql” and “c” for the functionality “rdb” from the extracted requested functionality. Similarly, the extraction processing unit 101 extracts the realized products “d” and “e” for the functionality “ap-svr”. As a result, the extraction processing unit 101 generates the functionality realization information 401e of FIG. 14 for the model “web3tier”.
  • step S1056 the extraction processing unit 101 extracts a system configuration applicable to the model.
  • the extraction processing unit 101 sets a collection ⁇ "mysql", “c” ⁇ of realized products of the requested functionality “rdb” and a set of realized products ⁇ "d", “e” of the requested functionality "ap-svr”. Calculate the direct product with ⁇ .
  • the result of Cartesian product is the combination of realized products ⁇ "mysql", “d” ⁇ , ⁇ "mysql", “e” ⁇ , ⁇ "c", “d” ⁇ , ⁇ "c", “e” ⁇ Become.
  • the extraction processing unit 101 sets the system configuration like the configuration IDs “1”, “2”, “3”, and “4” in the system configuration information 501c of FIG.
  • the extraction processing unit 101 repeats steps S1053 to S1056 for all models extracted in step S1052 (step S1057).
  • the extraction processing unit 101 uses the model “web3tier”, the functionality “rdb”, and “ap-svr” as the requested model and requested functionality of the model “mail_web3tier”. And extract the functionality "mail-svr”.
  • the extraction processing unit 101 extracts the realized products “mysql” and “c” for the functionality “rdb” from the extracted requested functionality, and the realized product for the functionality “ap-svr”. Extract “d” and “e”. Further, the extraction processing unit 101 extracts the realized product “f” for the functionality “mail-svr”. As a result, the extraction processing unit 101 generates the functionality realization information 401f of FIG. 14 for the model “mail_web3tier”.
  • the extraction processing unit 101 includes a set of realized products of the requested functionality “rdb” ⁇ “mysql”, “c” ⁇ , a set of realized products of the requested functionality “ap-svr” ⁇ “d”, “e” ⁇ , In addition, the direct product of the set ⁇ "f" ⁇ of the realized products of the requested functionality "mail-svr” is calculated.
  • the calculation result of the Cartesian product is the combination of realized products ⁇ "mysql", “d”, “f” ⁇ , ⁇ "mysql", “e”, “f” ⁇ , ⁇ "c", “d", "f” ⁇ , ⁇ "C", “e”, "f” ⁇ .
  • the extraction processing unit 101 sets the system configuration such as the configuration IDs “5”, “6”, “7”, and “8” in the system configuration information 501c of FIG. 15 for these combinations.
  • the extraction processing unit 101 extracts the functionality “cache-svr” and “db” as the requested functionality of the model “batch”.
  • the extraction processing unit 101 extracts the realized product “a” for the functionality “cache-svr” from the extracted requested functionality.
  • the extraction processing unit 101 since the functionality “db” is a functionality having the target functionality “rdb” as the realization functionality, the extraction processing unit 101 performs the realization functionality “rdb”, the realization product “ Extract "mysql” and "c”. As a result, the extraction processing unit 101 generates the functionality realization information 401g of FIG. 14 for the model “batch”.
  • the extraction processing unit 101 calculates a direct product of a set ⁇ "a" ⁇ of realized products of the requested functionality "cache-svr” and a set of realized products ⁇ "mysql", “c” ⁇ of the requested functionality "db”. .
  • the calculation result of the Cartesian product is the combination of realized products ⁇ "a", “mysql” ⁇ , ⁇ "a", “c” ⁇ .
  • the extraction processing unit 101 sets the system configuration like the configuration IDs “9” and “10” in the system configuration information 501c of FIG.
  • FIG. 6 is a flowchart showing details of the system configuration extraction process (step S106) for the model in the first embodiment of the present invention.
  • the functionality and model that the model (target model) that is the target part affects is extracted. Then, a system configuration including the target model is extracted for the extracted model.
  • the extraction processing unit 101 extracts a model having the target model as a required model based on the component related information 201.
  • the extraction processing unit 101 requests the target model by searching for models on all the paths obtained by recursively tracing the solid arrow to the target model in the component part related information 201 in the reverse direction.
  • a model as a model is extracted (step S1062).
  • the extraction processing unit 101 extracts “mail_web3tier” as a model having the model “web3tier” as a request model. .
  • the extraction processing unit 101 selects the target model and one of the models extracted in step S1062 (step S1063).
  • the extraction processing unit 101 extracts the requested functionality of the model selected in step S1063, similarly to step S1044 (step S1064).
  • the extraction processing unit 101 extracts the functionality “rdb” and “ap-svr” as the requested functionality of the model “web3tier”.
  • step S1045 the extraction processing unit 101 extracts a set of products that realize the required functionality for each required functionality extracted in step S1064 (step S1065).
  • the extraction processing unit 101 extracts the realized products “mysql” and “c” for the functionality “rdb” from the extracted requested functionality. Similarly, the extraction processing unit 101 extracts the realized products “d” and “e” for the functionality “ap-svr”. As a result, the extraction processing unit 101 generates the functionality realization information 401h of FIG. 16 for the model “web3tier”.
  • step S1066 the extraction processing unit 101 extracts a system configuration applicable to the model.
  • the extraction processing unit 101 sets a collection ⁇ "mysql", “c” ⁇ of realized products of the requested functionality “rdb” and a set of realized products ⁇ "d", “e” of the requested functionality "ap-svr”. Calculate the direct product with ⁇ .
  • the result of Cartesian product is the combination of realized products ⁇ "mysql", “d” ⁇ , ⁇ "mysql", “e” ⁇ , ⁇ "c", “d” ⁇ , ⁇ "c", “e” ⁇ Become.
  • the extraction processing unit 101 sets the system configuration like the configuration IDs “1”, “2”, “3”, and “4” in the system configuration information 501d of FIG.
  • the extraction processing unit 101 repeats steps S1063 to S1066 for all of the target model and the model extracted in step S1062 (step S1067).
  • the extraction processing unit 101 uses the model “web3tier”, the functionality “rdb”, and “ap-svr” as the requested model and requested functionality of the model “mail_web3tier”. And extract the functionality "mail-svr".
  • the extraction processing unit 101 extracts the realized products “mysql” and “c” for the functionality “rdb” from the extracted requested functionality, and the realized product for the functionality “ap-svr”. Extract “d” and “e”. Further, the extraction processing unit 101 extracts the realized product “f” for the functionality “mail-svr”. As a result, the extraction processing unit 101 generates the functionality realization information 401i of FIG. 16 for the model “mail_web3tier”.
  • the extraction processing unit 101 includes a set of realized products of the requested functionality “rdb” ⁇ “mysql”, “c” ⁇ , a set of realized products of the requested functionality “ap-svr” ⁇ “d”, “e” ⁇ , In addition, the direct product of the set ⁇ "f" ⁇ of the realized products of the requested functionality "mail-svr” is calculated.
  • the calculation result of the Cartesian product is the combination of realized products ⁇ "mysql", “d”, “f” ⁇ , ⁇ "mysql", “e”, “f” ⁇ , ⁇ ”c", “d", "f” ⁇ , ⁇ "C", “e”, "f” ⁇ .
  • the extraction processing unit 101 sets the system configuration like the configuration IDs “5”, “6”, “7”, and “8” in the system configuration information 501d of FIG.
  • FIG. 1 is a block diagram showing a characteristic configuration of the first embodiment of the present invention.
  • the test support apparatus 100 includes a storage unit 102 and an extraction processing unit 101.
  • the configuration of the system is defined by a plurality of functionalities to be held by the system and a set of programs that realize each functionality.
  • the storage unit 102 stores one or more system identifiers, a plurality of functionality identifiers to be held by each system, and component-related information 201 indicating one or more program identifiers capable of realizing each functionality.
  • the extraction processing unit 101 extracts and outputs the designated functionality or the system configuration including the program based on the component-related information 201.
  • the extraction processing unit 101 extracts the specified functionality or system configuration including the program based on the component-related information 201. For output. As a result, it is possible to reduce the number of man-hours for verification accompanying addition or update of system components, and to verify the configuration of a system with addition or update without exception.
  • the extraction processing unit 101 extracts, from the test case information 301, the identifiers of the test cases related to each functionality and each program included in the extracted system configuration.
  • verification of all configurations of a system including a specific system component can be automated.
  • the reason is that the system construction device constructs a system according to the system configuration extracted by the extraction processing unit 101, and the test execution device can test the system according to the test case extracted by the extraction processing unit 101. It is.
  • the extraction processing unit 101 generates a system configuration applicable to all models included in the component-related information 201, and then extracts a system configuration including the target component. This is different from the first embodiment of the present invention.
  • the configuration of the test support apparatus 100 in the second embodiment of the present invention is the same as the configuration of the first embodiment of the present invention (FIG. 2).
  • FIG. 18 is a flowchart showing processing of the test support apparatus 100 in the second embodiment of the present invention.
  • the operation will be described by taking as an example the case where the component-related information 201 of FIG. 7 is stored in the storage unit 102.
  • step S201 to S202, S207 to S208 are the first embodiment of the present invention (steps S101 to S208). S102 and S107 to S208).
  • the extraction processing unit 101 executes a system configuration extraction process to be described later regardless of the type of the target part (step S203).
  • FIG. 19 is a flowchart showing details of the system configuration extraction process (step S203) according to the second embodiment of the present invention.
  • the extraction processing unit 101 extracts all models included in the component related information 201 (step S2032).
  • the extraction processing unit 101 selects one of the models extracted in step S2032 (step S2033).
  • the extraction processing unit 101 extracts the requested functionality of the model selected in step S2033 as in step S1044 (step S2034).
  • step S1045 the extraction processing unit 101 extracts a set of products that realize the required functionality for each of the required functionality extracted in step S2034 (step S2035).
  • the extraction processing unit 101 sets a system configuration applicable to the model, similarly to step S1046 (step S2036).
  • the extraction processing unit 101 repeats steps S2033 to S2036 for all of the target model and the model extracted in step S2032 (step S2037).
  • FIG. 20 is a diagram illustrating an example of the functionality realization information 401 in the second exemplary embodiment of the present invention.
  • FIG. 21 is a diagram illustrating an example of the system configuration information 501 according to the second embodiment of this invention.
  • the extraction processing unit 101 generates the functionality realization information 401j, 401k, and 401l in FIG. 20 for the models “web3tier”, “mail_web3tier”, and “batch” included in the component-related information 201 in FIG. . Then, the extraction processing unit 101 sets the system configuration like the system configuration information 501e in FIG.
  • the extraction processing unit 101 extracts only the configuration including the target part from the system configurations included in the system configuration information 501 (step S2038).
  • the extraction processing unit 101 uses the product “mysql” in the system configurations included in the system configuration information 501e in FIG. Extract configurations with configuration IDs “1”, “2”, “5”, “6”, and “10” that include “in the realized product”.
  • verification of all configurations of a system including a specific system component can be performed comprehensively and quickly.

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

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201380071450.3A CN104956336B (zh) 2012-12-11 2013-12-06 测试支持设备和测试支持方法
US14/649,292 US9792201B2 (en) 2012-12-11 2013-12-06 Test support device and test support method
JP2014551882A JP6191618B2 (ja) 2012-12-11 2013-12-06 テスト支援装置、及び、テスト支援方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012270364 2012-12-11
JP2012-270364 2012-12-11

Publications (1)

Publication Number Publication Date
WO2014091732A1 true WO2014091732A1 (ja) 2014-06-19

Family

ID=50934040

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/007192 WO2014091732A1 (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 (4)

* 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 テストケース生成システム及びテストケース生成方法
JP2011028313A (ja) * 2009-07-21 2011-02-10 Toyota Motor Corp 検証項目自動生成装置

Family Cites Families (8)

* 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
JP4907610B2 (ja) 2008-07-29 2012-04-04 日立オートモティブシステムズ株式会社 ソフトウェア構成管理方法およびシステム
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 (4)

* 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 テストケース生成システム及びテストケース生成方法
JP2011028313A (ja) * 2009-07-21 2011-02-10 Toyota Motor Corp 検証項目自動生成装置

Also Published As

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

Similar Documents

Publication Publication Date Title
US7908518B2 (en) Method, system and computer program product for failure analysis implementing automated comparison of multiple reference models
AU2017327823B2 (en) Test case generator built into data-integration workflow editor
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
US8327029B1 (en) Unified software construct representing multiple synchronized hardware systems
US10719431B2 (en) Graph based code performance analysis
US9336023B2 (en) Visual generation of mobile applications based on data models
US20180024911A1 (en) Software code debugger for quick detection of error root causes
JP4845153B2 (ja) 複数のクライアントを用いた分散環境で更新作業のコンフリクトを回避するシステム、方法、サーバ及びコンピュータプログラム
US8769487B2 (en) Configurable auto content testing framework for technical documentation
JP5794107B2 (ja) 分散型コンピュータシステム、インタラクティブ型クライアント−サーバ・アプリケーションのベリファイ方法、及び製品
TW201727481A (zh) 將桌面應用程式轉換成網路應用程式
US20130191814A1 (en) Test scenario generation method, test scenario generation system, and test scenario generation program
JP6673359B2 (ja) システム構築支援システム、方法およびプログラム
US9639454B2 (en) Computer-readable recording medium storing therein test data generating program, test data generating method, test data generating apparatus and information processing system
US9372770B2 (en) Hardware platform validation
US9389989B2 (en) Self verifying device driver for multi-version compatible data manipulation devices
KR20140079786A (ko) 텔레메트리 파일 해시 및 충돌 검출 기법
KR102105753B1 (ko) 모바일 어플리케이션 환경설정을 시험하기 위한 시험 항목 자동 생성 방법 및 시스템
US8984487B2 (en) Resource tracker
US9871889B1 (en) Techniques for automated capture of configuration data for simulation
US9471472B2 (en) Method and system for entering information
JP6191618B2 (ja) テスト支援装置、及び、テスト支援方法
US9720690B2 (en) Software architecture by untangling undesired code level dependencies using code refactoring
JP2014174609A (ja) ハードウェア構成見積システム、ハードウェア構成見積方法及びハードウェア構成見積プログラム
WO2012056611A1 (ja) 可用性モデル生成装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13861671

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014551882

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14649292

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13861671

Country of ref document: EP

Kind code of ref document: A1