专利汇可以提供Method and apparatus for automatically verifying communication software专利检索,专利查询,专利分析的服务。并且An automatic verification apparatus and method for communication software can automatically verify the result of a regression test without manually operating a terminal for the regression test, which results in the improved efficiency of the test operation. An automatic verification apparatus for communication software comprises a virtual terminal manager for performing a pseudo-operation of a terminal connector, one or more virtual terminals, each performing a pseudo-operation of a terminal, a scenario recording unit for recording the pseudo-operation performed by each virtual terminal as a scenario, a scenario executing unit for automatically executing the recorded pseudo-operation of the terminal, and a scenario verification unit for automatically verifying if the result of the automatic execution is correct whenever the recorded pseudo-operation of the terminal is automatically executed.,下面是Method and apparatus for automatically verifying communication software专利的具体信息内容。
What is claimed is:1. An automatic verification apparatus for communication software, comprising:a virtual terminal manager for performing a pseudo-operation of a terminal connector;one or more virtual terminals, each performing a pseudo-operation of a terminal;a scenario recording unit for recording the pseudo-operation performed by each virtual terminal as a scenario;a scenario executing unit for automatically executing the recorded pseudo-operation of the terminal; anda scenario verification unit for automatically verifying if the result of the automatic execution is correct whenever the recorded pseudo-operation of the terminal is automatically executed.2. The automatic verification apparatus for communication software according to claim 1, further comprising a scenario manager for managing each scenario as a message which includes at least a transmission terminal ID, a receiving terminal ID, and a message ID.3. The automatic verification apparatus for communication software according to claim 2, wherein when the result of the automatic execution of the scenario is verified, said message is managed as a verification message which further includes a group ID and a time.4. The automatic verification apparatus for communication software according to claim 3, wherein the scenario verification unit has a terminal list for managing a plurality of terminal IDs, each as a terminal list element, said terminal list element managing the verification messages in time series.5. The automatic verification apparatus for communication software according to claim 3, wherein the scenario executing unit includes a line task buffer which is capable of storing a line of a message group, and a character string task buffer which is capable of storing a character string of the message group.6. The automatic verification apparatus for communication software according to claim 1, wherein the scenario recording unit includes a message list for managing a plurality of verification messages in time series, and a group list containing a plurality of group-list elements, each element having a group ID, and wherein each of the group-list elements manages a plurality of attached message elements, each having a message ID, in time series.7. The automatic verification apparatus for communication software according to claim 6, wherein the scenario verification unit has a terminal list for managing a plurality of terminal IDs, each as a terminal list element, said terminal list element managing the verification messages in time series.8. The automatic verification apparatus for communication software according to claim 6, wherein the scenario executing unit includes a line task buffer which is capable of storing a line of a message group, and a character string task buffer which is capable of storing a character string of the message group.9. A method for automatically verifying operations of communication software, comprising the steps of:performing a pseudo-operation of a terminal connector;performing a pseudo-operation of a terminal;recording the pseudo-operation of the terminal as a scenario;automatically executing the recorded pseudo-operation of the terminal; andautomatically verifying if the result of the automatic execution is correct whenever the recorded pseudo-operation of the terminal is automatically executed.10. The method according to claim 9, wherein the scenario is managed as a message which includes at least a transmission terminal ID, a receiving terminal ID, and a message ID.11. The method according to claim 10, wherein said message is managed as a verification message which further includes a group ID and a time.12. The method according to claim 11, wherein the scenario recording step includes a group data preparation step for managing a message group of the scenario, and a scenario recording step for recording the scenario in a scenario file.13. The method according to claim 11, wherein the automatic execution step and the automatic verification step include a verification preparation step for grouping the verification messages, each group for one of the terminals, and a message verification step for determining if the verification messages of a message group have been transmitted and received in the correct order in time series.
BACKGROUND OF THE INVENTION
1. Field of Invention
This invention relates to an apparatus and method for automatically verifying communication software, and more particularly, to an automatic verification apparatus and method which can automatically execute a regression test for communication software.
2. Description of the Related Art
FIG. 26
schematically illustrates a conventional communication system
200
. The communication system
200
has a CPU
210
, a plurality of terminal connectors
220
, and a communication software
230
, as major elements. Each of the terminal connectors
220
converts electric signals transmitted to and from the associated terminal
240
into digital signals, and supplies the digital signals to the CPU
210
. The CPU controls each terminal
240
according to the communication software
230
. Two or more terminal connectors
220
are connected to a common CPU
210
. The number of the terminal connectors
220
is determined depending on the type and the number of the terminals
240
connected to the terminal connectors
220
.
In developing a communication system, it is common to modify the existing system by, for example, adding a new function, rather than to develop a totally new system. Whenever the existing functions are modified, or new functions are added to the existing functions are modified, or new functions are added to the existing communication software, it is essential to verify or recheck the items or elements which were already tested in the original software. For example, the communication system
200
illustrated in
FIG. 26
was already subjected to a test A for operating each terminal
240
with a procedure A. If the communication software
230
is modified, it must be verified if the modified communication system
200
correctly operates with the procedure A, with which the pre-modified system
200
operates. Therefore, each terminal
240
must be test-operated with the same procedure A in order to reconfirm that the improved communication system
200
operates correctly. The process for verifying the operation result is called a “regression test”. The efficiency of the development of a communication system greatly depends on how efficiently the regression test is performed.
There are some problems in the conventional process for developing a communication system (including hardware). These problems may adversely affect the efficiency of the regression test. One major problem is that the modified communication software can not be tested unless there is a communication hardware in the test environment. Another problem is that the test is performed only in the vicinity of the hardware. Therefore, there is a strong demand for a technique which allows the communication software to be tested without hardware, or to be tested from a remote place via networks.
In addition, since it is inefficient to manually repeat the same test operation for each terminal every time a modification is made to the existing communication system, a demand for a technique for automatically repeating the test operation for each terminal has also arisen.
SUMMARY OF THE INVENTION
Therefore, it is an object of the invention to provide an automatic verification apparatus which can automatically execute a regression test for communication software. The automatic verification apparatus comprises a virtual terminal manager for performing a pseudo-operation of a terminal connector, a virtual terminal performing a pseudo-operation of a terminal, a scenario recording unit for recording the pseudo-operation performed by the virtual terminal as a scenario, a scenario executing unit for automatically executing the recorded pseudo-operation of the terminal, and a scenario verification unit for automatically verifying if the result of the automatic execution is correct whenever the recorded pseudo-operation of the terminal is automatically executed.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1
is a block diagram for an automatic verification apparatus for communication software.
FIG. 2
is a block diagram of the test execution unit shown in FIG.
1
.
FIG. 3
is a block diagram of the memory shown in FIG.
2
.
FIG. 4
illustrates the structure of the software of the test execution unit.
FIG. 5
is a block diagram of the hard drive.
FIG.
6
(
a
) illustrates a typical message structure, and
FIG.
6
(
b
) illustrates a verification message.
FIG. 7
illustrates the structure of a scenario recording unit.
FIG. 8
illustrates the structure of a scenario verification unit.
FIG. 9
the structure of a scenario executing unit.
FIG.
10
(
a
) illustrates a message structure, and
FIG.
10
(
b
) is a sequence diagram showing the sequence of the message shown in FIG.
10
(
a
) in time series.
FIG.
11
(
a
) illustrates a message sequence recorded as a correct message order for executing a test, and
FIG.
11
(
b
) illustrates a message sequence of the execution result of an automatic verification.
FIG.
12
(
a
) illustrates a message group file, and
FIG.
12
(
b
) illustrates how the message group shown in FIG.
12
(
a
) are recorded in the scenario recording unit.
FIG. 13
is a flowchart showing the sequence of the group data preparation procedure.
FIG. 14
shows the recording sequence of the scenario recording unit.
FIG. 15
is a flowchart showing the sequence of the scenario recording procedure.
FIG. 16
illustrates the scenario verification unit.
FIG. 17
is a flowchart showing the sequence of the verification preparation procedure.
FIG. 18
illustrates the state of the scenario verification unit after message E
1
has been transmitted.
FIG. 19
illustrates the state of the scenario verification unit after message O
3
has been received.
FIG. 20
illustrates the state of the scenario verification unit after message O
1
has been received.
FIG. 21
illustrates the state of the scenario verification unit after message E
2
has been received.
FIG. 22
illustrates the state of the scenario verification unit after message O
4
has been received.
FIG. 23
illustrates the state of the scenario verification unit after message O
2
has been received.
FIGS. 24 and 25
are flowcharts showing the sequence of the message verification procedure.
FIG. 26
illustrates a conventional communication apparatus.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
The preferred embodiments of an automatic verification apparatus and method for a communication software according to the invention will now be described with reference to the attached drawings.
First, the functional structure of the automatic verification apparatus for a communication software according to an embodiment will be explained. The automatic verification apparatus comprises (1) a functional element for performing a pseudo-operation of a terminal connector, (2) a functional element for performing a pseudo-operation of a terminal, (3) a functional element for recording the pseudo-operation performed by the virtual terminal as a scenario, (4) a functional element for automatically executing the recorded pseudo-operation of the terminal, and (5) a functional element for automatically verifying if the automatic execution result is correct whenever the recorded pseudo-operation of the terminal is automatically executed. In this specification, a pseudo terminal connector is referred to as a “virtual terminal manager”, a pseudo terminal is referred to as a “virtual terminal”, and a file in which the operation of the virtual terminal is recorded is referred to as a “scenario”.
Next, the actual hardware and software structures representing the above-described functional elements of the automatic verification apparatus
100
for a communication software will be explained with reference to
FIGS. 1 through 5
.
FIG. 1
illustrates the automatic verification apparatus
100
according to an embodiment of the invention.
This automatic verification apparatus
100
has two major parts, a test object communication apparatus
1
and a test execution apparatus
2
. The test object communication apparatus
1
and the test execution apparatus
2
are connected to each other via the network interface
5
provided to the apparatus
1
and the network interface provided to the test execution unit
6
in the apparatus
2
.
The test object communication apparatus
1
comprises communication software
3
, a CPU
4
for controlling the communication software
3
, and a network interface
5
which functions as an input/output unit to and from the test execution apparatus
2
. This test object communication apparatus
1
is similar to the conventional communication apparatus
200
illustrated in
FIG. 26
, but the terminal connector
220
of the conventional communication apparatus
200
is replaced by the network interface
5
. The object of the test communication apparatus
1
is the communication software
3
. The terminal connector
220
shown in
FIG. 26
is not the test object in this invention, the communication software
3
can be correctly tested even if the terminal connector, which is the actual hardware, is not connected to the test object communication apparatus
1
.
The test execution apparatus
2
comprises a test execution unit
6
, an input unit consisting of a keyboard
7
and a mouse
8
, through which an operator can externally operate the apparatus
2
, and display
9
for displaying the contents of the operation input through the keyboard
7
and the mouse
8
. The keyboard
7
, the mouse
8
, and the display
9
are commercially available, and the structures of these elements are known. Therefore, explanation for these elements is omitted.
The test execution unit
6
is essential for the automatic verification apparatus
100
.
FIG. 2
illustrates the structure of the test execution unit
6
. In the test execution unit
6
, a CPU
11
for processing data, a memory
12
for storing data, a timer
13
for counting processing time, a time-out clock
14
, a hard drive
15
for storing a large volume of data, a keyboard controller
16
for controlling the keyboard
7
, a mouse controller
17
for controlling the mouse
8
, a video controller
18
for controlling the display
9
, and a network interface
19
, which functions as an input/output unit to and from the test object communication apparatus
1
, are mutually connected via a data-transfer bus
10
.
The elements other than the memory
12
and the hard drive
15
are commercially available, and known to those skilled in the art. The software structure stored in the memory
12
, and the file structure stored in the hard drive
15
are essential for the automatic verification apparatus
100
, the details of which will be described below.
FIG. 3
illustrates the structure of the memory
12
. The memory
12
comprises a memory device
27
which stores test execution software
28
, and a commercially available memory controller
26
for controlling the memory device
27
. The memory device
27
and the test execution software
28
stored in the memory device
27
are essential for the automatic verification apparatus
100
for communication software.
FIG. 4
shows the structure of the test execution software
28
, which has a virtual terminal manager
30
, which is a pseudo terminal connector formed for a test, and a scenario manager
31
for managing operation scenarios of the virtual terminal. The scenario manager
31
also manages a scenario recording unit
32
for recording scenarios, scenario executing unit
33
for executing the scenario, and a scenario verification unit
34
for verifying the scenario. The scenario manager
31
can access the hard drive
15
if it is necessary.
FIG. 5
shows the structure of the hard drive
15
. The hard drive
15
comprises a hard drive controller
20
and a hard drive medium
21
. The hard drive medium
21
stores a directory
22
, and a plurality of files
23
. These files
23
stored in the hard drive medium
21
can be identified by their unique names. The list of the file names is registered in the directory
22
. The CPU
11
can access each of the files
23
, via the bus
10
and the hard drive controller
20
, by identifying the file name. It is also possible to read out and write the data from and into each file by byte, as well as to execute ordinary file manipulation, such as file creation or deletion. Each file
23
consists of a message group file
58
for storing data as to the message groups, the details of which will be described below, and a scenario file
59
for storing data as to the scenarios.
In
FIG. 4
, the solid lines and the broken lines connected among the virtual terminal manager
30
, the scenario manager
31
, the scenario recording unit
32
, and the scenario verification unit
34
indicate the data flow. The data transferred along the solid lines are “messages”, which are communicated from the test object communication unit
1
via the network interface
19
. The data transferred along the broken lines are “control data”, which are communicated among the display
9
, the keyboard
7
, and the mouse
8
in order to control the virtual terminal manager
30
and the scenario manager
31
. The display
9
displays an operation panel (for example, a virtual terminal
29
) for operating the virtual terminal manager
30
and the scenario manager
31
. The operator can transmit control data for controlling the virtual terminal manager
30
and the scenario manager
31
to the bus
10
using the keyboard
7
and the mouse
8
, while referring to the operation panel displayed on the display
9
.
FIG. 6
shows the structure of the “message” communicated between the communication software
3
and the virtual terminal manager
30
. There are two major types of messages, an ordinary message and a verification message. FIG.
6
(
a
) shows the structure of the ordinary message
35
, and FIG.
6
(
b
) shows the structure of the verification message
39
.
The ordinary message
35
consists of a transmitter terminal ID
36
, a receiver terminal ID
37
, and a message ID
38
, as shown in FIG.
6
(
a
). If a scenario is recorded by the scenario recording unit
32
, the message
35
is recorded in the format of the verification message
39
. This will be explained below. A verification message
39
includes a transmitter terminal ID
40
, a receiver terminal ID
41
, a message ID
42
, a group ID
43
, and time
44
, as shown in FIG.
6
(
b
). Thus, the verification message
39
has a group ID
43
and time
44
, in addition to the contents of the ordinary data
35
.
FIGS. 7 through 9
show the structures of the scenario recording unit
32
, the scenario verification unit
34
, and the scenario executing unit
33
, respectively, which are all administrated by scenario manager
31
of the test execution software
28
.
As shown in
FIG. 7
, the scenario recording unit
32
has a message list
45
and a group list
46
. The message list
45
includes a plurality of verification messages
39
, which are arranged in chronological order. Therefore, the newest message
35
which was communicated most recently, is recorded in the form of a verification message
39
placed last in the list.
The group list
46
includes a plurality of group-list elements
47
, each group-list element consisting of a plurality of attached message elements
50
which are recorded in the corresponding attached message list
49
. Each group-list element
47
can store a group name or group ID. Similarly, each attached message element
50
can have a message name or message ID. These group-list elements
47
and the attached message elements
50
are arranged in chronological order. That is, the newest message
35
, which was communicated most recently, is added to the last of the group-list elements
47
and the attached message elements
50
.
FIG. 8
shows the structure of the scenario verification unit
34
. The scenario verification unit
34
has a terminal list
52
. The terminal list
52
includes a plurality of terminal-list elements
53
, each corresponding to one of the terminals. Each terminal-list element
53
includes a plurality of verification messages
39
which are managed by the message list
55
provided to each terminal-list element
53
. Each terminal-list element
53
can store the terminal ID. Both the terminal-list elements
53
and the verification messages
39
are arranged in chronological order, and the newest message
35
is added to the end of the message list, as a verification message
39
, for each terminal-list element
53
.
FIG. 9
shows the structure of the scenario executing unit
33
. The scenario executing unit
33
has a line task buffer
56
and a character string task buffer
57
. The line task buffer
56
can store a line of a message group of the message group file
58
, and the character string task buffer
57
can store a character string of the message group.
The structure of the test execution software
28
applicable to the automatic verification apparatus
100
for communication software according to the invention has been described above. The operations of the test execution software
28
will now be explained.
First, the message sequence is explained with reference to FIG.
10
. FIG.
10
(
a
) illustrates the detailed structure of the message
35
shown in FIG.
6
(
a
). The messages
35
E
1
,
35
O
1
,
35
E
1
, and
35
O
2
are transferred between the virtual terminal manager
30
and the communication software
3
via the network interface
5
of the test object communication unit
1
and the network interface
19
of the test execution unit
6
.
FIG. 10
(
b
) shows the message flow of these messages
35
E
1
,
35
O
1
,
35
E
1
, and
35
O
2
in time series. In this specification, the message flow depicted in time series, as in FIG.
10
(
b
), is called a “message sequence”.
FIG.
10
(
a
) shows four messages
35
E
1
,
35
O
1
,
35
E
2
, and
35
O
2
. The message flows of these four messages are depicted in chronological order, and the latest message flow between the communication software
3
and the virtual terminal manager
30
is positioned at the bottom of the sequence.
The first message
35
E
1
is transmitted from “Term
1
”, which is one of the virtual terminals
29
belonging to the virtual terminal manager
30
, to the communication software
3
, which is the receiving terminal indicated as “SYS” in FIG.
10
(
b
), via the network interfaces
19
and
5
. In this specification, the message transmitted from the virtual terminal manager
30
to the communication software
3
is called an “event”, and the notation “E
1
” denotes the first event.
The second message
35
O
1
is transmitted from the communication software
3
, which is the receiving terminal indicated as “SYS”, to “Term
1
”, which is one of the virtual terminals
29
belonging to the virtual terminal manager
30
, via the network interfaces
5
and
19
. In this specification, the message transmitted from the communication software
3
to the virtual terminal manager
30
is called an “order”, and the notation “O
1
” denotes the first order.
The third message
35
E
2
is a message for transmitting an event E
2
from “Term
2
”, which is one of the virtual terminals
29
belonging to the virtual terminal manager
30
, to the communication software
3
, which is the receiving terminal indicated as “SYS”, via the network interfaces
19
and
5
.
The fourth message
35
O
2
is a message for transmitting an order O
2
from the communication software
3
, which is the receiving terminal indicated as “SYS”, to “Term
2
”, which is one of the virtual terminals
29
belonging to the virtual terminal manager
30
, via the network interfaces
5
and
19
.
In FIG.
10
(
b
), the vertical lines are time axes, and the horizontal message flows are indicated as arrows. As is clear from the message sequence of FIG.
10
(
b
), event E
1
is transmitted as the message
35
E
1
from the virtual terminal Term
1
to the communication software
3
(“SYS”), then order O
1
is transmitted as the message
35
O
1
from the communication software
3
(“SYS”) to the virtual terminal Term
1
. Then, event E
2
is transmitted as the message
35
E
2
from the virtual terminal Term
2
to the communication software
3
(“SYS”), and finally, order O
2
is transmitted as the message
35
O
2
from the communication software
3
(“SYS”) to the virtual terminal Term
2
.
Next, each of the elements of the automatic verification unit for communication software according to an embodiment of the invention will be described in detail. The elements are essentially (1) a functional element for performing a pseudo-operation of a terminal connector, (2) a functional element for performing a pseudo-operation of a terminal, (3) a functional element for recording the pseudo-operation performed by the virtual terminal as a scenario, (4) a functional element for automatically executing the recorded pseudo-operation of the terminal, and (5) a functional element for automatically verifying if the automatic execution result is correct whenever the recorded pseudo-operation of the terminal is automatically executed.
The functional element for performing a pseudo-operation of a terminal connector is embodied as a virtual terminal manager
30
of the test execution software
28
. The functional element for performing a pseudo-operation of a terminal is embodied as a virtual terminal
29
. The functional element for recording the pseudo-operation of the virtual terminal is embodied as group data preparation procedure and scenario recording procedure executed by the scenario manager
31
and the scenario recording unit
32
. The functional elements (4) and (5) are simultaneously embodied as a verification preparation procedure and a message verification procedure executed by the scenario manager
31
, the scenario executing unit
33
, and the scenario verification unit
34
.
FIG.
11
(
a
) shows a message sequence recorded as a correct message sequence for performing a regression test, and FIG.
11
(
b
) shows the actual test result.
In FIG.
11
(
a
), the first message
35
E
1
is an event E
1
transmitted from “Term
1
”, which is one of the virtual terminals
29
belonging to the virtual terminal manager
30
, to the communication software
3
(“SYS,”) via the network interfaces
19
and
5
.
The second message
35
O
1
is an order O
1
transmitted from the communication software
3
(“SYS”) to “Term
1
”, which is one of the virtual terminals
29
belonging to the virtual terminal manager
30
, via the network interfaces
5
and
19
. The third message
35
O
2
is an order O
2
transmitted from the communication software
3
(“SYS”) to “Term
1
”, which is one of the virtual terminals
29
belonging to the virtual terminal manager
30
, via the network interfaces
5
and
19
.
The fourth message
35
O
3
is an order O
3
transmitted from the communication software
3
(“SYS”) to “Term
1
”, which is one of the virtual terminals
29
belonging to the virtual terminal manager
30
, via the network interfaces
5
and
19
.
The fifth message
35
E
2
is an event E
1
transmitted from “Term
2
”, which is one of the virtual terminals
29
belonging to the virtual terminal manager
30
, to the communication software
3
(“SYS”), via the network interfaces
19
and
5
.
The sixth message
35
O
4
is an order O
4
transmitted from the communication software
3
(“SYS”) to “Term
2
”, which is one of the virtual terminals
29
belonging to the virtual terminal manager
30
, via the network interfaces
5
and
19
.
FIG.
11
(
b
) shows the message sequence of the test result of the automatic verification. If the messages
35
E
1
and
35
E
2
are transmitted to the communication software
3
at the same timings as those of the scenarios recorded in the scenario file
59
, the order of the messages becomes the message sequence shown in FIG.
11
(
b
), and this result is determined to be a correct verification result. The reason for it will be explained below.
With the present invention, in order to obtain the determination that “the verification result is correct” from the message sequence shown in FIG.
11
(
b
), a certain scenario verification procedure must be followed. The prerequisites of the scenario verification procedure are as follows: (
a
) The transmission terminal ID and the receiving terminal ID are specified; (
b
) The message ID is specified; and (c) The group ID is specified. As has been described, “SYS” denotes the communication software
3
, and if a message is transmitted from a virtual terminal to the “SYS”, one or more messages are transmitted to the terminal from the “SYS”.
The scenario verification procedure comprises the following four procedures.
(1) Group data preparation procedure;
(2) Scenario recording procedure;
(3) Verification preparation procedure; and
(4) Message verification procedure.
It must be noted that when automatically verifying the execution result of the scenario, it cannot be verified only based on if the message sequence recorded in the scenario is the same as the message sequence resulting from the execution of the scenario. For example, if a plurality of terminals are involved in the automatic verification, the message sequence in the entire network may differ from the scenario even though the message sequence of the test result coincides with the scenario in each terminal. Furthermore, even with a single terminal, the resultant message sequence may differ from the scenario depending on the specification of the hardware and the operating system of the communication apparatus. Therefore, in this invention, the message group file shown in FIG.
12
(
a
) is used as the standard system specification.
As shown in FIG.
12
(
a
), in the message group file
58
, messages O
1
and O
2
belong to group GRP
1
, and message O
3
belongs to group GRP
2
. Since messages O
1
and O
2
belong to the same message group GRP
1
, the time order of these two messages cannot be inverted. However, the time order of one of these messages in GRP
1
and the message
35
O
3
belonging the different group GRP
2
may be inverted.
Next, the scenario verification procedure will be explained in more detail.
(1) Group Data Preparation Procedure
This procedure will be explained with reference to
FIGS. 12 and 13
. The group data preparation procedure is the process for recording the message group having the system specification shown in FIG.
12
(
a
) in the scenario recording unit
32
in a form of the group list
46
shown in FIG.
12
(
b
).
FIG. 13
is a flowchart of the group data preparation procedure. First, it is determined if the message group can be read out from the message group file
58
(S
101
). If the message group file
58
is readable, a line of message group is read out, and stored in the line task buffer
56
(S
102
). If the message group file
58
is not readable, the process terminates.
For example, if the message group
58
a
shown in FIG.
12
(
a
) is read out from the message group file
58
, the message group
58
a
has a group ID of GRP
1
, and two attached messages O
1
and O
2
. This message group
58
a
read out from the file
58
is stored in the line task buffer
56
(S
102
). Then, the first character string “GRP
1
” of this message group is taken out of the line task buffer
56
, and is stored in the character string task buffer
57
(S
103
). Then, the group-list element
47
shown in FIG.
12
(
b
) is created, in which the character string GRP
1
stored in the character string task buffer
57
is stored, and this newly created group-list element
47
is added to the group list
46
(S
104
).
Then, it is determined if the next character string can be extracted from the line task buffer
56
(S
105
). If no character string is extracted, it is regarded that the line of message group has been processed. Accordingly, the process returns to S
101
, and the next line of message group is extracted from the message group file
58
. The steps S
101
through S
104
are repeated until no message group is read out from the file
58
. If the next character string can be extracted in S
105
, the next character string is stored in the character string task buffer
57
(S
106
).
Then, an attached message element
50
(
FIG. 7
) is created in order to store the character string O
1
which was temporarily stored in the character string buffer
57
(FIG.
9
), and this attached message element
50
is added to the attached message list
49
of the corresponding group list element
47
(S
107
). The steps S
105
through S
107
are repeated until no character string can be extracted from the message group
58
a.
At this point of time, the process for the message group
58
a
is completed. The same process (S
101
through S
107
) is executed for all of the message groups contained in the message group file
58
.
When the group data preparation procedure is finished (i.e., when all the message groups have been processed), the data of the message group file
58
is categorized as the data of the group list
46
shown in FIG.
12
(
b
), and is recorded in the scenario recording unit
32
.
(2) Scenario Recording Procedure
In this procedure, the operation task of the virtual terminal is recorded as a scenario. FIG.
11
(
a
) shows the message sequence recorded as a correct message order for executing the test. The operation task of the virtual terminal can be recorded by operating the virtual terminal
29
displayed on the display
9
using the keyboard
7
and the mouse
8
, and communicating the message
35
with the communication software
3
through the virtual terminal manager
30
. The message
35
communicated between the communication software
3
and the virtual terminal manager
30
is monitored by the scenario manager
31
. If the virtual terminal
29
is activated, the scenario recording procedure starts, and the scenario is recorded in the scenario recording unit
32
.
This procedure will be explained in more detail with reference to
FIGS. 14 and 15
.
FIG. 15
is a flowchart of the scenario recording procedure. First, the timer
13
is initialized to 0 to start timing (S
201
). This procedure is continued until a recording stop command is generated. If, in S
202
, there is a recording stop command, the contents of the scenario recording unit
32
are stored in the scenario file (S
208
), and the process terminates.
If no recording stop command is generated in S
202
, a message communicated between the virtual terminal manager
30
and the communication software
3
is acquired (S
203
), and a verification message
39
is created based on the acquired message (S
204
). As shown in
FIG. 6
, the created verification message
39
contains a transmitter terminal ID
40
, a receiver terminal ID
41
, a message ID
42
, a group ID
43
, and a time
44
. In the actual procedure, the transmitter ID
36
, the receiver ID
37
, and the message ID
38
of the acquired message
35
are stored as the transmitter terminal ID
40
, the receiver terminal ID
41
, and the message ID
42
of the verification message
39
. In addition, the symbol “★” is stored as the group ID
43
, and the time indicated by the timer
13
is stored as time
44
.The reason why the symbol “★” is stored will be explained later.
Then, it is determined if the acquired message
35
is in the attached message elements
50
of the group list
46
(S
205
). If the acquired message is retrieved from the attached message elements
50
, the group ID
48
of the group list
47
, to which the retrieved message element
50
belongs, is stored as the group ID
43
of the created verification message
39
(S
206
). Thus, the previously stored symbol “★” is now replaced by the actual group ID which has been stored as the group ID
43
. If the retrieval is not successful, the symbol “★” remains in the group ID
43
of the verification message
39
. If the concrete group ID
43
is acquired after the retrieval, the created verification message
39
is added to the message list
45
(S
207
).
In the example shown in
FIG. 14
, the message ID “O
1
” is included in the attached message elements
50
of the group list
46
. Accordingly, the group ID GRP
1
of the group-list element
47
, to which the corresponding attached message elements
50
belong, is stored as the group ID of the created verification message
39
O
1
, instead of the symbol “★”. On the other hand, because the message ID E
2
of the message
35
E
2
is not included in the attached message elements
50
of the group list
46
, the group ID of the verification message
39
E
2
remains “★”.
The above-described procedure is repeated until a recording stop command is generated. Upon the generation of the recording stop command, the contents of the scenario recording unit
32
are stored in the scenario file
59
(S
208
), and the process terminates. The scenario file
59
is not referred to during the message verification procedure.
FIG. 14
illustrates the structure of the scenario recording unit
32
after the scenario recording procedure has been completed.
(3) Verification Preparation Procedure
The message preparation procedure is a process for grouping the verification messages
39
for each terminal, which is performed prior to the actual verification. This procedure will be explained with reference to
FIGS. 16 and 17
.
FIG. 17
is a flowchart of the verification preparation procedure. First, it is determined if a verification message
39
can be extracted from the message list
45
of the scenario recording unit
32
(S
301
). If YES, a verification message
39
is extracted, and steps S
302
through S
306
are executed for the extracted message. This step (S
301
) is repeated until no more verification messages
39
are extracted.
Each verification message
39
includes a transmission terminal ID
40
and a receiving terminal ID
41
, only one of which stores information “SYS” which represents the communication software
3
. Among these two terminal IDs, one which does not have “SYS” is extracted and stored in the character string task buffer
57
for each of the extracted verification messages
39
(S
302
). For example, in the verification message
39
E
1
, the receiving terminal ID
41
E
1
bears “SYS”, and therefore, the transmission terminal ID
40
E
1
(that is, “Term
1
”) is extracted and stored in the character string task buffer
57
.
Then, it is determined for the extracted verification messages
39
if the contents of the character string task buffer
57
are included in the terminal list elements
53
of the terminal message list
52
stored in the scenario verification unit
34
(S
303
). If a corresponding terminal list element is retrieved, the extracted verification message
39
is added to the terminal message list
55
of the retrieved terminal list element
53
(S
304
).
If a corresponding terminal list element is not retrieved in S
303
, a new terminal list element
53
is created, and the contents of the character string task buffer
57
are stored in the new element (S
305
). Then, this new terminal list element
53
is added to the terminal list
52
, and the extracted verification message
39
is added to the message list of the newly added terminal list element
53
(S
306
).
For example, in
FIG. 16
, the contents of the character string task buffer
57
for the verification message
39
E
2
is “Term
2
”, which is not included in the terminal list elements
53
of the terminal list
52
of the scenario verification unit
34
. Therefore, a new terminal list element
53
is created, in which the contents of the character string buffer
57
(i.e., “Term
2
”) are stored. Then, the new terminal list element
53
is added to the terminal list
52
, and the extracted verification message
39
E
2
is added to the message list
55
of the newly added terminal list element
53
.
The steps
301
through
306
are repeated until there is no verification message
39
left in the scenario recording unit
32
. The scenario verification unit
34
now has a structure shown in
FIG. 16
after the completion of the verification preparation procedure.
(4) Message Verification Procedure
Finally, the test result is actually verified through the message verification procedure, which will be explained with reference to FIG.
16
and
FIGS. 18 through 25
.
FIGS. 24 and 25
are flowcharts of the message verification procedure. In this procedure, a prescribed time for retrieving the verification message
39
is counted using a timer
13
. The time is counted by decrementing the timer value by one until the value becomes 0. The minimum timer value is 0, and therefore, the timer value remains at 0 once the timer is up. At the beginning of the message verification procedure, the timer
13
is initialized to 0 (S
401
).
A time for waiting the message is counted by a time-out counter
14
. In this embodiment, the time-out is set to 30 seconds. The time-out counter
14
is set to 0 if the process enters the message waiting state. If 30 seconds has passed, the time-out information is supplied to the CPU
11
which executes the message-verification procedure.
After the initialization of the timer, it is determined if there is a verification message
39
having a receiving terminal ID
41
with “SYS” in the message list
55
of the scenario verification unit
34
(S
402
). If such a verification message
39
is found, the value of time
44
contained in that message
39
is stored in the timer
13
, and the timer
13
starts counting (S
403
). In the example shown in
FIG. 16
, the verification message
39
E
1
has a receiving terminal ID bearing “SYS”, and therefore, the value “1” of the time
44
E
1
of this message is stored in the timer
13
. If no such messages are found in S
402
, the process proceeds to S
409
, in which it is determined if the number of the list elements of the terminal message list
52
is zero. If the number of the list elements is zero, it is regarded as a success of the verification, and the process terminates. If the number of the list elements is not zero, the process returns to S
404
.
In S
404
, it is determined if the value of the timer is zero. If the timer value is not 0, the process jumps to S
410
, which will be described below. If the timer value is 0, it is determined if there is a verification message
39
having a receiving terminal ID
41
with “SYS” in the message list
55
of the scenario verification unit
34
(S
405
).
If a verification message
39
having a receiving terminal ID
41
with “SYS” is found, this verification message
39
is taken out of the message list
55
, a message
35
is created based on this verification message
39
, and the created message
35
is transmitted to the communication software
3
(S
406
). At this point of time, the message
39
E
1
is removed from the terminal message list
52
of the scenario verification unit
34
, as shown in FIG.
18
. If no verification message having a receiving terminal ID
41
with “SYS” is found in S
405
, the process jumps to S
409
, the operation of which has been described above.
In S
407
, it is again determined if there is a verification message
39
having a receiving terminal ID
41
with “SYS” in the message list
55
of the scenario verification unit
34
. If such a message
39
is found, the value of the time
44
of the verification message extracted in S
406
is subtracted from the value of the time
44
of the verification message
39
newly found in S
407
, and the subtraction result is stored in the timer
13
(S
408
). Then, the process returns to S
404
, in which it is determined if the timer value is 0.
If the timer value is not 0 in S
404
, the process jumps to S
410
, in which a message
35
transmitted from the communication software
3
is waited. However, if the time-out counter
13
is up (that is, if 30 seconds has passed), it is regarded as a failure of the verification because the message-waiting time is over, and the process terminates (S
411
).
If a message
35
is transmitted from the communication software
30
within 30 seconds, then it is determined if the message ID
38
of the transmitted message
35
is included in the message list
55
(S
412
). This step is referred to as retrieval A. If no corresponding ID is retrieved from the message list
55
, the transmitted message is regarded as an unexpected message (i.e., a failure of the verification, and the process terminates).
Then, it is determined if there is another verification message
39
having the same group ID as the group ID
43
of the verification message retrieved in S
412
(retrieval A) among those elements listed in the message list
55
before the retrieved message
39
(S
413
). This step is referred to as retrieval B. If another verification message having the same group ID is found at the position before the retrieved message
39
, it is regarded as “an error in the message order in the group”, and therefore, as a failure of the verification. In this case, the process terminates.
If there is no other verification message
39
having the same group ID in S
413
(retrieval B), the verification message
39
retrieved in S
412
(retrieval A) is deleted from the message list
55
(S
414
). After the deletion, it is determined if the receiving terminal ID
41
of the next verification message
39
, which is now listed at the top of the list as a result of the deletion of the previous message
39
, is “SYS” (S
415
). If YES in this determination, the process returns to S
404
. If NO in the determination, the process returns to S
409
.
If no verification message
39
is left in the message list
55
, the message verification procedure is completed. FIG.
16
and
FIGS. 18 through 23
illustrate the states of the scenario verification unit
34
during the message verification procedure.
FIG. 18
shows the state immediately after the message
39
E
1
was transmitted to the communication software
3
.
FIG. 19
shows the state immediately after the message
39
O
3
was received by the scenario verification unit
34
.
FIG. 20
shows the state immediately after the message
39
O
1
was received by the scenario verification unit
34
.
FIG. 21
shows the state immediately after the message
39
E
2
was transmitted to the communication software
3
.
FIG. 22
shows the state immediately after the message
39
O
4
was received by the scenario verification unit
34
.
FIG. 23
shows the state immediately after the message
39
O
2
was received by the scenario verification unit
34
.
As has been described above, in the preferred embodiment, (1) the functional element for performing a pseudo-operation of a terminal connector is the virtual terminal manager
30
of the test execution software
28
, (2) the functional element for performing a pseudo-operation of a terminal is the virtual terminal
29
, and (3) the functional element for recording the pseudo-operation performed by the virtual terminal as a scenario is the group data preparation procedure and the scenario recording procedure executed by the scenario manager
31
and the scenario recording unit
32
. In addition, (4) the functional element for automatically executing the recorded pseudo-operation of the terminal, and (5) the functional element for automatically verifying if the automatic execution result is correct whenever the recorded pseudo-operation of the terminal is automatically executed, are simultaneously embodied by the verification preparation procedure and the message verification procedure executed by the scenario manager
31
, the scenario executing unit
33
, and the scenario verification unit
34
.
These functions can eliminate the necessity of manually operating each terminal for the regression test, which was required in the conventional art, and the work efficiency of the regression test can be improved.
In addition, the test result of the terminal operation can be automatically verified.
Although the present invention has been described based on the preferred embodiment, the invention is not limited to this embodiment. It is apparent for those skilled in the art that there are many changes and substitutions within the spirit and the scope of the invention, which are defined by the attached claims.
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
基于缺陷集合与倒排索引的测试用例优先排序方法 | 2020-05-14 | 428 |
一种上位多目标测试用例优先级排序方法 | 2020-05-25 | 487 |
回归测试的方法、装置、计算机设备和存储介质 | 2020-05-12 | 138 |
面向航天软件的在轨升级方法 | 2020-05-14 | 934 |
一种提高测试效率的测试方法 | 2020-05-19 | 407 |
一种确定需要回归测试的测试用例的方法和装置 | 2020-05-20 | 722 |
仿真环境下机器人回归测试方法及系统 | 2020-05-16 | 889 |
回归测试方法和装置 | 2020-05-21 | 666 |
软件更改影响域分析辅助方法 | 2020-05-08 | 977 |
一种互联互通CBTC系统的交叉测试方法及平台 | 2020-05-22 | 685 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。