System and program for generation

The generation system and program address the challenge of inadequate software testing by generating a test model based on software content and test viewpoint criteria, ensuring thorough and efficient testing through state transition pair identification and judgment processes.

JP2025120683APending Publication Date: 2025-08-18VERISERVE CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024015667
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-05
Publication Date
2025-08-18

AI Technical Summary

Technical Problem

Existing technologies lack an effective method for conducting appropriate tests on target software using Model Based Test (MBT) technology.

Method used

A generation system and program that acquire target software content information and test viewpoint criteria to generate a test model corresponding to state transitions, including state identification and judgment processes to determine the relevance of state transition pairs and test viewpoint criteria for generating an appropriate test model.

Benefits of technology

Enables appropriate testing of target software by generating a test model that accurately reflects the software's state transitions and test criteria, ensuring thorough and efficient testing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025120683000001_ABST
    Figure 2025120683000001_ABST
Patent Text Reader

Abstract

To aim at providing a system and program for generation allowed to appropriately conduct testing of software concerned.SOLUTION: A system for generation comprises a content, etc. acquiring means that acquires required-specification information indicative of a content of software concerned and written MBT-pattern definition information indicative of a MBT pattern as a criterion of a viewpoint of testing to be conducted on the software concerned and means for generation that generates a MBT model for conducting testing corresponding to the MBT pattern which the written MBT-pattern definition information indicates for the software concerned corresponding to the required-specification information, based on the required-specification information and written MBT-pattern definition information acquired by the content, etc. acquiring means. The generation means is to generate a MBT model corresponding to a state transition of the software concerned.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a generation system and a generation program. [Background technology]

