1. Field of the Invention
The present invention relates to devices for supporting efficient software system design, development, maintenance, etc. More particularly, the invention relates to a status transition test support device for supporting efficient execution of a test (hereinafter, referred to as a “status transition test”) using a status transition table describing internal status transition of a system.
2. Description of the Background Art
Conventionally, for software system design or development, it is often the case that a status transition table describing internal status transition (change) of a system is created. The status transition table consists of a plurality of sections partitioned by vertical and horizontal lines (note that each section is referred to as a “cell”.). In the status transition table, each column (or each row) is associated with an internal status that may be taken by the system, while each row (or each column) is associated with an event that may occur in the system. Also, cells where a column and a row intersect with each other have a description (input) as to “what process (referred to as, for example, “behavior” or “action”) is executed and what internal status is brought about by transition” when an event associated with the row occurs during an internal status associated with the column. The status transition table represents without omission all system operations associated with “combinations of system internal status and event”, for example, such that any abnormal operation due to erroneous omission during the course of development is prevented from occurring. In particular, when designing or developing an embeddable software system (a software system which is embedded in electronic equipment, such as an industrial instrument, a consumer electronic appliance, or a cell phone, and runs on a microcomputer), it is essential to use the status transition table in order to describe system operations and perform a status transition test.
For example, conventional techniques related to the status transition table include the following. Japanese Laid-Open Patent Publication No. 1-261726 discloses a scheme for efficiently editing the status transition table by representing the transitional relationship between statuses in the form of a tree. Japanese Laid-Open Patent Publication No. 6-75817 discloses a method (an operation history display method for status transition rules) for improving the efficiency of debugging by indicating status transition with arrows. Japanese Laid-Open Patent Publication No. 11-110351 discloses a method for controlling transition from one status to another based on the status transition table. Japanese Laid-Open Patent Publication No. 2002-230062 discloses a device for supporting system design by including a system generation means for converting contents of processing (a program) inputted in the form of a status transition table into an executable system. Japanese Laid-Open Patent Publication No. 2006-112852 discloses a method for creating a test scenario by combining scenarios generated by a plurality of scenario generation algorithms.
Conventionally, there are the following problems with execution of the status transition test. When the designer of a system differs from the performer of the status transition test, it is difficult for the test performer to identify a “combination of system internal status and event” with which to start the test. Even after the test is started, it is still difficult for the test performer to find such a combination. Also, in the case of a system in which a variety of types of status transition can occur, it is not easy to figure out by which route (test path to be described later) the test has been executed, and therefore it is difficult to efficiently execute the status transition test. Furthermore, when an error occurs during the test, it is difficult to figure out the procedure for replicating the error. As described above, “how to efficiently execute the status transition test” remains an issue to be addressed.
Japanese Laid-Open Patent Publication Nos. 1-261726, 6-75817, 11-110351, and 2002-230062 describe, for example, control of the status transition or editing of the status transition table, but the status transition test is not mentioned. Also, Japanese Laid-Open Patent Publication No. 2006-112852 mentions creation of the test scenario, which, however, does not mean that the status transition test is efficiently executed.
Therefore, an object of the present invention is to provide a status transition test support device for supporting efficient execution of the status transition test.
The present invention has the following features to attain the object mentioned above.
One aspect of the present invention is directed to a status transition test support device for supporting execution of a status transition test for transition between internal statuses to be taken by a system, the test including a plurality of test cases, the device including:
a status transition table generation portion for generating a status transition table, the table containing:
an operation specification information input acceptance portion for accepting input of the operation specification information into the combination information cells;
a test path generation portion for generating a test path including a series of test cases to be executed as the status transition test, based on the operation specification information accepted by the operation specification information input acceptance portion;
a test result holding portion for holding test results for the test cases included in the test path generated by the test path generation portion, and execution order specification information for specifying the order of test execution; and
a test result recording portion for recording a test result externally inputted for each test case to the test result holding portion, along with the execution order specification information.
According to this configuration, a test path to be executed as the status transition test is generated by the test path generation portion based on “combinations of internal status and event” inputted into cells (combination information cells) of the status transition table by the operator. Thus, it is possible to significantly shorten the time conventionally required for test path generation. In addition, when the status transition test is executed, a test result for each test case included in the test path and information for specifying the order of test execution (execution order specification information) are recorded to the test result holding portion based on input by the operator. Thus, it is possible to determine in which test path and up to which test case has already been executed based on data held by the test result holding portion.
Preferably, the device thus configured further includes a test cell highlight portion for highlighting a combination information cell associated with the next test case to be executed, based on the test path generated by the test path generation portion.
According to this configuration, a combination information cell associated with the next test case to be executed (hereinafter, referred to as a “test cell”) is highlighted during execution of the status transition test. Thus, it is possible to eliminate the necessity for the operator to find the test cell by him/herself, resulting in quick execution of the status transition test.
Preferably, the device thus configured further includes a test path candidate display portion for displaying a plurality of test paths including any unexecuted test case as candidates for the next test path to be executed, based on the test result held by the test result holding portion for each test case.
According to this configuration, any test path including an unexecuted test case is displayed as a candidate for the next test path to be executed during execution of the status transition test. Thus, it is possible to eliminate the necessity for the operator to find by him/herself the test path to be executed, resulting in quick execution of the status transition test.
Preferably, the device thus configured further includes a test result history display portion for displaying test results for any executed test cases, along with an information for identifying test cases, in order of test execution, based on the test result for each test case and the execution order specification information which are held by the test result holding portion.
According to this configuration, test results for any executed ones of a series of status transition tests are displayed in order of test execution. Thus, it is possible to readily find out the execution status of the status transition test (the order of test execution, tests results for test cases, and so on).
In the device thus configured, preferably, the test result holding portion holds information indicating whether the test was passed or failed as the test result, and the device further includes:
a failed test replication procedure display portion for displaying execution methods for one or more test cases in order of test execution for the one or more test cases, based on the test result for each test case and the execution order specification information which are held by the test result holding portion, provided that the one or more test cases have been executed before executing a test case whose test result is fail.
According to this configuration, when there is any test case with test result “error (fail)”, the test execution procedure for replicating the error is displayed. Therefore, the operator can perform error replication more readily. Thus, it is possible to readily trace the cause of the error, thereby achieving efficient system development.
Preferably, the device thus configured further includes a progress display portion for displaying progress of the status transition test based on the test result held by the test result holding portion for each test case.
According to this configuration, the progress of the status transition test is displayed. Thus, it is possible to readily manage the progress of system development including the status transition test.
In the device thus configured, preferably, the execution order specification information contains for each test case the year, month, day, and time of test execution.
According to this configuration, the year, month, day, and time of test execution is recorded to the test result holding portion as the execution order specification information. Since information regarding the year, month, day, and time can be readily acquired, it is possible to relatively readily hold information for specifying the order of test execution in the test result holding portion.
Another aspect of the present invention is directed to a computer-readable recording medium having recorded thereon a status transition test support program for use with a status transition test support device for supporting execution of a status transition test for transition between internal statuses to be taken by a system, the test including a plurality of test cases, the program causing the device to execute the following steps:
a status transition table generation step of generating a status transition table, the table containing:
an operation specification information input acceptance step of accepting input of the operation specification information into the combination information cells;
a test path generation step of generating a test path including a series of test cases to be executed as the status transition test, based on the operation specification information accepted in the operation specification information input acceptance step; and
a test result recording step of recording a test result externally inputted for each test case included in the test path generated in the test path generation step to a predetermined test result holding portion, along with execution order specification information for specifying the order of test execution.
Still another aspect of the present invention is directed to a status transition test support method for supporting execution of a status transition test for transition between internal statuses to be taken by a system, the test including a plurality of test cases, the method comprising:
a status transition table generation step of generating a status transition table, the table containing:
an operation specification information input acceptance step of accepting input of the operation specification information into the combination information cells;
a test path generation step of generating a test path including a series of test cases to be executed as the status transition test, based on the operation specification information accepted in the operation specification information input acceptance step; and
a test result recording step of recording a test result externally inputted for each test case included in the test path generated in the test path generation step to a predetermined test result holding portion, along with execution order specification information for specifying the order of test execution.
These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.
Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.
<1. Overall Configuration>
Note that in the following descriptions, a system to be tested concerning internal status transition using the status transition table 21 will be referred to as a “target system” (to distinguish from the system that realizes the status transition test support device 7 according to the present embodiment).
<2. Status Transition Table>
The combination information cell is uniquely identified by a combination of column and row numbers (hereinafter, referred to as a “column-row number”). For example, the combination information cell denoted by reference numeral 219 in
Incidentally, in the case of the status transition table 21, internal statuses and events can be represented by their respective hierarchical structures. For example, it is possible to represent that “two internal statuses ‘STATUS A1’ and ‘STATUS A2’ are included in the internal status ‘STATUS A’”.
<3. Functional Configuration>
The status transition table generation portion 220 generates the status transition table 21 based on data inputted by the operator. Note that “generating the status transition table 21” here refers to generating the status transition table 21 with internal statuses inputted into the internal status input display portion 211, events inputted into the event input display portion 212, and unavailability settings made for combination information cells. The internal status input acceptance portion 221 accepts input by the operator of descriptions representing internal statuses that can be taken by the target system. The event input acceptance portion 222 accepts input by the operator of descriptions representing events that can occur in the target system. The unavailability information input acceptance portion 223 accepts unavailability settings by the operator for combination information cells associated with any “combination of internal status and event” that cannot occur in the target system.
The status transition table design support portion 230 provides various functions to the operator when designing the status transition table 21, such that the operator can efficiently design the status transition table 21. Note that “designing the status transition table” here refers to inputting “transition destination” and “contents of processing” to combination information cells in the status transition table 21 generated by the status transition table generation portion 220, excluding combination information cells for which unavailability settings have been made. The operation specification information input acceptance portion 231 accepts input into combination information cells by the operator, concerning descriptions representing the “transition destination” and the “contents of processing”. The test path generation portion 232 generates a test path based on the “transition destinations” inputted into the combination information cells. Note that a detailed description of the test path will be provided later.
The test support portion 240 provides various functions as will be described later, thereby supporting efficient execution of the status transition test by the operator. Based on test results inputted by the operator, the test result recording portion 241 writes the test results and the like into the test result holding table 31. The test cell highlight portion 242 highlights a combination information cell associated with the next test case to be executed, during execution of the status transition test. When there are a plurality of test paths including any unexecuted test case, the test path candidate display portion 243 displays the test paths as candidates for the next test path to be executed. The test result history display portion 244 displays test results for executed test cases on the display portion 40 in order of test execution. For any test case with the test result “fail (error)”, the failed test replication procedure display portion 245 displays the procedure for test replication on the display portion 40. The progress display portion 246 displays information indicative of the status transition test progress on the display portion 40.
<4. Tables>
Described next are tables used on the status transition test support device 7.
Each record stored in the test result holding table 31 is uniquely identified by a combination of “creation date”, “test specification No.”, and “test case No.”. This will be described with reference to
<5. Operation>
Described next is the operation of the status transition test support device 7 according to the present embodiment.
<5.1 Status Transition Table Generation Process>
<5.2 Status Transition Table Design Support Process>
In step S220, the status transition table design support portion 230 determines whether any test path is being edited. Here, the test path will be described with reference to
In the above example, a test path as shown in
If the determination result in step S220 of
In step S230, the test path generation portion 232 generates a new test path. Note that “generating a new test path” here refers to generating test path data only containing a header portion, such as the data denoted by reference numeral 35 in
In step S232, the test path generation portion 232 records the internal status accepted in step S210 as the “transition destination” for the last test case in the test path data being edited. For example, when the test path data being edited is as shown in
In step S240, the test path generation portion 232 adds a test case to the test path data. Note that “adding a test case” here refers to adding data in which its substantial content is not inputted, i.e., the data as denoted by reference numeral 37 in
In step S250, the test path generation portion 232 records the internal status accepted in step S210 as the internal status for the last test case in the test path data being edited. For example, when the test path data being edited is as shown in
In step S260, the status transition table design support portion 230 moves a cursor on the screen displaying the status transition table 21 to the column for the internal status accepted in step S210. After step S260, the procedure advances to step S270.
In step S270, the status transition table design support portion 230 determines whether any combination information cell in the column for the internal status accepted in step S210 is a “no-data cell”. If the determination result is that there is any “no-data cell”, the procedure advances to step S282. On the other hand, if there is no “no-data cell”, the procedure advances to step S288.
In step S282, the status transition table design support portion 230 displays an event corresponding to the “no-data cell” on the display portion 40 as a candidate for the event to be added to the test path data. After step S282, the procedure advances to step S284, where the operation specification information input acceptance portion 231 accepts event selection by the operator. As a result, the test path generation portion 232 records an event selected by the operator as the event for the last test case in the test path data being edited. For example, when the test path data being edited is as shown in
In step S288, the test path generation portion 232 closes the test path. Note that “closing a test path” here refers to precluding any more test cases from being added to the test path being edited. When a test path is closed, data representing the test path is generated in the test result holding table 31. For example, when a test path transitioning in the order: “(1,1), (2,1), (3,1), (4,3)” is closed, data as shown in
In step S290, the status transition table design support portion 230 determines whether any internal status column included in the status transition table 21 contains a “no-data cell”. If the determination result is that there is any column containing a “no-data cell”, the procedure returns to step S200. On the other hand, if there is no column containing any “no-data cell”, the status transition table design support process ends.
The status transition table design support process as above makes it possible to input data into all combination information cells in the status transition table 21, so that the operator can complete designing of the status transition table without leaving any “no-data cell” in the table. In addition, the status transition table design support process generates test paths without imposing undue workload on the operator such that the status transition test can be efficiently executed.
Incidentally, as for internal status transition of a system, similar patterns of status transition can be repeated a plurality of times. For example, in a system having a status transition table 21 as shown in
<5.3 Test Support Process>
<5.3.1 Operating Procedure>
When the operator selects a menu or suchlike for starting the status transition test, the test path candidate display portion 243 displays candidates for the test path to be executed on the display portion 40, for example, in the form of a list as shown in
In step S330, the test support portion 240 extracts a test case to be currently executed from among test cases included in the test-target path based on data stored in the test result holding table 31. For example, when the test result holding table 31 has stored therein records as shown in
In step S340, the test support portion 240 displays on the display portion 40 a dialog presenting test conditions (which internal status should be assumed by the target system and which event should occur) for the test case extracted in step S330. For example, a screen as shown in
Here, the operator executes the test with reference to the screen displayed in step S340. Thereafter, the operator inputs test results. A test result is inputted, for example, by selecting a predetermined menu with a target combination information cell being selected. Then, in step S350, the input of the test results is accepted by the test support portion 240. As a result, any combination information cell in which the test result has been inputted holds information as shown in, for example,
After step S350, the procedure advances to step S360, where the test result recording portion 241 writes the test results accepted in step S350 into the test result holding table 31. At this time, the test result recording portion 241 records the year, month, day, and time of test execution to the test result holding table 31 as information (execution order specification information) for specifying the order of test execution. As a result, for example, all test cases included in the first and second test paths are completely executed, and when only the test result for the test case which was executed last is “fail”, the records stored in the test result holding table 31 are as shown in
In step S370, the test support portion 240 determines whether any test case included in the test-target path has not yet been executed. If the determination result is that there is any unexecuted test case, the procedure returns to step S330. On the other hand, if there is no unexecuted test case, the procedure advances to step S380. In step S380, the test support portion 240 determines whether there is any test path that has not yet been executed. If the determination result is that there is any unexecuted test path, the procedure returns to step S310. On the other hand, if there is no unexecuted test path, the test support process ends.
<5.3.2 Various Display Processes>
Described next are various display processes involved in the test support process. The status transition test support device 7 according to the present embodiment has functions for performing the following display processes in order to support efficient execution of the status transition test.
<5.3.2.1 Test Result History Display Process>
In the status transition test, the test result for a given combination information cell can vary in accordance with internal status transition before test execution for the combination information cell. For example, as for the test result for a combination information cell corresponding to a combination of “STATUS C” and “EVENT C”, the test result may be “pass” when the test is executed immediately after internal status transition from “STATUS A”, whereas it may be “fail” when executed after internal status transition from “STATUS A” to “STATUS B”. Therefore, for the system, it is preferable to be readily recognizable as to how the test result varies when the status transition occurs differently.
Incidentally, in the present embodiment, results for the status transition test are stored in the test result holding table 31, along with test execution dates and times. In addition, the test result holding table 31 has column-row numbers stored in the “execution cell” fields in order to identify combination information cells to which the test was applied. Therefore, for an arbitrary combination information cell, it is possible to obtain information about a plurality of test paths including the arbitrary combination information cell, regarding in what order and which combination information cells were tested before the arbitrary combination information cell was tested, and also regarding which test results were obtained. Accordingly, the status transition test support device 7 according to the present embodiment is provided with the function of accepting selection of any combination information cell by the operator and displaying on the display portion 40 a test execution history for a test path including the selected combination information cell. This function is realized by the test result history display portion 244. For example, when a predetermined menu is selected with the combination information cell with column-row number (4,3) being selected, the test result history display portion 244 displays a screen as shown in
<5.3.2.2 Failed Test Replication Procedure Display Process>
In software system testing, it is often the case that, when an error occurs during a test, replication of the situation of error occurrence is attempted, for example, in order to trace the cause of the error. Therefore, for the system, it is preferable to be readily recognizable as to the procedure for replicating the situation of error occurrence. Incidentally, in the present embodiment, results for the status transition test are stored in the test result holding table 31, along with test execution dates and times. Accordingly, for an arbitrary test case with test result “fail” (error), it is possible to recognize in what order and which test cases were executed before the arbitrary test case was executed. Accordingly, the status transition test support device 7 according to the present embodiment is provided with the function of displaying the procedure for replicating the test with test result “fail” on the display portion 40. This function is realized by the failed test replication procedure display portion 245. For example, when a predetermined menu is selected, the failed test replication procedure display portion 245 displays a screen as shown in
<5.3.2.3 Status Transition Test Progress Display Process>
In software system development, it is important for a project leader or suchlike to manage the progress of each operation. Therefore, for the system, it is preferable to be readily recognizable as to the progress of the status transition test. Incidentally, in the present embodiment, information regarding test paths based on the status transition table 21 and information regarding test results for test cases included in each test path are stored in the test result holding table 31. Therefore, it is possible to readily recognize the presence or absence of any unexecuted test case for each test path. Accordingly, the status transition test support device 7 according to the present embodiment is provided with the function of displaying the progress of the status transition test on the display portion 40. This function is realized by the progress display portion 246. For example, when a predetermined menu is selected, the progress display portion 246 displays a screen as shown in
In addition, in the present embodiment, test result information for each test case is stored in the test result holding table 31, and each test case is associated with a combination information cell. Therefore, for each combination information cell, it is possible to recognize whether its corresponding test case has already been executed. Accordingly, the status transition test support device 7 according to the present embodiment is provided with the function of displaying combination information cells corresponding to executed test cases and combination information cells corresponding to unexecuted test cases so as to be distinguished therebetween on the display portion 40. This function is also realized by the progress display portion 246. For example, when a predetermined menu is selected, the progress display portion 246 displays a screen as shown in
<6. Effects>
According to the present embodiment, when designing the status transition table 21, the status transition table design support portion 230 presents to the operator candidates for internal statuses and events that should be designed. Accordingly, it is possible to eliminate the necessity for the operator to find by him/herself any internal status or event that has not yet been designed, resulting in quick designing of the status transition table. In addition, when the operator inputs “combinations of internal status and event” to cells (combination information cells) of the status transition table 21, the test path generation portion 232 generates a test path to be executed as a status transition test based on the contents of the input. Thus, it is possible to significantly shorten the time conventionally required for test path generation.
In addition, when the status transition test is executed, the test result for each test case included in the test path is recorded to the test result holding table 31. At this time, the year, month, day, and time of test execution is recorded to the test result holding table 31 as information for specifying the order of test execution (execution order specification information). Thus, it is possible to determine in which test path and up to which test case has already been executed based on data held by the test result holding table 31.
Furthermore, according to the present embodiment, during execution of the status transition test, the test cell highlight portion 242 highlights a combination information cell associated with the next test case to be executed. Thus, it is possible to eliminate the necessity for the operator to find by him/herself the next combination information cell to be tested, resulting in quick execution of the status transition test. In addition, when there are a plurality of test paths including any unexecuted test case, the test path candidate display portion 243 presents to the operator candidates for the next test path to be executed. Thus, it is possible to eliminate the necessity for the operator to find by him/herself the test path to be executed, resulting in quick execution of the status transition test.
Furthermore, the test result history display portion 244 displays test results for executed test cases on the display portion 40 in order of test execution. Thus, it is possible to readily recognize the progress of execution for the status transition test. In addition, the failed test replication procedure display portion 245 displays the procedure for test replication for any test case with test result “error” on the display portion 40. Thus, it is possible to readily trace the cause of the error, thereby achieving efficient system development. In addition, the progress display portion 246 displays information indicating the progress of testing on the display portion 40. Thus, it is possible to readily manage the progress of system development including the status transition test.
<7. Others>
The above-described status transition test support device 7 is realized based on programs 22 to 24 for test support and so on, which are executed by the CPU 10 given the presence of hardware such as the memory 60 and the auxiliary storage device 70. Part or all of the programs 22 to 24 is provided by, for example, a computer-readable recording medium, such as a CD-ROM, which has the programs 22 to 24 recorded thereon. The user can purchase a CD-ROM as a recording medium of the programs 22 to 24, and load the CD-ROM into a CD-ROM drive unit (not shown), so that the programs 22 to 24 are read therefrom and installed to the auxiliary storage device 70 of the status transition test support device 7. In this manner, it is possible to provide programs causing a computer to execute each step shown in
While the invention has been described in detail, the foregoing description is in all aspects illustrative and not restrictive. It is understood that numerous other modifications and variations can be devised without departing from the scope of the invention.
Note that the present application claims priority to Japanese Patent Application No. 2008-112490, titled “STATUS TRANSITION TEST SUPPORT DEVICE, STATUS TRANSITION TEST SUPPORT PROGRAM, AND STATUS TRANSITION TEST SUPPORT METHOD”, filed on Apr. 23, 2008, and hereby incorporated by reference in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
P2008-112490 | Apr 2008 | JP | national |