[0002] BACKGROUND ART Conventionally, tests that are performed on test objects using MBT (Model Based Test) technology have been known (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2010-218152 Summary of the Invention [Problem to be solved by the invention]

[0004] Incidentally, there has been a demand for a technique for properly conducting tests, including the test of Patent Document 1.

[0005] The present invention has been made in view of the above circumstances, and has as its object to provide a generation system and a generation program that enable appropriate testing of target software. [Means for solving the problem]

[0006] In order to solve the above-mentioned problems and achieve the objective, the generation system described in claim 1 comprises a content acquisition means for acquiring target software content information indicating the content of the target software and test viewpoint criteria information indicating test viewpoint criteria, which are criteria regarding the viewpoint of the test to be performed on the target software, and a generation means for generating a test model for performing the test corresponding to the test viewpoint criteria indicated by the test viewpoint criteria information on the target software corresponding to the target software content information, based on the target software content information and the test viewpoint criteria information acquired by the content acquisition means, and the generation means generates the test model corresponding to the state transition regarding the target software.

[0007] The generation system of claim 2 is the generation system of claim 1, wherein the target software content information indicates content corresponding to at least the functions of the target software, and the generation means generates the test model corresponding to the functions related to the target software and the test viewpoint criteria.

[0008] The generation system of claim 3 is the generation system of claim 1, wherein the generation means performs a state identification process for identifying a plurality of states related to the target software based on the target software content information acquired by the content acquisition means, and a state transition pair identification process for identifying a state transition pair consisting of a first state that is a state before the transition and a second state that is a state after the transition of the first state, among the plurality of states identified by the state identification process; A generation process is performed to generate the test model based on the processing result of the state transition pair identification process and the test viewpoint reference information acquired by the content etc. acquisition means.

[0009] The generation system of claim 4 is the generation system of claim 3, wherein the generation means, after executing the state transition pair identification process and before executing the generation process, further performs a first judgment process to determine whether or not the state transition pair identified in the state transition pair identification process should be used to generate the test model, based on a first criterion related to the content of the target software, and the generation means generates the test model based on the state transition pair determined to be used in the first judgment process in the generation process.

[0010] The generation system of claim 5 is the generation system of claim 3, wherein the generation means, after executing the state transition pair identification process and before executing the generation process, further performs a second judgment process to determine whether or not the test viewpoint reference information acquired by the content acquisition means should be used to generate the test model for the state transition pair identified in the state transition pair identification process, based on a second criterion related to the content of the target software, and the generation means generates the test model based on the test viewpoint reference information determined to be used in the second judgment process in the generation process.

[0011] The generation system of claim 6 is the generation system of claim 3, wherein the generation means, after executing the state transition pair identification process and before executing the generation process, further performs a first determination process of determining whether or not the state transition pair identified in the state transition pair identification process should be used to generate the test model, based on a first criterion related to the content of the target software, and a second determination process of determining whether or not the test viewpoint criterion information acquired by the content etc. acquisition means should be used to generate the test model, with respect to the state transition pair identified in the state transition pair identification process, based on a second criterion related to the content of the target software and different from the first criterion, and the generation means generates the test model based on the state transition pair determined to be used in the first determination process and the test viewpoint criterion information determined to be used in the second determination process, in the generation process.

[0012] The generation program described in claim 7 causes a computer to function as: a content acquisition means for acquiring target software content information indicating the content of the target software and test viewpoint criteria information indicating test viewpoint criteria, which are criteria regarding the viewpoints of tests to be conducted on the target software; and a generation means for generating a test model for conducting the test corresponding to the test viewpoint criteria indicated by the test viewpoint criteria information on the target software corresponding to the target software content information, based on the target software content information and the test viewpoint criteria information acquired by the content acquisition means, wherein the generation means generates the test model corresponding to state transitions related to the target software. [Effects of the Invention]

[0013] According to the generation system of claim 1 and the generation program of claim 7, by generating a test model corresponding to the state transitions related to the target software, it is possible to conduct tests corresponding to the state transitions, for example, and therefore it is possible to conduct tests related to the target software appropriately.

[0014] According to the generation system described in claim 2, by generating a test model corresponding to the functions and test viewpoint criteria related to the target software, it is possible to conduct tests corresponding to the elements (functions and test viewpoint criteria) related to the target software, for example, thereby making it possible to conduct tests related to the target software appropriately.

[0015] According to the generation system described in claim 3, by performing a state identification process, a state transition pair identification process, and a generation process, it is possible to generate, for example, an appropriate test model, thereby making it possible to appropriately conduct tests on the target software.

[0016] According to the generation system described in claim 4, by determining whether or not to use a state transition pair to generate a test model, it is possible to generate, for example, an appropriate test model, thereby making it possible to conduct appropriate tests on the target software.

[0017] According to the generation system described in claim 5, by determining whether or not to use the test viewpoint reference information in generating a test model, it is possible to generate, for example, an appropriate test model, thereby making it possible to conduct tests on the target software appropriately.

[0018] According to the generation system described in claim 6, by determining whether or not to use a state transition pair to generate a test model and determining whether or not to use test viewpoint reference information to generate a test model, it is possible to generate, for example, an appropriate test model, thereby making it possible to conduct appropriate tests on the target software. [Brief explanation of the drawings]

[0019] [Figure 1] 1 is a block diagram showing a functional concept of an information system according to an embodiment of the present invention; [Figure 2] FIG. 10 is an explanatory diagram of MBT pattern definition document information. [Figure 3] 10 is a flowchart of an information output process. [Figure 4] 1 is a flowchart of an MBT model generation process; [Figure 5] 10 is a display example of a risk management screen. [Figure 6] 10 is a display example of a risk-related display graph. [Figure 7] 10 is a display example of a risk-related display graph. [Figure 8] 10 is a display example of a reduction-related display graph. [Figure 9] 10 is a display example of table information. [Figure 10] FIG. 10 is an explanatory diagram of input information. [Figure 11] FIG. DETAILED DESCRIPTION OF THE INVENTION

[0020] Hereinafter, embodiments of a generation system and a generation program according to the present invention will be described in detail with reference to the accompanying drawings. First, [I] the basic concept of the embodiment will be explained, then [II] specific contents of the embodiment will be explained, and finally, [III] modifications to the embodiment will be explained. However, the present invention is not limited to the embodiment.

[0021] [I] Basic Concept of the Embodiment First, the basic concept of the embodiment will be described. The embodiment relates to a generation system and a generation program. The generation system according to the present invention is a system that performs processing related to the target software, and the concept includes, for example, a dedicated system for performing processing related to the target software, or a system realized by implementing a function for performing processing related to the target software in a general-purpose system (for example, a server computer, a personal computer, a tablet terminal, an in-vehicle system, etc.).

[0022] The generation system is a concept that includes, but is not limited to, a system that generates a test model for target software.

[0023] "Target software" refers to software that is the target of processing by the generation system, and is a concept that includes, for example, computer programs that have any purpose, such as for controlling controlled objects such as equipment or for displaying information.

[0024] This target software is tested, for example, to confirm whether the target software is normal. This testing method is arbitrary, but for example, a test corresponding to model-based testing (MBT) is performed.

[0025] "Model-based testing" is a concept that includes, for example, generating test procedures (i.e., test cases) based on a test model for testing target software (a model of a description method based on predetermined rules, which corresponds to the content of the target software), and then executing the test cases to test the software.

[0026] A "test model" is a model used to test target software; specifically, it is a model that corresponds to the target software, and is a concept that includes, for example, a model that corresponds to the specifications of the target software. One example is a model that reflects the functions and various states (the state itself, state transitions, etc.) of the target software described in the requirements specification (requirements specification in a specified format) of the target software.

[0027] The test model includes, for example, models corresponding to the state transition diagram (state transition), activity diagram, sequence diagram, BPMN (Business Process Model and Notation), and decision table of the target software.

[0028] In the following embodiments, for example, a case will be described in which processing is performed regarding the amount of risk reduction that is reduced by conducting a test corresponding to an MBT on the target software. Also, for example, the case will be mainly described as an example in which the test model is a model that corresponds to the state transition of the target software, but the various models mentioned above can also be used as this test model.

[0029] [II] Specific details of the embodiment Next, specific details of the embodiment will be described.

[0030] (composition) First, the configuration of the information system according to this embodiment will be described. Fig. 1 is a block diagram showing the functional concept of the information system according to this embodiment.

[0031] The information system 100 is a system including a generating system, and includes, for example, a terminal device 1 and a server device 2.

[0032] (Configuration - Terminal Device) The terminal device 1 in FIG. 1 is a device used by various users, such as a tablet terminal or a smartphone, and includes, for example, a communication unit 11, a touchpad 12, a display 13, a recording unit 14, and a control unit 15.

[0033] It should be noted that other terminal devices such as a personal computer may also be used as the terminal device 1. The number of terminal devices 1 is arbitrary, but in this embodiment, the one illustrated in FIG.

[0034] (Configuration - Terminal Device - Communication Unit) The communication unit 11 is a communication means for communicating with an external device (for example, the server device 2). The specific type and configuration of the communication unit 11 are arbitrary, but it can be configured using, for example, a known communication circuit or the like.

[0035] (Configuration - Terminal Device - Touchpad) The touchpad 12 is an operation means that receives various operation inputs from the user when pressed by the user's finger, etc. The specific configuration of the touchpad 12 is arbitrary, but for example, a known touchpad equipped with an operation position detection means using a resistive film method, a capacitance method, or the like can be used.

[0036] (Configuration - Terminal Equipment - Display) The display 13 is a display means for displaying various images under the control of the control unit 15. The specific configuration of the display 13 is arbitrary, and for example, a known flat panel display such as a liquid crystal display or an organic EL display can be used. The touch pad 12 and the display 13 may be superimposed on each other to be integrally formed as a touch panel.

[0037] (Configuration - Terminal Device - Recording Unit) The recording unit 14 is a recording means for recording programs and various data required for the operation of the terminal device 1, and can be configured using, for example, a flash memory or the like (the same applies to the recording units of other devices).

[0038] (Configuration - Terminal Device - Control Unit) The control unit 15 is a control means for controlling the terminal device 1, and is specifically a computer including a CPU, various programs interpreted and executed on the CPU (including basic control programs such as an OS and application programs that are started on the OS and realize specific functions), and an internal memory such as RAM for storing programs and various data (the same applies to the control units of other devices). In particular, the program according to the embodiment is installed on the terminal device 1 via an arbitrary recording medium or a network, thereby substantially configuring each unit of the control unit 15 (the same applies to the control units of other devices). The processing of each unit of the control unit 15 will be described later.

[0039] (Configuration - Server Device) The server device 2 in FIG. 1 is a generating system, and includes, for example, a communication unit 21, a recording unit 22, and a control unit 23.

[0040] (Configuration - Server Device - Communication Unit) The communication unit 21 is a communication means for communicating with an external device (for example, the terminal device 1). The specific type and configuration of the communication unit 21 are arbitrary, but it can be configured in the same way as the communication unit 11, for example.

[0041] (Configuration - Server Device - Communication Unit) The recording unit 22 is a recording means for recording programs and various data required for the operation of the server device 2, and stores, for example, MBT pattern definition document information.

[0042] (Configuration - Server device - Communication unit - MBT pattern definition information) FIG. 2 is an explanatory diagram of MBT pattern definition document information.

[0043] "MBT pattern definition document information" is information (test criteria information) that indicates an MBT pattern and test selection criteria associated with the MBT pattern.

[0044] ===MBT Pattern=== An "MBT pattern" is, for example, a standard (test standard) for a test (hereinafter simply referred to as a "test" or "test") corresponding to the aforementioned Model-Based Testing (MBT), and is, for example, a test viewpoint standard related to a test viewpoint. As for this "MBT pattern," for a test model corresponding to a state transition (i.e., an MBT model), for example, "transition confirmation" and "non-transition confirmation" are envisioned as shown in the "MBT pattern" column in Figure 2.

[0045] "Test viewpoint" is a concept that indicates, for example, what to focus on in a test. As shown in the "Viewpoint" column in Fig. 2, possible "test viewpoints" include "confirm that the state can transition as expected" which indicates the viewpoint of "transition confirmation" and "confirm that the state cannot transition because the guard condition is not satisfied" which indicates the viewpoint of "non-transition confirmation".

[0046] ===Test Selection Criteria=== "Test selection criteria" are, for example, test criteria (test criteria) and test detail criteria relating to the level of test detail. As shown in the "Test Selection Criteria" column in Figure 2, these "test selection criteria" are expected to include "state coverage," "transition path coverage," which are related to (belong to) the MBT pattern "transition check," and "combination of unmet conditions," which correspond to (belong to) the MBT patterns "transition condition coverage," and "non-transition check." Note that test selection criteria are assumed to be specific to each MBT pattern.

[0047] "Level of detail" is a concept that indicates the degree of detail of a test, with a higher level of detail indicating more detail. Regarding "state coverage," "transition path coverage," and "transition condition coverage" in Figure 2, for example, "transition path coverage" has the highest level of detail, "transition condition coverage" has the next highest level of detail, and "state coverage" has the lowest level of detail.

[0048] Furthermore, the test selection criteria are factors that are applied when conducting testing, and the more detailed the test selection criteria that are applied, the greater the number of test cases that are executed in the test, resulting in more detailed testing.

[0049] Furthermore, the display of the MBT pattern definition document information in FIG. 2 is an example, and in reality, the information is stored in any format that allows the server device 2 to recognize and process the meaning of the information.

[0050] The MBT pattern definition document information in FIG. 2 may be stored in any specific manner, but may be stored, for example, by an administrator or the like inputting the information into the server device 2.

[0051] (Configuration - Server Device - Control Unit) The control unit 23 is a control means that controls the server device 2. Functionally, the control unit 23 conceptually includes, for example, a reduced risk amount etc. acquisition means, a first display means, a second display means, a content etc. acquisition means, and a generation means.

[0052] It should be noted that the configuration may include means other than those described here, or any of these means may be omitted.

[0053] ===Means for obtaining reduced risk amounts, etc.=== The risk reduction amount acquisition means is a means for acquiring risk reduction amount identification information for identifying the risk reduction amount, which indicates the amount of risk that will be reduced by conducting testing on the target software, and test standard information, which indicates the test standard, which is the standard for testing.

[0054] The reduced risk amount etc. acquisition means further acquires, for example, man-hour specification information for specifying man-hours related to the test. The reduced risk amount etc. acquisition means further acquires, for example, pre-test occurrence side risk amount specification information for specifying occurrence side risk amount before the test is conducted, and pre-test impact side risk amount specification information for specifying impact side risk amount before the test is conducted.

[0055] ===First display means=== The first display means is means for displaying reduced risk amount display information indicating the reduced risk amount based on the reduced risk amount specifying information and test standard information acquired by the reduced risk amount etc. acquisition means, using the test standard as a standard.

[0056] The first display means displays, for example, reduced risk amount display information based on the function. The first display means further displays man-hour display information indicating man-hours related to the test based on the man-hour specifying information acquired by the reduced risk amount etc. acquisition means.

[0057] The first display means performs processing for displaying the reduced risk amount display information in a predetermined graph format or processing for displaying it as numerical information. The first display means displays the reduced risk amount display information in a display mode that allows a user to select a test standard that corresponds to the reduced risk amount indicated by the reduced risk amount display information.

[0058] ===Second display means=== The second display means is a means for displaying pre-test occurrence side risk amount display information indicating the occurrence side risk amount before the test is conducted and pre-test impact side risk amount display information indicating the impact side risk amount before the test is conducted, based on the pre-test occurrence side risk amount identification information and the pre-test impact side risk amount identification information acquired by the reduced risk amount etc. acquisition means.

[0059] For example, when selected test standard information indicating the test standard selected by the user is input into the information processing system (generation system), the second display means further displays, based on the reduced risk amount identification information, pre-test occurrence side risk amount identification information, and pre-test impact side risk amount identification information acquired by the reduced risk amount etc. acquisition means, post-test occurrence side risk amount display information indicating the occurrence side risk amount after the implementation of the test based on the test standard indicated by the selected test standard information, and post-test impact side risk amount display information indicating the impact side risk amount after the implementation of the test based on the test standard indicated by the selected test standard information.

[0060] The second display means performs processing to display at least the pre-test influence degree side risk amount display information in a predetermined graph format, for example.

[0061] ===Method of acquiring contents, etc.=== The content etc. acquisition means is means for acquiring target software content information indicating the content of the target software and test viewpoint criteria information indicating test viewpoint criteria, which are criteria regarding the viewpoints of tests to be conducted on the target software.

[0062] ===Generation means=== The generation means is a means for generating a test model for conducting a test corresponding to the test viewpoint criteria indicated by the test viewpoint criteria information on the target software corresponding to the target software content information, based on the target software content information and test viewpoint criteria information acquired by the content acquisition means, and specifically, generates a test model corresponding to the state transitions related to the target software.

[0063] The generating means generates a test model corresponding to the functions and test viewpoint criteria related to the target software, for example.

[0064] The generation means performs a state identification process to identify multiple states related to the target software based on the target software content information acquired by the content acquisition means, a state transition pair identification process to identify a state transition pair consisting of a first state that is the state before the transition and a second state that is the state after the transition from the first state, among the multiple states identified by the state identification process, and a generation process to generate a test model based on the processing result of the state transition pair identification process and the test viewpoint reference information acquired by the content acquisition means.

[0065] For example, after executing the state transition pair identification process and before executing the generation process, the generation means further performs a first determination process to determine whether or not the state transition pairs identified in the state transition pair identification process are to be used in generating a test model based on a first criterion related to the content of the target software, and the generation means generates a test model based on the state transition pairs determined to be used in the first determination process in the generation process.

[0066] For example, after executing the state transition pair identification process and before executing the generation process, the generation means further performs a second judgment process to determine whether or not the test viewpoint criteria information acquired by the content acquisition means should be used to generate a test model for the state transition pair identified in the state transition pair identification process, based on a second criterion related to the content of the target software, and the generation means generates a test model based on the test viewpoint criteria information determined to be used in the second judgment process in the generation process.

[0067] (term) Next, various terms will be explained.

[0068] ===Risks=== "Risk" is a concept that indicates the possibility of a defect occurring in the target software and the danger that is caused by the defect. For example, the greater the amount of risk, the greater the risk posed by the target software, and the smaller the amount of risk, the less the risk posed by the target software.

[0069] The "amount of risk" is determined based on the occurrence risk amount and the impact risk amount. The "occurrence risk amount" is, for example, an amount corresponding to the occurrence rate, which indicates the degree of possibility of a malfunction occurring, and can be expressed, for example, using numerical information corresponding to the occurrence rate. The "impact risk amount" is, for example, an amount corresponding to the impact rate, which indicates the degree of impact caused by a malfunction that has occurred, and can be expressed, for example, using numerical information corresponding to the impact rate.

[0070] ===Risk reduction=== The "amount of risk reduction" is a concept that indicates, for example, the amount of risk that is reduced by conducting a test on the target software.

[0071] For example, by conducting tests on the target software, it is possible to confirm defects related to the target software (e.g., the defect itself or factors that may lead to the defect, etc.) in the test, and based on the results of the confirmation, it is possible to correct the target software regarding the defect, thereby reducing the amount of risk.

[0072] "Amount of reduced risk" is a concept that specifically indicates, for example, the amount of risk that is expected to be reduced. In other words, "amount of reduced risk" is a concept that indicates, for example, the amount of risk that can be reduced by correcting defects identified in testing of the target software.

[0073] ===Risks and Testing=== Testing of target software is conducted at any time, such as before use or at the final stage of development, to reduce the risk of that software. For example, if the test is more detailed, a larger number of test cases will be executed, which increases the amount of risk reduction. While this is desirable from the perspective of risk reduction, it may take longer to conduct the test and increase costs. Therefore, it is necessary to conduct appropriate testing while taking into consideration the amount of risk reduction, etc.

[0074] (process) Next, a description will be given of the information output process executed by the information system 100. Fig. 3 is a flowchart of the information output process (in the following description of each process, steps will be abbreviated as "S").

[0075] The "information output process" is a process that outputs information related to the test of the target software, and is, for example, a process that is executed by the server device 2. The timing for executing this information output process is arbitrary, but for example, it is assumed that activation begins when the user performs the following predetermined operation, and the explanation will begin from the point where activation begins.

[0076] Here, for example, when a user inputs requirements specification information indicating the requirements specification of the target software into the server device 2 via his / her own terminal device 1 and performs a predetermined operation, the control unit 23 of the server device 2 acquires the input requirements specification information, starts information output processing, and performs the following processes based on the acquired requirements specification information. In other words, in a situation where the server device 2 can grasp the contents of the target software, it performs the following processes taking into account the contents of the target software, etc.

[0077] The "requirements specification information" is target software content information that indicates the content of the target software, and is, for example, information in a predetermined data format (any format such as text data format or PDF file format).

[0078] This requirements specification information indicates a requirements specification that includes, for example, a table of contents page and a main text page, and this requirements specification includes various elements related to the target software (for example, each function, each state, state transitions, etc.).

[0079] In addition, if the target software is, for example, related to the control of a robot reporting system, the "functions" included in the requirements specification are expected to include a speed display function, a battery remaining capacity display function, a system status display function, etc., and the "states" included in the requirements specification are expected to include, but are not limited to, a non-powered state, a normal state, an abnormal state, etc.

[0080] ===SA1=== At SA1 in FIG. 3, the control unit 23 of the server device 2 extracts functions included in the requirement specification indicated by the requirement specification information.

[0081] Specifically, although the method is optional, for example, a predetermined identification method is used to extract functions (more specifically, information indicating function names) included in the requirements specification indicated by the requirements specification information acquired by the server device 2 when the information output process is started (i.e., the requirements specification information input to the server device 2 by the user).

[0082] The specified identification method used here is arbitrary, but for example, by focusing on the fact that the functions are described on the table of contents page of the requirements specification, the above-mentioned acquired requirements specification information is input into a machine-learned model (a model that, when requirements specification information is input, outputs information indicating the functions described on the table of contents page of the requirements specification indicated by the requirements specification information), and the functions included in the requirements specification are identified and extracted based on the information output from the model.

[0083] Here, for example, function A, function B, and function C are identified.

[0084] ===SA2=== In SA2 of Figure 3, the control unit 23 of the server device 2 identifies and extracts specification contents corresponding to the functions extracted in SA1 for each function in the requirement specification indicated by the requirement specification information acquired by the server device 2 when the information output process is started.

[0085] The "specification content corresponding to the function" is, for example, a sentence that describes various elements related to the function (for example, each state, state transition, etc.), and is a concept that indicates a part of the sentence in the requirements specification. The sentence corresponding to this "specification content corresponding to the function" will also be referred to as the "specification text."

[0086] As a variation, the "specification content corresponding to the function" may be configured to include various information such as drawings and tables in addition to text, and to perform processing corresponding to these.

[0087] Specifically, although it is optional, for example, the first to fourth steps are carried out.

[0088] =First step= In the first step, the information on the table of contents page of the requirements specification indicated by the requirements specification information is referenced to identify the section (page, etc.) of the main text corresponding to the function extracted in SA1, and the sentence at the identified section on the main text page is identified as the specification main text.

[0089] For example, if the table of contents page lists "page 32" for function A, the text on page 32 of the main text is identified as the specification content of function A. As an example, specification text A11 is identified for function A. Similarly, specification text B11 is identified for function B, and specification text C11 is identified for function C.

[0090] =2nd process= In the second step, if a reference table of contents is described in the specification body identified in the first step, the sentence referred to in the reference table of contents is identified as the specification body of the corresponding function.

[0091] For example, if specification body A11 contains the statement "Each state is defined in chapter XX," the sentence corresponding to "chapter XX" (reference table of contents) in the main text of the requirements specification is identified as the specification body of function A. As an example, specification body A21 and specification body A22 are identified for function A. Furthermore, if specification body B11 does not contain a reference table of contents, specification body B is not identified for function B. Furthermore, if specification body C11 contains a reference table of contents (see specification body C21), specification body C21 is identified.

[0092] =3rd step= In the third step, broadly speaking, the specification text is identified from among the sentences in the requirements specification (each sentence listed in the table of contents, for example, a page of sentences) other than those identified in the first and second steps (hereinafter also referred to as "other sentences") based on the similarity (degree of similarity, for example, numerical information) between each function and the sentences (each sentence listed in the table of contents, for example, a page of sentences) other than those identified in the first and second steps.

[0093] Although any method for calculating the similarity can be used, the following example will be described using a machine-learned model (a model that outputs the similarity between the function name and each sentence (here, other sentences) when information indicating the function name and each sentence are input). Specifically, steps 1 and 2 are executed.

[0094] Note that, although examples of using "machine-learned models" are also shown for other steps (such as SB1 in Figure 4 described below), the machine-learned models for each step are different models unless otherwise specified. Furthermore, as this "machine-learned model," for example, a model corresponding to a so-called large-scale language model may be used, or other types of models may be used.

[0095] <First step> In the first step, the functions extracted by SA1 and other sentences are input into a machine-learned model, and based on the output from the machine-learned model, the similarity between the input functions and each sentence contained in the other sentences is determined.

[0096] Here, for example, by inputting function A and other sentences into a machine-learned model, the similarities between function A and sentences 91, 92, and 93 are identified as "90," "95," and "10." Note that sentences 91, 92, and 93 represent the respective sentences included in the other sentences. Furthermore, "90," "95," and "10" indicate the similarities, with larger values indicating a greater degree of similarity (i.e., greater similarity). Furthermore, similar processing is performed for function B and function C, for example.

[0097] <Second step> In the second step, based on the similarity determined in the first step, sentences for which the similarity is equal to or greater than a threshold value (for example, a predetermined value such as "80") for each function are determined as the used text.

[0098] Here, for example, for function A, "90" and "95" are equal to or greater than the threshold, and "10" is less than the threshold, so sentences 91 and 92 corresponding to "90" and "95" are identified as specification body 91 and specification body 92. Also, for example, for function B, only the similarity of sentence 91 is equal to or greater than the threshold, and in this case, sentence 91 is identified as specification body 91. Also, for example, for function C, only the similarity of sentence 93 is equal to or greater than the threshold, and in this case, sentence 93 is identified as specification body 93.

[0099] =4th step= In the fourth step, the specification text for each function identified in the first to third steps is identified and extracted.

[0100] Here, for example, for function A, specification text A11, specification text A21, specification text A22, specification text 91, and specification text 92 are identified and extracted. Also, for function B, specification text B11 and specification text 91 are identified and extracted. Also, for function C, specification text C11, specification text C21, and specification text 93 are identified and extracted.

[0101] As a variation, for example, a part of the specification text for each function identified in each of the first to third steps may be omitted, and the remaining specification text that is not omitted may be extracted.

[0102] ===SA3=== In SA3 of Fig. 3, the control unit 23 of the server device 2 executes an MBT model generation process. Fig. 4 is a flowchart of the MBT model generation process.

[0103] The "MBT model generation process" is a process for generating an MBT model, and is performed using the results of each process (SA1 to SA2 in Figure 3, etc.) that was executed before the MBT model generation process. The "MBT model" is the test model described above.

[0104] Furthermore, in the MBT model generation process, it is possible to generate the various models mentioned above (for example, a model corresponding to the state transition diagram (state transition) of the target software, a model corresponding to the activity diagram of the target software, etc.) according to the user's selection. Here, however, we will explain an example in which, for example, the user selects a model corresponding to the state transition of the target software, and a model corresponding to that state transition is generated.

[0105] ===SB1=== In SB1 of FIG. 4, the control unit 23 of the server device 2 identifies and extracts, for each function (function identified in SA1 of FIG. 3), the state (information indicating the state name) (e.g., non-powered state, normal state, abnormal state, etc.) described in the specification content (i.e., the specification text) for each function extracted in SA2 of FIG. 3.

[0106] Note that the method for identifying the state is arbitrary, but we will explain an example in which a machine-learned model (a model that, when the specification text is input, outputs information indicating the name of the state described in the specification text) is used.

[0107] Here, for example, for function A, specification text A11, specification text A21, specification text A22, specification text 91, and specification text 92 are input into the machine-learned model, and state A, state B, and state C are identified and extracted based on the output from the machine-learned model. Similar processing is also performed for function B and function C, and each state for each function is identified and extracted.

[0108] The processing of SB1 may be interpreted as corresponding to a "state identification process" that identifies a plurality of states related to the target software.

[0109] ===SB2=== In SB2 of Figure 4, the control unit 23 of the server device 2 generates and identifies, for each function (function identified in SA1 of Figure 3), a state transition pair consisting of a first state that is the state before the transition and a second state that is the state after the transition from the first state, in the state extracted in SB1.

[0110] Specifically, although the number of states is arbitrary, all state transition pairs are generated and identified, including, for example, state transition pairs that transition from a specific state to another state, and state transition pairs that transition from a specific state to the state itself.

[0111] As a variation, for example, a state transition pair that transitions from a specific state to the state itself may be omitted, or a predetermined number of state transition pairs may be generated and specified.

[0112] Here, for example, for function A, states A, B, and C are extracted by SB1, and therefore state transition pairs for transitioning from state A to state B, state transition pairs for transitioning from state A to state C, state transition pairs for transitioning from state A to state A, and state transition pairs for transitioning from state B to state A are generated and identified. Similar processing is also performed for function B and function C, and state transition pairs for each function are generated and identified.

[0113] The process of SB2 may be interpreted as corresponding to a "state transition pair identification process" that identifies a state transition pair.

[0114] ===SB3=== At SB3 in FIG. 4, the control unit 23 of the server device 2 performs a first determination process.

[0115] The "first determination process" is a process for determining whether or not the state transition pairs identified in the state transition pair identification process should be used to generate a test model, based on a first criterion related to the content of the target software.

[0116] In this embodiment, the "first determination process" is a process intended to process, for example, among the state transition pairs identified in SB2, those that conform to the description in the requirements specification and exclude others. In this case, the "first criterion" may be interpreted as a concept corresponding to, for example, the state transition pair conforming to the description in the requirements specification, which is the content of the target software.

[0117] Specifically, for processing SB3, for example, a machine-learned model (a model that, when a state transition pair and the specification contents of the function to be processed are input, outputs information indicating whether the state transition pair is described in the specification contents) is used.

[0118] In detail, the specification content (specification content extracted by SA2 in Figure 3) for one state transition pair identified by SB2 and the function corresponding to that one state transition pair is input to the machine-learned model, and a judgment is made based on whether the machine-learned model outputs information indicating that the information is described (hereinafter also referred to as "described information") or information indicating that the information is not described (hereinafter also referred to as "undescribed information").

[0119] If "with description" information is output, the aforementioned one state transition pair is determined to be in accordance with the description in the requirements specification, and the state transition pair is determined to be used in generating the MBT model. On the other hand, if "no description" information is output, the aforementioned one state transition pair is determined to not be in accordance with the description in the requirements specification, and the state transition pair is determined not to be used in generating the MBT model.

[0120] Here, for example, if the transition from state A to state B is described in the specification text for function A (specification text A11, specification text A21, specification text A22, specification text 91, specification text 92 extracted in SA2 in Figure 3), the state transition pair for function A identified in SB2, which transitions from state A to state B, will be determined to be used to generate the MBT model based on the output results from the machine-learned model.

[0121] Then, for example, similar processing is performed for other state transition pairs for function A, and for each state transition pair for function B and function C.

[0122] ===SB4=== At SB4 in FIG. 4, the control unit 23 of the server device 2 performs a second determination process.

[0123] The "second determination process" is a process for determining whether or not the test viewpoint criteria information acquired by the content acquisition means is to be used to generate a test model for the state transition pair identified in the state transition pair identification process, based on a second criterion related to the content of the target software and different from the first criterion.

[0124] In this embodiment, the "second judgment process" is a process intended to process, for example, MBT patterns (FIG. 2) indicated by the MBT pattern definition document information recorded in the recording unit 22 in FIG. 1, that conform to the description in the requirements specification and to exclude other ones. In other words, it is a process intended to process combinations of state transition pairs and MBT patterns that conform to the description in the requirements specification and to exclude other ones. In this case, the "second criterion" may be interpreted as a concept corresponding to, for example, whether the combination of state transition pairs and MBT patterns conforms to the description in the requirements specification, which is the content of the target software.

[0125] In addition, the MBT patterns indicated by the MBT pattern definition document information recorded in the recording unit 22 in Figure 1 include 10 MBT patterns in addition to those illustrated in Figure 2, including, for example, an MBT pattern called ``Time Passage'' (an MBT pattern from the perspective of ``checking the passing time'').

[0126] Specifically, for processing SB4, for example, a machine-learned model (a model that, when a state transition pair, the specification contents of the function to be processed, and MBT pattern definition document information are input, outputs information indicating whether or not each MBT pattern indicated in the MBT pattern definition document information needs to be processed for the state transition pair based on the description in the specification contents) is used.

[0127] In detail, the control unit 23 of the server device 2 acquires the MBT pattern definition document information (test viewpoint reference information) from the recording unit 22, and then inputs into the aforementioned machine-learned model one state transition pair determined in SB3 to be used to generate the MBT model, the specification content for the function corresponding to that one state transition pair (the specification content extracted in SA2 in Figure 3), and the aforementioned acquired MBT pattern definition document information, and makes a judgment based on the output result of the machine-learned model.

[0128] Then, for MBT patterns for which the machine-learned model has output information indicating that they should be processed, it is determined that the corresponding state transition pair should be used to generate a test model. On the other hand, for MBT patterns for which the machine-learned model has output information indicating that they do not need to be processed, it is determined that the corresponding state transition pair should not be used to generate a test model.

[0129] Here, for example, if the specification text for function A describes a transition from state A to state C but does not describe the concept of time for this transition, then for the MBT pattern "time passage" (not shown in FIG. 2, as mentioned above) among the 10 MBT patterns indicated by the MBT pattern definition document information in the recording unit 22 in FIG. 1, the machine-learned model will output information indicating that the state transition pair from state A to state C does not need to be processed. In this case, it is determined that the corresponding state transition pair (state transition pair from state A to state C) for that MBT pattern ("time passage") will not be used to generate a test model.

[0130] That is, in this case, for function A, a testing model corresponding to the combination of a state transition pair from state A to state C and an MBT pattern ("time passage") will not be generated.

[0131] Then, for the state transition pair in function A that transitions from state A to state C, a similar determination is made for the other nine MBT patterns among the ten MBT patterns indicated by the MBT pattern definition document information. A similar determination is also made for the other state transition pairs in function A (pairs determined to be used in SB3). A similar determination is also made for each of the state transition pairs in function B and function C (pairs determined to be used in SB3) among the ten MBT patterns mentioned above.

[0132] In other words, in SB4, the number of processing results obtained corresponds to the calculation result of "number of functions (extracted in SA1 in Figure 3)" x "number of state transition pairs determined to be used in SB3 in Figure 4" x "number of MBT patterns indicated in the MBT pattern definition document information (e.g., 10)".

[0133] ===SB5=== At SB5 in FIG. 4, the control unit 23 of the server device 2 generates an MBT model for each state transition pair and each MBT pattern.

[0134] It should be noted that "MBT model for each state transition pair and MBT pattern" refers to an MBT model in which one state transition pair and one MBT pattern are reflected, for example.

[0135] The detailed processing here is optional and can be realized using known technology (for example, technology related to PlantUML), so only an outline will be explained.

[0136] Specifically, for processing SB5, for example, a machine-learned model (a model that, when one state transition pair, the specification content of the function to be processed, MBT pattern definition document information, and one MBT pattern are input, generates an MBT model that reflects one state transition pair and one MBT pattern, generated taking into consideration the specification content of the function and the MBT pattern definition document information) is used.

[0137] That is, the control unit 23 of the server device 2 acquires the MBT pattern definition document information from the recording unit 22, and then inputs into the machine-learned model one state transition pair determined to be used in generating the MBT model in SB3, the specification details for the function corresponding to that one state transition pair (the specification details extracted in SA2 of FIG. 3), the acquired MBT pattern definition document information, and one MBT pattern determined to be used in SB4, and identifies the output result from the machine-learned model as an MBT model reflecting one state transition pair and one MBT pattern. Note that identifying this MBT model may be interpreted as corresponding to "generating an MBT model."

[0138] Here, for example, the ten MBT patterns shown in the MBT pattern definition document information in the recording unit 22 will be referred to as "MBT pattern 1" to "MBT pattern 10" for convenience of explanation.

[0139] For example, if in SB3 it is determined that the state transition pair for function A, which transitions from state A to state B, is to be used, and in SB4 it is determined that only "MBT pattern 1" and "MBT pattern 2" out of "MBT pattern 1" to "MBT pattern 10" are to be used for that state transition pair, then in SB5 an "MBT model of function A, MBT pattern 1, state A → state B" and an "MBT model of function A, MBT pattern 2, state A → state B" will be generated.

[0140] Note that "MBT model of function A, MBT pattern 1, state A → state B" refers to an MBT model that reflects the state transition pair for function A that transitions from state A to state B and MBT pattern 1, while "MBT model of function A, MBT pattern 2, state A → state B" refers to an MBT model that reflects the state transition pair for function A that transitions from state A to state B and MBT pattern 2.

[0141] Then, similar processing is performed for other state transition pairs for function A, function B, and function C, thereby generating an MBT model for each state transition pair and MBT pattern for each function.

[0142] ===SB6=== At SB6 in FIG. 4, the control unit 23 of the server device 2 generates an MBT model for each function.

[0143] Note that an "MBT model for each function" is, for example, an MBT model that reflects one or more state transition pairs and one or more MBT patterns related to one function, and is, for example, an integration of "MBT models for each state transition pair and MBT pattern" for each function. This "MBT model for each function" can also be interpreted as, for example, a test model for conducting tests corresponding to test viewpoint criteria, and as corresponding to a test model corresponding to state transitions related to the target software.

[0144] Specifically, regarding the processing of SB6, for example, among the state transition pairs and MBT models for each MBT pattern generated in SB5, MBT models that share corresponding functions are grouped into common groups, and then the MBT models belonging to each group are integrated into a single MBT model to generate an MBT model for each function.

[0145] For example, in SB5, if the "MBT model of Function A, MBT Pattern 1, State A → State B" and "MBT model of Function A, MBT Pattern 2, State A → State B" mentioned above are also generated, as well as the "MBT model of Function A, MBT Pattern 1, State B → State C," "MBT model of Function A, MBT Pattern 2, State B → State C," and "MBT model of Function A, MBT Pattern 2, State C → State A," since these MBT models have "Function A" in common, these models are integrated to generate the "MBT model of Function A" (an MBT model that reflects the information corresponding to each integrated MBT model).

[0146] Furthermore, by performing similar processing for function B and function C, an "MBT model for function B" and an "MBT model for function C" are generated.

[0147] The process of SB6 or the process of SB5 may be interpreted as corresponding to the "generation process."

[0148] ===SA4=== After returning from the MBT model generation process of FIG. 4, the control unit 23 of the server device 2 executes information display processing at SA4 of FIG.

[0149] The “information display process” is a process for displaying information about the MBT model, for example, a risk management screen on the display 13 of the terminal device 1.

[0150] ==Risk Management Screen== The risk management screen will now be described. Fig. 5 shows an example of the risk management screen. Note that in Fig. 5, some of the information displayed is omitted for the sake of convenience.

[0151] The "risk management screen" is a screen for managing risks related to the target software, and is a screen that displays, for example, various information related to risks related to the target software corresponding to the MBT model generated in SA3 in Fig. 3 (more specifically, SB6 in Fig. 4). This risk management screen has, for example, a function name input field 300, a first area 31, a second area 32, and a third area 33, as shown in Fig. 5.

[0152] =Function name input field= The function name input field 300 in FIG. 5 is a field for inputting a function name, for example, a field for inputting a function name corresponding to the target software. As an example, the function name is displayed as an input candidate, and the user can select a function name from the displayed input candidates and input the selected function name.

[0153] =Area 1 (Risk-related display graph)= Figures 6 and 7 are examples of risk-related display graphs. Note that Figure 6 illustrates only information relating to before the test, while Figure 7 illustrates information relating to before and after the test. The following explanation will primarily refer to Figure 6, and will also refer to Figure 7 as necessary.

[0154] The first area 31 in Fig. 5 is an area where the risk-related display graph 4 in Fig. 6 is displayed. The "risk-related display graph" 4 is, roughly speaking, information in a graph format that displays the amount of risk of the target software.

[0155] The horizontal axis of the risk-related display graph 4 in Figure 6 indicates the occurrence risk amount, and it is shown that the risk amount increases as you move to the right side of the diagram. The vertical axis of the risk-related display graph 4 in Figure 6 indicates the impact risk amount, and it is shown that the risk amount increases as you move to the top of the diagram.

[0156] The risk-related display graph 4 in Figure 6 displays, for example, the occurrence risk amount and impact risk amount for each function included in the target software, and includes, as an example, pre-test risk amount information 41 to 43 (Figures 6 and 7) and post-test risk amount information 44 to 46 (Figure 7).

[0157] = Area 1 (Risk-related display graph) - Pre-test risk amount information = "Pre-test risk amount information" 41 to 43 is information that indicates the occurrence risk amount and impact risk amount for each function of the target software before the test (a test that is performed by executing test cases generated using the MBT model generated in SA3 of Figure 3 (more specifically, SB6 of Figure 4) on the target software) is conducted.

[0158] That is, for example, this "pre-test risk amount information" 41 to 43 may be interpreted as corresponding to "pre-test impact side risk amount display information" indicating the impact side risk amount before the test is conducted, and "pre-test occurrence side risk amount display information" indicating the occurrence side risk amount before the test is conducted.

[0159] The pre-test risk amount information 41 in Figures 6 and 7 is information that indicates the occurrence side risk amount and impact side risk amount for function A of the target software before the test is conducted, and indicates, for example, that the occurrence side risk amount is an amount corresponding to a number between "6" and "8", and the impact side risk amount is an amount corresponding to a number between "3" and "4".

[0160] Pre-test risk amount information 42 in Figures 6 and 7 is information that indicates the occurrence side risk amount and impact side risk amount for function B of the target software before the test is conducted, and pre-test risk amount information 43 is information that indicates the occurrence side risk amount and impact side risk amount for function C of the target software before the test is conducted.

[0161] = Area 1 (Risk-related display graph) - Post-test risk amount information = The "post-test risk amount information" 44 to 46 is information indicating the occurrence risk amount and the impact risk amount for each function of the target software that are expected after the test has been carried out.

[0162] That is, for example, this "post-test risk amount information" 44 to 46 corresponds to "post-test impact side risk amount display information" which indicates the impact side risk amount after the test is conducted, and "post-test occurrence side risk amount display information" which indicates the occurrence side risk amount after the test is conducted.

[0163] The post-test risk amount information 44 in Figure 7 is information that indicates the occurrence side risk amount and impact side risk amount for function A of the target software after the test has been conducted, and indicates, for example, that the occurrence side risk amount is an amount corresponding to a number of about "6" and the impact side risk amount is an amount corresponding to a number between "3" and "4".

[0164] Post-test risk amount information 45 in Figure 7 is information that indicates the occurrence side risk amount and impact side risk amount for function B of the target software after testing has been conducted, and post-test risk amount information 46 is information that indicates the occurrence side risk amount and impact side risk amount for function C of the target software after testing has been conducted.

[0165] = Area 1 (Risk-related display graph) - Testing and risk reduction amount = This post-test risk amount information 44 to 46 reflects the reduction in risk amount based on the reduced risk amount (described above) corresponding to the test being conducted, while the pre-test risk amount information 41 to 43 described above does not reflect this reduction.

[0166] In detail, the test to be conducted is a test performed using test cases generated based on the MBT model generated in SA3 of Figure 3 (more specifically, SB6 of Figure 4) and the test selection criteria (the test selection criteria selected in the test selection criteria of Figure 2).

[0167] That is, for example, if a test selection criterion with a higher level of detail (such as "transition path coverage," which is the most detailed in the "transition confirmation" MBT pattern) is selected for a specific MBT pattern, the number of test cases executed in the test corresponding to that test selection criterion will increase, and more detailed testing will be performed, which will increase the amount of risk reduction and the difference between the amount of risk indicated by the post-test risk amount information and the amount of risk indicated by the pre-test risk amount information.

[0168] In other words, for example, by visually viewing the risk-related display graph in Figure 7, it is possible to understand the amount of risk reduction expected by conducting the test based on the pre-test risk amount information 41 to 43 and the corresponding post-test risk amount information 44 to 46.

[0169] In this embodiment, for example, a case is illustrated in which risk reduction through testing affects only the occurrence risk amount, but as a variation, it may be configured to affect only the impact risk amount, or it may be configured to affect both risk amounts.

[0170] =Second Area (Reduction-related Display Graph)= Fig. 8 is a display example of a reduction-related display graph. The second area 32 in Fig. 5 is an area where the reduction-related display graph 5 in Fig. 8 is displayed. The "reduction-related display graph" 5 is information in a graph format that displays the reduced risk amount and man-hours, and includes, for example, reduced risk amount man-hours information 51 to 54.

[0171] The horizontal axis of the reduction-related display graph 5 in Fig. 8 represents the number of man-hours required to perform the test, with the number of man-hours decreasing as one moves to the right of the drawing. The vertical axis of the reduction-related display graph 5 in Fig. 8 represents the amount of risk reduction, with the amount of risk reduction increasing as one moves to the top of the drawing.

[0172] By configuring the horizontal and vertical axes in this way, for example, the upper right corner of the reduction-related display graph 5 in Figure 8 shows fewer man-hours and a larger amount of risk reduction, making it possible to determine that this corresponds to more effective testing.

[0173] =Second area (reduction-related display graph) - man-hours = The "man-hours" shown on the horizontal axis of Fig. 8 is the man-hours required to conduct a test, and is a concept that indicates, for example, the time required to execute a test (the time required from the start to the end of the test, for example, 3 hours, 10 hours, etc.). A small number of man-hours indicates that the time required to execute a test is short, and a large number of man-hours indicates that the time required to execute a test is long.

[0174] In this embodiment, testing using the MBT model generated in SA3 of Figure 3 (more specifically, SB6 of Figure 4) is described as being performed by another system (any system other than information system 100) generating a number of test cases according to the MBT model and the selected test selection criteria (Figure 2) and executing the test cases on the target software.

[0175] In other words, the explanation will be given assuming that "man-hours" corresponds to the time (execution time) required for the other system to execute the test cases. Also, for example, the execution time of each test case is assumed to be the same, that is, the value of "man-hours" is determined according to the number of test cases.

[0176] =Second area (reduction related display graph) - reduced risk amount and man-hour information= The "reduced risk amount and labor-hour information" 51 to 54 is information indicating the reduced risk amount and labor-hours for testing related to the corresponding MBT pattern and test selection criteria, for example, information indicating the reduced risk amount and labor-hours for testing related to the function of the target software corresponding to the function name entered into the server device 2 via the function name input field 300 in Figure 5.

[0177] That is, for example, the "reduced risk amount man-hour information" 51 to 54 may be construed as corresponding to "reduced risk amount display information" indicating the reduced risk amount and "man-hour display information" indicating the man-hours related to testing.

[0178] Furthermore, the "reduced risk amount man-hour information" 51 to 54 also function as selection buttons that allow the user to select the MBT pattern and test selection criteria that correspond to the reduced risk amount. In other words, the "reduced risk amount man-hour information" 51 to 54 are displayed in a manner that allows the user to select the test selection criteria that correspond to themselves.

[0179] For example, in SA3 in Fig. 3 (more specifically, SB6 in Fig. 4), a case will be described in which an MBT model that reflects the "MBT pattern" = "transition confirmation" and "non-transition confirmation" in Fig. 2 is generated as an integrated MBT model (MBT model of function A) of "function A" (the same applies to each of the following processes). Also, for example, a case will be described in which "function A" is input to the server device 2 via the function name input field 300 in Fig. 5.

[0180] In this case, the risk reduction amount and labor-hour information 51 in Figure 8 shows the risk reduction amount and labor-hours for tests related to "Function A" of the target software (tests corresponding to "MBT pattern" = "Transition confirmation" and "Test selection criteria" = "State coverage").

[0181] In addition, the risk reduction amount and labor-hour information 52 in Figure 8 shows the risk reduction amount and labor-hours for tests related to "Function A" of the target software (tests corresponding to "MBT pattern" = "Transition confirmation" and "Test selection criteria" = "Transition path coverage").

[0182] In addition, the risk reduction amount and labor-hour information 53 in Figure 8 shows the risk reduction amount and labor-hours for tests related to "Function A" of the target software (tests corresponding to "MBT pattern" = "non-transition confirmation" and "test selection criteria" = "combination of non-fulfilled conditions").

[0183] In addition, the risk reduction amount and labor-hour information 54 in Figure 8 shows the proposed risk amount and labor-hours for tests related to "Function A" of the target software (tests corresponding to "MBT pattern" = "Transition confirmation" and "Test selection criteria" = "Transition condition coverage").

[0184] =Third Area (Table Information)= Fig. 9 is a display example of table information. Note that some information is omitted from Fig. 9 for the sake of convenience. The third area 33 in Fig. 5 is an area where the first table information 61 and the second table information 62 in Fig. 9 are displayed.

[0185] =Third Area (Table Information) - First Table Information= The "first table information" 61 is information that displays the reduced risk amount and the like in a table format, for example, information that displays information based on functions and MBT patterns, and includes information in each column.

[0186] The information in the "Function" column of Figure 9 is information indicating the function of the target software (function name, such as "Function A"). The information in the "Risk Amount" column of Figure 9 is information indicating the amount of risk before testing (before testing is performed) (numerical information, such as "28"). The information in the "MBT Pattern" column of Figure 9 is information indicating the MBT pattern (such as "Transition Confirmation"). The information in the "Reduced Risk Amount" column of Figure 9 is information indicating the reduced risk amount (reduced risk amount display information) (numerical information, such as "0.5"). The information in the "Man-hours" column of Figure 9 is information indicating the man-hours (numerical information, such as "30"). The information in the "Remaining Risk Amount" column of Figure 9 is information indicating the amount of risk after testing (after testing is performed) (numerical information, such as "27.4").

[0187] 9 shows, for example, that the target software includes functions such as "Function A," that the amount of risk corresponding to "Function A" is "28," and that the MBT patterns reflected in the MBT model for Function A (MBT patterns generated in SA3 in Figure 3) include "Transition Check." It also shows that the reduced risk amount and effort required when conducting a test corresponding to "Transition Check" using the MBT model for Function A are "0.5" and "30," and that the amount of risk after conducting the test is "27.4."

[0188] In addition, "tests corresponding to 'transition confirmation' performed using the MBT model for function A" specifically refers to tests corresponding to test selection criteria corresponding to those selected by the user, for example, among the risk reduction amount labor-hour information 51, 52, 54 in Figure 8.

[0189] =Third Area (Table Information) - Second Table Information= The "second table information" 62 is information that displays the reduced risk amount and the like in a table format, for example, information that displays information about the entire target software, and includes information in each column.

[0190] The information in the "Function," "Risk Amount," "Reduced Risk Amount," "Remaining Risk Amount," and "Man-hours" columns in Fig. 10 is the same as the information in the columns with the same names in Fig. 9, but the "Function" column displays "Total," which indicates all functions, and the other columns display the total values of each column in Fig. 9. The "Maximum Man-hours" column in Fig. 10 displays the maximum man-hours, which is the upper limit of man-hours entered and set by the user when conducting a test.

[0191] ==SA4 Processing== Regarding the processing of SA4 in Figure 3, in outline, screen information for displaying the risk management screen of Figure 5 is generated, and the generated screen information is sent to the terminal device 1, thereby displaying the risk management screen corresponding to the screen information on the display 13 of the terminal device 1.

[0192] Here, for example, with regard to the generation of screen information, an example of the corresponding processing will be explained, divided into calculation processing based on input information and processing for generating information to display each piece of information (reduction-related display graph 5 in FIG. 8, risk-related display graph 4 in FIG. 7, first table information 61 and second table information 62 in FIG. 9). Note that any processing can be applied to processing other than these processing (for example, processing for displaying function name input field 300 on the risk management screen in FIG. 5), and therefore explanations thereof will be omitted.

[0193] =Input information= 10 is an explanatory diagram of input information. "Input information" is information used for arithmetic processing and the like, and is information input to the server device 2 by a user, for example.

[0194] In this embodiment, the user inputs risk-related input information on the impact level (Figure 10(a)), risk-related input information on the occurrence level (Figure 10(b)), unit labor-hour input information (not shown), and maximum labor-hour input information (not shown) for each function of the target software to the server device 2 via his / her own terminal device 1, and the server device 2 is configured to use the input information to perform calculations related to risk, etc.

[0195] <<<Input information related to impact risk>>> The impact side risk related input information in Figure 10(a) is information for identifying the impact side risk, for example, information entered for each function, and is also pre-test impact side risk amount identification information for identifying the impact side risk amount before the test is conducted.

[0196] This impact-side risk-related input information includes, for example, two pieces of information described in the "Impact-side risk-related input information" column of "Number" = "1" to "2" in Figure 10(a). As described in the "Explanation" column, integer value information of "1" to "5" is used for each piece of information, and in the following explanation, these pieces are also referred to as the "first element" to "second element" as described in the "Element" column.

[0197] Here, for example, the user will input impact-side risk-related input information for each function corresponding to the MBT model generated in SA3 in Figure 3. Specifically, for "Function A," the user will input "4," "5," etc. as the first and second elements in Figure 10(a) taking into consideration the importance and frequency of use of the function. Similarly, the user will input impact-side risk-related input information for "Function B" and "Function C."

[0198] In order to have the user input each piece of information, the server device 2 may be configured to assist the user in input operations by, for example, displaying an input screen (a screen that allows the user to select the function to be input and input information related to that function) (the same applies to input of other pieces of information).

[0199] <<<Input information related to risk occurrence>>> The incidence risk-related input information in Figure 10(b) is information for identifying incidence risks, for example, information input for each function, and is also pre-test incidence risk amount identification information for identifying the incidence risk amount before the test is conducted.

[0200] This risk-related input information on the occurrence side includes, for example, five pieces of information described in the "Risk-related input information on the occurrence side" column of "Number" = "1" to "5" in Figure 10(b). As described in the "Explanation" column, integer value information of "1" to "5" is used for each piece of information, and in the following explanation, these are also referred to as the "first element" to "fifth element" as described in the "Element" column.

[0201] Here, for example, the user will input risk-related input information on the occurrence side for each function corresponding to the MBT model generated in SA3 in Figure 3. Specifically, for "Function A," the user will input "3," "3," "5," "2," "4," etc. as the first to fifth elements in Figure 10(b) taking into consideration the ambiguity of the specifications for that function, the complexity of that function, the number of expected changes for that function, the number of types of input data for that function, and the inexperience of the developer who developed that function. Similarly, the user will input risk-related input information on the impact side for "Function B" and "Function C."

[0202] <<<Unit man-hour input information>>> The unit man-hour input information (not shown) indicates the time required to perform a test for one test case. Here, for example, the user inputs a predetermined required time (e.g., "2").

[0203] <<<Maximum man-hour input information>>> The upper limit man-hour input information (not shown) is information indicating the upper limit of man-hours set when conducting a test. Here, for example, the user inputs information indicating the desired upper limit of man-hours.

[0204] =Calculation processing= Fig. 11 is an explanatory diagram of the calculation process. The "calculation process" is a process that performs various calculations related to the MBT model generated in SA3 in Fig. 3, such as a process that performs calculations on risks related to functions corresponding to the MBT model, based on the various input information described above.

[0205] This calculation process includes, for example, a process of calculating the impact risk amount, occurrence risk amount, risk amount, reduced risk amount, occurrence risk reduced risk amount, and man-hours for each function.

[0206] <<<<Impact risk amount>>> Regarding the calculation process of the impact side risk amount for each function, for example, a calculation corresponding to the calculation formula shown in Fig. 11(a) is performed using the impact side risk related input information of Fig. 10(a). Then, for example, when "4" and "5" are input as the first and second elements of Fig. 10(a) for "function A", the input information is used to calculate "4.5", which is the calculation result of "(4+5) / 2", as the impact side risk amount for "function A".

[0207] <<<Occurrence risk amount>>> Regarding the calculation process of the occurrence side risk amount for each function, for example, a calculation corresponding to the calculation formula shown in Fig. 11(b) is performed using the occurrence side risk related input information in Fig. 10(b). Then, for example, when "3", "2", "5", "2", and "4" are input as the first to fifth elements in Fig. 10(b) for "function A", the input information is used to calculate "7", which is the calculation result of "[(3+2+5+2) / 4]+4", as the occurrence side risk amount for "function A".

[0208] <<<Risk amount>>> Regarding the calculation process of the risk amount for each function, for example, a calculation corresponding to the calculation formula shown in Fig. 11(c) is performed based on the impact risk amount and occurrence risk amount calculated above. Note that Fig. 11(c) illustrates a formula for the case where there are three functions, "function A" to "function C", and also illustrates a formula intended to be expressed in a normalized manner so that the total becomes "100" from the viewpoint of improving the visibility of the relative relationships between the functions displayed in the "risk amount" column in the first table information 61 of Fig. 9.

[0209] For example, when calculating the risk amount for "function A," the calculation results of the impact side risk amount and the occurrence side risk amount are used to calculate the risk amount for "function A" by performing the calculation formula in Figure 11(c).

[0210] In this case, the numerator of the arithmetic expression in Figure 11(c) is the multiplication result of (a) and (b), and the denominator of the arithmetic expression in Figure 11(c) is the addition result of the multiplication result of (a) and (b) for "function A," the multiplication result of (a) and (b) for "function B," and the multiplication result of (a) and (b) for "function C."

[0211] As a variation, if normalized expressions are not required, for example, the multiplication result of (a) and (b) may be used as the risk amount of each function.

[0212] <<<Reduced risk amount>>> The risk amount for each function is calculated by, for example, performing a calculation corresponding to the calculation formula shown in FIG. 11(d) based on the risk amount calculated above.

[0213] Note that the "predetermined value" in Figure 11(d) is reduced risk amount identification information for identifying the reduced risk amount, and is, for example, a numerical value (a numerical value less than "1") that is predetermined for each test selection criterion in Figure 2, and is recorded in the recording unit 22.

[0214] This "predetermined value" may be set to a larger value as the level of detail increases, for example, by focusing on the fact that the higher the level of detail, the greater the effect of reducing risk. For example, as described above, if the order of levels of detail in Figure 2 is "transition path coverage," "transition condition coverage," and "state coverage," then "0.3," "0.2," "0.1," etc. may be set as the corresponding predetermined values.

[0215] Furthermore, with regard to the calculation process, the "predetermined values" associated with the test selection criteria (and MBT patterns) corresponding to the risk reduction amount man-hour information 51 to 54 displayed in the reduction-related display graph 5 of Figure 8 are obtained from the recording unit 22 and used.

[0216] For example, when calculating the risk reduction amount for "Function A," for the information corresponding to the risk reduction amount labor-hour information 52 in Figure 8, "0.3" (a predetermined value) corresponding to "transition path coverage," which is the test selection criterion corresponding to the risk reduction amount labor-hour information 52, is obtained from the recording unit 22, and the risk amount for "Function A" (the calculation result explained in "<<<Risk amount>>>") is multiplied by "0.3" to calculate the risk reduction amount for "transition path coverage" for "Function A."

[0217] <<<Risk reduction amount on the occurrence side>>> The calculation process of the occurrence-side risk reduction amount for each function is performed, for example, based on the occurrence-side risk amount calculated above, using the calculation formula shown in FIG. 11(e).

[0218] The "predetermined value" in FIG. 11(e) is the same as the "predetermined value" in FIG. 11(d).

[0219] For example, when calculating the risk reduction amount for "function A," for the item corresponding to risk reduction amount labor-hour information 52 in Figure 8, "0.3" (predetermined value) corresponding to "transition path coverage," which is the test selection criterion corresponding to risk reduction amount labor-hour information 52, is obtained from recording unit 22, and the result of multiplying the occurrence side risk amount for "function A" (the calculation result explained in "<<<Occurrence side risk amount>>>") by "0.3" is calculated as the occurrence side risk reduction amount for "transition path coverage" for "function A."

[0220] <<<Man-hours>>> The man-hours required to perform the test for each function are calculated based on the unit man-hour input information (not shown) described above, for example, using the calculation formula shown in FIG. 11(f).

[0221] Note that the "number of test cases" in FIG. 11(f) indicates the number of test cases executed in the test corresponding to each function and each test selection criterion (and MBT model).

[0222] For example, when calculating the man-hours required to conduct tests related to "Function A" and the test selection criteria corresponding to the reduced risk amount man-hour information 52 in Figure 8, the control unit 23 of the server device 2 identifies the number of test cases belonging to the tests corresponding to "transition path coverage" and "Function A," which are the test selection criteria corresponding to the reduced risk amount man-hour information 52, and after obtaining the unit man-hour input information entered by the user, multiplies the obtained unit man-hour input information by the number of identified test cases, and calculates the multiplication result as the man-hours for testing "Function A" and "transition path coverage."

[0223] The method for "identifying the number of test cases belonging to the test corresponding to transition path coverage" and "function A" is arbitrary, but for example, the following first and second methods may be used, or other methods may be used.

[0224] <<<Man-hours - Method 1>>> The first method uses a predetermined algorithm (such as an algorithm that, when inputting an MBT model for each function and information indicating the test selection criteria to be used, outputs the number of test cases to be used to perform tests corresponding to these inputs).

[0225] When using the first method, for example, "MBT model of function A" and "transition path coverage" are input into a specified algorithm, and if information indicating "XX" (items) is output from the specified algorithm, the information is acquired and the "XX" indicated by the acquired information is identified as the number of test cases belonging to the test corresponding to "transition path coverage."

[0226] The predetermined algorithm may correspond to a part of the function of the algorithm used in the aforementioned "other system" (a system for generating and executing test cases).

[0227] <<<<Man-hours - Second Method>>> The second method is to identify the MBT model for each function based on the number of states reflected in the model. As explained in SA3 of Fig. 3 (more specifically, SB6 of Fig. 4), the MBT model for each function reflects one or more MBT patterns and one or more states, and the model is identified based on the number of states reflected.

[0228] 2 are stored in the recording unit 22. Then, the recording unit 22 is referred to to acquire a coefficient corresponding to "transition path coverage," and the number of states reflected in the "MBT model of function A" is identified. The result of multiplying the acquired coefficient by the identified number is then identified as the number of test cases belonging to the test corresponding to "transition path coverage."

[0229] The "unit man-hour input information" used to calculate the man-hours may be interpreted as corresponding to the "man-hour identification information" for identifying the man-hours related to the test, or the information output from the predetermined algorithm explained in the first method may be interpreted as corresponding to the "man-hour identification information," or the coefficient recorded in the recording unit 22 explained in the second method may be interpreted as corresponding to the "man-hour identification information."

[0230] = Reduction-related display graph = The process of generating information for displaying the reduction-related display graph 5 in FIG. 8 includes the first to third steps.

[0231] <First Step> In the first step, when a user inputs a function name into the function name input field 300 in Figure 5 via his / her terminal device 1, the input function name is acquired, and an MBT model for the function corresponding to the acquired function name is acquired from the MBT models generated in SA3 in Figure 3 (more specifically, SB6 in Figure 4), and the MBT pattern reflected in the acquired MBT model is identified.

[0232] Here, for example, if a user inputs "Function A" into the function name input field 300 in Figure 5, the input "Function A" is obtained, and the "MBT model of function A" is obtained from the "MBT model of function A," "MBT model of function B," and "MBT model of function C" generated by SA3 in Figure 3, and "Transition confirmation" and "Non-transition confirmation" are identified as the MBT patterns reflected in the "MBT model of function A."

[0233] <Second step> In the second step, the MBT pattern definition document information (FIG. 2) in the recording unit 22 is acquired, and the acquired MBT pattern definition document information is referenced to identify test selection criteria corresponding to the MBT pattern identified in the first step.

[0234] Here, for example, "state coverage," "transition path coverage," and "transition condition coverage" are identified as test selection criteria corresponding to the "transition confirmation" identified in the first step, and "combination of non-established conditions" is identified as test selection criteria corresponding to the "non-transition confirmation."

[0235] <Third Step> In the third step, the reduced risk amount and labor hours corresponding to the function of the function name obtained in the first step and corresponding to each test selection criterion identified in the third step are identified based on the processing results of the above-mentioned calculation processing (mainly related to (d) and (f) in Figure 11), and information for displaying the reduction-related display graph 5 of Figure 8 is generated by identifying the display position of the reduced risk amount and labor hours information corresponding to the identified reduced risk amount and labor hours in the reduction-related display graph 5 of Figure 8.

[0236] Here, for example, the reduced risk amount and man-hours corresponding to "function A" and "coverage of transition paths" are identified based on the processing results of the above-mentioned calculation process, and then the display position of reduced risk amount man-hour information 52 in Fig. 8 is identified, and similarly, the display positions of reduced risk amount man-hour information 51, 54, 53 in Fig. 8 are identified for "function A" and "coverage of states," "function A" and "coverage of transition conditions," and "function A" and "combination of unmet conditions." Then, information for displaying the reduction-related display graph 5 in Fig. 8 is generated.

[0237] =Risk-related display graph= The process of generating information for displaying the risk-association display graph 4 in FIGS. 6 and 7 involves executing the first and second steps.

[0238] <First Step> In the first step, the functions corresponding to each MBT model generated in SA3 of Figure 3 (more specifically, SB6 of Figure 4) are identified, and the impact risk amount and occurrence risk amount for each identified function are identified based on the results of the above-mentioned calculation processing (mainly related to (a) and (b) of Figure 11), and information for displaying the risk-related display graph 4 of Figures 6 and 7 is generated by specifying the display position of the pre-test risk amount information corresponding to each identified risk amount in the risk-related display graph 4 of Figures 6 and 7.

[0239] Here, for example, the impact risk amount and occurrence risk amount corresponding to each "function A" corresponding to the "MBT model of function A" are identified, and each risk amount corresponding to each "function B" corresponding to the "MBT model of function B" and "function C" corresponding to the "MBT model of function C" is identified, thereby specifying the display position of the pre-test risk amount information 41 to 43 in Figures 6 and 7 and generating information for displaying the risk-related display graph 4.

[0240] <Second step> In the second step, when the user inputs a function name into the function name input field 300 of Figure 5 via his / her terminal device 1 and then taps to select the risk reduction amount labor-hour information for which he / she wishes to conduct a test in the reduction-related display graph 5 of Figure 8 displayed based on the above-mentioned processing, the occurrence side reduction risk amount corresponding to the function corresponding to the input function name and the test selection criteria indicated by the selected risk reduction amount labor-hour information is identified based on the processing results of the above-mentioned calculation processing (mainly related to (e) of Figure 11), and the display position in the risk-related display graph 4 of Figure 7, which is moved to the left of the corresponding pre-test risk amount information by an amount corresponding to the occurrence side reduction risk amount, is identified as the display position of the post-test risk amount information, thereby generating information for displaying the risk-related display graph 4 of Figure 7.

[0241] Here, for example, if the user inputs "Function A" in the function name input field 300 of FIG. 5 and then taps to select the risk reduction amount labor-hour information 52 of FIG. 8, the occurrence degree side risk reduction amount corresponding to "Function A" and "Transition path coverage" is identified based on the processing results of the above-mentioned calculation processing (mainly related to (e) of FIG. 11), and the display position of the post-test risk amount information 44 in the risk-related display graph 4 of FIG. 7 (a position moved to the left of the drawing from the pre-test risk amount information 41 by the occurrence degree side reduction amount identified above) is identified, thereby generating information for displaying the risk-related display graph 4 of FIG. 7.

[0242] In this case, in the calculation process for the occurrence rate side reduction risk amount related to (e) of Figure 11 (the aforementioned "<<<Occurrence rate side reduction risk amount>>>"), when the reduction risk amount man-hour information 52 (Figure 8) is tapped and selected as the "predetermined value", information indicating the "transition path coverage" corresponding to the selected reduction risk amount man-hour information 52 (Figure 8) (selected test standard information) is input to the server device 2, and processing is performed using the "transition path coverage" indicated by the input information.

[0243] It is also possible to subsequently tap and select the reduced risk amount man-hour information 54 in FIG. 8 while leaving "Function A" entered in the function name input field 300. In this case, both reduced risk amount man-hour information 52 and 54 are selected in FIG. 8. Therefore, a predetermined value (e.g., "0.3") corresponding to the "transition path coverage" test selection criterion corresponding to the reduced risk amount man-hour information 52 and a predetermined value (e.g., "0.2") corresponding to the "transition condition coverage" test selection criterion corresponding to the reduced risk amount man-hour information 54 are acquired, and the sum of these acquired predetermined values, "0.5," is processed as the "predetermined value" in FIG. 11(e). In this case, the display position of the post-test risk amount information 44 described above in the risk-related display graph 4 in FIG. 7 is moved further to the left than the previously described position.

[0244] Furthermore, after this, by entering "Function B" or "Function C" in the function name input field 300 and then tapping the reduced risk amount labor information in Figure 8, information for displaying the risk-related display graph 4 in Figure 7, which includes the post-test risk amount information 45, 46 in Figure 7, will be generated.

[0245] =First table information= The process of generating information for displaying the first table information 61 in FIG. 9 will be explained separately for the process of information displayed in each column of the first table information 61.

[0246] <Function> For the "Function" column of the first table information 61 in Fig. 9, a process is performed to identify a function corresponding to the MBT model generated in SA3 in Fig. 3 and display the identified function. Here, for example, since an "MBT model of function A" was generated in SA3 in Fig. 3, a process is performed to identify "function A" and display the identified "function A".

[0247] <Risk amount> For the "Risk Amount" column of the first table information 61 in Figure 9, processing is performed for each function displayed in the "Function" column (the same applies to other columns described below). Specifically, the risk amount for the corresponding function is determined based on the processing results of the above-mentioned calculation processing (mainly related to (c) in Figure 11), and the determined risk amount is displayed. Here, for example, processing is performed to display "28" as the risk amount for "Function A."

[0248] <MBTパターン> 9, the process acquires the MBT model of the corresponding function from the MBT models generated by SA3, identifies the MBT pattern reflected in the acquired MBT model, and displays the identified MBT pattern. Here, for example, after acquiring the "MBT model of function A," the process displays "transition confirmation" and "non-transition confirmation."

[0249] <Reduced risk amount> In the "Reduced Risk Amount" column of the first table information 61 in Figure 9, the reduced risk amount of the corresponding function is determined based on the results of the aforementioned calculation process (mainly related to (d) in Figure 11), and the determined reduced risk amount is displayed.

[0250] Regarding the calculation process, for example, when a user taps to select reduced risk amount labor-hour information in the reduction-related display graph 5 in Figure 8, information indicating the test selection criteria corresponding to the selected reduced risk amount labor-hour information (selected test criteria information) is input to the server device 2, and processing is performed using the ``predetermined value'' associated with the test selection criteria indicated by the input information.

[0251] 8 is selected by the user, the process identifies "0.5" as the reduced risk amount based on the results of the calculation process for "function A" performed using a predetermined value corresponding to "transition path coverage", and displays the identified "0.5". Note that the display field for this "0.5" is the field (top row in FIG. 8) corresponding to "transition confirmation", which is the MBT pattern to which "transition path coverage" corresponding to the selected reduced risk amount information 52 belongs (the same is true for the "man-hours" field described below).

[0252] Furthermore, if the user subsequently selects, for example, the reduced risk amount labor-hour information 54 in Figure 8 (whose corresponding MBT pattern is the same as the reduced risk amount labor-hour information 52), the same processing as described above will be performed, but in particular, the sum of the predetermined value corresponding to "coverage of transition paths" (corresponding to the reduced risk amount labor-hour information 52) and the predetermined value corresponding to "coverage of transition conditions" (corresponding to the reduced risk amount labor-hour information 54) will be used as the "predetermined value" for processing.

[0253] 8 (corresponding MBT pattern is different from the reduced risk amount man-hour information 52, 54), the same processing as described above will be performed, but in particular, processing will be performed using only the predetermined value (corresponding to the reduced risk amount man-hour information 53) corresponding to the "not-met condition combination." Then, processing will be performed to display in the column ("0.1" in the second row of FIG. 8) corresponding to the "not-met condition combination" corresponding to the selected reduced risk amount man-hour information 54, which is the MBT pattern to which it belongs (the same applies to the "man-hour" column described below).

[0254] <Man-hours> Regarding the "Man-hours" column of the first table information 61 in Figure 9, the man-hours for testing the corresponding function are identified based on the results of the aforementioned calculation process (mainly related to (f) in Figure 11), and the identified man-hours are displayed.

[0255] The "predetermined value" used in the calculation process is the same as that used in the process for the "reduced risk amount" column described above.

[0256] Here, for example, when the risk reduction amount man-hour information 52 in Figure 8 is selected by the user, "30" is identified as the man-hours for testing corresponding to "Function A" and "Transition Path Coverage", and the identified "30" is displayed.

[0257] <Man-hours> For the "Remaining risk amount" column in the first table information 61 in Figure 9, a process is performed to display information indicating the result of subtracting the information in the "Reduced risk amount" column from the information in the "Risk amount" column for each function. Note that for the "Reduced risk amount" column, it is expected that multiple pieces of information will be displayed, as in the information in the top and second rows of Figure 9, but in this case, the total value of the multiple pieces of information will be used for processing.

[0258] Here, for example, for "function A", the process is performed to display "27.4", which is the calculation result of "28-(0.5+0.1)".

[0259] =Second table information= The process of generating information for displaying the second table information 62 in FIG. 9 will be explained separately for the process of information displayed in each column of the second table information 62.

[0260] <Function> In the "function" column of the second table information 62 in FIG. 9, processing is performed to display "overall."

[0261] <Risk amount, reduced risk amount, remaining risk amount, man-hours> For each of the columns "risk amount," "reduced risk amount," "remaining risk amount," and "man-hours" in the second table information 62 in FIG. 9, a process is performed to display the total of the information in the columns with the same names in the first table information.

[0262] <Maximum man-hours> For the "maximum man-hours" column of the second table information 62 in FIG. 9, processing is performed to display information indicated by the maximum man-hours input information input by the user.

[0263] In this way, the risk management screen of Fig. 5 is displayed on the display 13 of the terminal device 1. Since the information of Figs. 7 to 9 is displayed on the risk management screen in this way, the user can check the reduced risk amount and man-hours in the risk-related display graph 4 of Fig. 7 and the first table information 61 and second table information 62 of Fig. 9, and select test selection criteria to be reflected in testing for each function in the reduction-related display graph 5 of Fig. 8.

[0264] ===SA5=== In SA5 in Fig. 3, the control unit 23 of the server device 2 performs a process of outputting information based on the results of each of the above-mentioned processes. Specifically, there are various ways to do this, but for example, after the user performs a predetermined operation in the process of SA4 (for example, tapping an "information output button" not shown), the control unit 23 may output the MBT model for each function generated in SA3 in Fig. 3 and information indicating the test selection criteria corresponding to the risk reduction amount and man-hour information selected by the user in the reduction-related display graph 5 in Fig. 8 displayed in SA4. Note that "output" here is a concept that includes, for example, transmitting information to another arbitrary device.

[0265] In this case, by reflecting the output results in the "other system," it becomes possible to appropriately test the target software. This concludes the explanation of the information output process.

[0266] (Effects of this embodiment) According to this embodiment, by generating an MBT model (test model) corresponding to the state transitions of the target software, it is possible to carry out tests corresponding to the state transitions, for example, and therefore it is possible to carry out tests on the target software appropriately.

[0267] Furthermore, by generating an MBT model corresponding to the functions and test viewpoint criteria related to the target software, it is possible to carry out tests corresponding to the elements (functions and test viewpoint criteria) related to the target software, thereby making it possible to carry out tests related to the target software appropriately.

[0268] Furthermore, by performing SB1 (state identification process) in FIG. 4, SB2 (state transition pair identification process) in FIG. 4, and SB5 and SB6 (generation process) in FIG. 4, for example, an appropriate MBT model can be generated, which makes it possible to appropriately conduct tests on the target software.

[0269] Furthermore, by determining whether or not to use a state transition pair in generating an MBT model, it is possible to generate an appropriate MBT model, for example, and therefore to carry out appropriate testing of the target software.

[0270] Furthermore, by determining whether or not to use the test viewpoint criteria information in generating an MBT model, it is possible to generate an appropriate MBT model, for example, and therefore to carry out appropriate testing of the target software.

[0271] Furthermore, by determining whether or not to use state transition pairs in generating an MBT model and whether or not to use test viewpoint criteria information in generating an MBT model, it is possible to generate an appropriate MBT model, for example, and therefore to carry out appropriate testing on the target software.

[0272] [III] Modifications to the embodiment Although the embodiments of the present invention have been described above, the specific configurations and means of the present invention can be modified and improved as desired within the scope of the technical ideas of the inventions set forth in the claims. Such modifications will be described below.

[0273] (About the problem to be solved and the effects of the invention) First, the problems that the invention aims to solve and the effects of the invention are not limited to those described above, and may vary depending on the implementation environment of the invention and the details of the configuration, and may solve only some of the problems described above or achieve only some of the effects described above.

[0274] (Regarding decentralization and integration) Furthermore, the electrical components described above are conceptual functional components and do not necessarily have to be physically configured as shown in the drawings. In other words, the specific form of distribution or integration of each part is not limited to that shown in the drawings, and all or part of them can be functionally or physically distributed or integrated in any unit depending on various loads, usage conditions, etc.

[0275] (shape, numbers, structure, time series) The components illustrated in the embodiments and drawings may be modified and improved as desired within the scope of the technical concept of the present invention in terms of shape, numerical value, or the structure or chronological relationship of multiple components.

[0276] (Regarding the first and second determination processes) Furthermore, in the MBT model generation process of Figure 4, a case has been described in which both the first judgment process of SB3 and the second judgment process of SB4 are performed, but this is not limited to this, and it is also possible to configure it so that only one judgment is performed, or to omit both judgments.

[0277] For example, when only the first determination process is performed, SB4 in Fig. 4 may be omitted, and processing may be performed using each MBT pattern indicated in the MBT pattern definition document information in SB5. Furthermore, when only the second determination process is performed, SB3 in Fig. 4 may be omitted, and processing may be performed using each state transition pair identified in SB2 in SB4 and SB5. Furthermore, when both SB3 and SB4 in Fig. 4 are omitted, processing may be performed using each state transition pair identified in SB2 and each MBT pattern indicated in the MBT pattern definition document information in SB5.

[0278] (Regarding the discrimination process) Furthermore, a discrimination process may be added to the information output process in Fig. 3. The "discrimination process" is a process for discriminating MBT patterns that are applicable to testing the target software, and the specific content is arbitrary. For example, a discrimination process using an arbitrary machine-learned model may be applied. Specifically, for example, the discrimination process may be configured to be executed between SA3 and SA4 in Fig. 3, and applicable MBT patterns may be discriminated (identified) from among the MBT patterns reflected in the MBT model generated in SA3, and only MBT patterns determined to be applicable may be used to perform processing for transition to SA4.

[0279] (About optimization process) Furthermore, in the reduction-related display graph 5 of Figure 8, the optimal reduction risk amount labor-hour information (for example, reduction risk amount labor-hour information 51 to 54, etc.) may be automatically selected (i.e., automatically selected by the control unit 23 of the server device 2 without the user's tap operation) and presented to the user as the initial value of each related information (information in Figures 7 to 9).

[0280] In addition, in the process of automatically selecting the optimal reduced risk amount man-hour information, for example, the control unit 23 of the server device 2 selects reduced risk amount man-hour information so that the reduced risk amount for each function is maximized and does not exceed the upper limit of man-hours indicated by the upper limit man-hour input information. By configuring in this way, for example, it becomes possible to allow the user to efficiently select appropriate reduced risk amount man-hour information.

[0281] (MBT model types) Furthermore, as described above, in SA3 in Fig. 3, it is also possible to generate other types of MBT models other than the MBT model corresponding to the state transition, and when generating other types, other processing is applied in addition to the MBT model generation processing in Fig. 4. The content of the other processing is arbitrary, and for example, processing performed using an arbitrary machine-learned model may be applied.

[0282] If another type of MBT model is generated in SA3 of FIG. 3, the processes of SA4 and SA5 are executed for that MBT model.

[0283] (Information display processing (part 1) Furthermore, the MBT model applied to the information display process in SA4 in FIG. 3 is not limited to the one generated in SA3, and an MBT model generated by another method may also be applied.

[0284] (Information display processing (part 2)) Furthermore, the MBT model may not be applied to the information display process of SA4 in Fig. 3, and an MBT model may be generated in SA5 after execution of SA4. Specifically, for example, in SA4, various information related to risks for the target software corresponding to the requirements specification information input to the server device 2 may be displayed in Fig. 7 to Fig. 9, and an MBT pattern corresponding to the target software described above may be generated for the MBT pattern to which the test selection criteria corresponding to the risk reduction amount and man-hour information selected by the user in the reduction-related display graph in Fig. 8 belong (e.g., risk reduction amount and man-hour information 51 to 54, etc.). That is, for example, the timing of generating the MBT model is not limited to before SA4, but may be after SA4.

[0285] (Interpretation of information display standards)

[0286] The risk reduction man-hour information 51 to 54 (risk reduction display information) of the reduction-related display graph 5 in Figure 8 is information corresponding to the test selection criteria (test criteria) and MBT pattern (test criteria), and therefore can be interpreted as being displayed based on these test selection criteria and MBT pattern.

[0287] Furthermore, the information in the "Reduced Risk Amount" column in the first table information 61 in Figure 9 (reduced risk amount display information) is displayed at a position corresponding to the related MBT pattern (information in the "MBT Pattern" column), so it can be interpreted as being displayed based on the MBT pattern (test standard).

[0288] (About combinations) Furthermore, the techniques of the embodiments and modifications may be combined in any manner.

[0289] (Addendum) The generation system of Appendix 1 comprises a content acquisition means for acquiring target software content information indicating the content of the target software and test viewpoint criteria information indicating test viewpoint criteria, which are criteria regarding the viewpoint of the test to be conducted on the target software, and a generation means for generating a test model for conducting the test corresponding to the test viewpoint criteria indicated by the test viewpoint criteria information on the target software corresponding to the target software content information, based on the target software content information and the test viewpoint criteria information acquired by the content acquisition means, and the generation means generates the test model corresponding to the state transition regarding the target software.

[0290] The generation system of Appendix 2 is the generation system described in Appendix 1, wherein the target software content information indicates content corresponding to at least the functions of the target software, and the generation means generates the test model corresponding to the functions related to the target software and the test viewpoint criteria.

[0291] The generation system of Supplementary Note 3 is the generation system of Supplementary Note 1, wherein the generation means performs a state identification process for identifying a plurality of states related to the target software based on the target software content information acquired by the content acquisition means, and a state transition pair identification process for identifying a state transition pair consisting of a first state that is a state before the transition and a second state that is a state after the transition of the first state, among the plurality of states identified by the state identification process; A generation process is performed to generate the test model based on the processing result of the state transition pair identification process and the test viewpoint reference information acquired by the content etc. acquisition means.

[0292] The generation system of Appendix 4 is the generation system described in Appendix 3, wherein the generation means, after executing the state transition pair identification process and before executing the generation process, further performs a first determination process to determine whether or not the state transition pair identified in the state transition pair identification process should be used to generate the test model, based on a first criterion related to the content of the target software, and the generation means generates the test model based on the state transition pair determined to be used in the first determination process in the generation process.

[0293] The generation system of Appendix 5 is the generation system described in Appendix 3, wherein the generation means, after executing the state transition pair identification process and before executing the generation process, further performs a second judgment process to determine whether or not the test viewpoint reference information acquired by the content acquisition means is to be used in generating the test model for the state transition pair identified in the state transition pair identification process, based on a second criterion related to the content of the target software, and the generation means generates the test model based on the test viewpoint reference information determined to be used in the second judgment process in the generation process.

[0294] The generation system of Appendix 6 is the generation system described in Appendix 3, wherein the generation means, after executing the state transition pair identification process and before executing the generation process, further performs a first determination process of determining whether or not the state transition pair identified in the state transition pair identification process should be used to generate the test model, based on a first criterion related to the content of the target software, and a second determination process of determining whether or not the test viewpoint criterion information acquired by the content etc. acquisition means should be used to generate the test model, with respect to the state transition pair identified in the state transition pair identification process, based on a second criterion related to the content of the target software and different from the first criterion, and the generation means generates the test model based on the state transition pair determined to be used in the first determination process and the test viewpoint criterion information determined to be used in the second determination process, in the generation process.

[0295] The generation program of Appendix 7 causes a computer to function as: a content acquisition means for acquiring target software content information indicating the content of the target software and test viewpoint criteria information indicating test viewpoint criteria, which are criteria regarding the viewpoints of tests to be conducted on the target software; and a generation means for generating a test model for conducting the test corresponding to the test viewpoint criteria indicated by the test viewpoint criteria information on the target software corresponding to the target software content information, based on the target software content information and the test viewpoint criteria information acquired by the content acquisition means, wherein the generation means generates the test model corresponding to state transitions related to the target software.

[0296] (Effect of supplementary notes) According to the generation system described in Appendix 1 and the generation program described in Appendix 7, by generating a test model corresponding to the state transitions related to the target software, it is possible to conduct tests corresponding to the state transitions, for example, and therefore it is possible to conduct tests related to the target software appropriately.

[0297] According to the generation system described in Appendix 2, by generating a test model corresponding to the functions and test viewpoint criteria related to the target software, it is possible to conduct tests corresponding to the elements (functions and test viewpoint criteria) related to the target software, for example, and therefore it is possible to conduct tests on the target software appropriately.

[0298] According to the generation system described in Appendix 3, by performing a state identification process, a state transition pair identification process, and a generation process, it is possible to generate, for example, an appropriate test model, thereby making it possible to appropriately conduct tests on the target software.

[0299] According to the generation system described in Appendix 4, by determining whether or not to use a state transition pair to generate a test model, it is possible to generate, for example, an appropriate test model, thereby making it possible to conduct appropriate tests on the target software.

[0300] According to the generation system described in Appendix 5, by determining whether or not to use the test viewpoint criteria information in generating a test model, it is possible to generate, for example, an appropriate test model, thereby making it possible to conduct tests on the target software appropriately.

[0301] According to the generation system described in Appendix 6, by determining whether or not to use state transition pairs to generate a test model and determining whether or not to use test viewpoint reference information to generate a test model, it is possible to generate, for example, an appropriate test model, thereby making it possible to conduct appropriate tests on the target software. [Explanation of symbols]

[0302] 1. Terminal equipment 2. Server device 4 Risk-related display graph 5 Reduction-related display graph 11 Communications Department 12 Touchpad 13. Display 14 Recording section 15 Control Unit 21 Communications Department 22 Recording section 23 Control Unit 31 First area 32 Second area 33 Third area 41 Pre-test risk information 42 Pre-test risk information 43 Pre-test risk information 44 Post-Test Risk Information 45 Post-test risk information 46 Post-Test Risk Information 51 Reduced risk amount and man-hour information 52 Risk reduction man-hour information 53 Risk reduction man-hour information 54 Risk reduction man-hour information 61 First Table Information 62 Second Table Information 100 Information Systems 300 Function name input field

Claims

1. a content acquiring means for acquiring target software content information indicating the content of the target software and test viewpoint criteria information indicating test viewpoint criteria, which are criteria related to viewpoints of tests to be conducted on the target software; a generation means for generating a test model for executing the test corresponding to the test viewpoint criterion indicated by the test viewpoint criterion information on the target software corresponding to the target software content information, based on the target software content information and the test viewpoint criterion information acquired by the content etc. acquisition means, the generating means generates the test model corresponding to a state transition related to the target software. Generation system.

2. the target software content information indicates content corresponding to at least the function of the target software, the generating means generates the test model corresponding to the functions related to the target software and the test viewpoint criteria. The production system of claim 1 .

3. The generating means a state identification process for identifying a plurality of states related to the target software based on the target software content information acquired by the content acquisition means; a state transition pair identification process for identifying a state transition pair, which is made up of a first state as a state before transition and a second state as a state after transition of the first state, from among the plurality of states identified by the state identification process; generating the test model based on a result of the state transition pair identification process and the test viewpoint reference information acquired by the content etc. acquisition means; The production system of claim 1 .

4. The generation means, after executing the state transition pair identification process and before executing the generation process, further performing a first determination process of determining whether or not the state transition pair identified in the state transition pair identification process is to be used in generating the test model, based on a first criterion related to the content of the target software; In the generation process, the generation means generating the test model based on the state transition pairs determined to be used in the first determination process; The production system of claim 3 .

5. The generation means, after executing the state transition pair identification process and before executing the generation process, a second determination process for determining whether or not the test viewpoint criterion information acquired by the content acquisition means is to be used in generating the test model for the state transition pair identified in the state transition pair identification process, based on a second criterion related to the content of the target software; In the generation process, the generation means generating the test model based on the test viewpoint reference information determined to be used in the second determination process; The production system of claim 3 .

6. The generation means, after executing the state transition pair identification process and before executing the generation process, a first determination process for determining whether or not the state transition pair identified in the state transition pair identification process is to be used for generating the test model, based on a first criterion related to the content of the target software; further performing a second determination process for determining whether or not the test viewpoint criteria information acquired by the content etc. acquisition means is to be used in generating the test model for the state transition pair identified in the state transition pair identification process, based on a second criterion related to the content of the target software and different from the first criterion; In the generation process, the generation means generating the test model based on the state transition pair determined to be used in the first determination process and the test viewpoint reference information determined to be used in the second determination process; The production system of claim 3 .

7. Computer, a content acquiring means for acquiring target software content information indicating the content of the target software and test viewpoint criteria information indicating test viewpoint criteria, which are criteria related to viewpoints of tests to be conducted on the target software; a generating means for generating a test model for executing the test corresponding to the test viewpoint criterion indicated by the test viewpoint criterion information on the target software corresponding to the target software content information, based on the target software content information and the test viewpoint criterion information acquired by the content etc. acquiring means; the generating means generates the test model corresponding to a state transition related to the target software. Generator.

Citation Information

Patent Citations

  • Apparatus and method for generating test case

    JP2010218152A