Development support system and development support device
The development support system performs automated tests on corrected code before committing it to the source code management server, ensuring only defect-free code is stored, thereby simplifying version management and improving usability.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SONY INTERACTIVE ENTERTAINMENT LLC
- Filing Date
- 2024-11-06
- Publication Date
- 2026-05-19
AI Technical Summary
Existing program development support systems commit modified source code to version control servers even if automated tests fail, complicating version management.
A development support system that includes a source code management server, ticket management server, and test case management server, with a development support device that performs automated tests on corrected code before committing it to the source code management server, storing the code only if the tests pass.
Ensures that only defect-free source code is committed to the management server, simplifying version management and improving usability by notifying operators of test results.
Smart Images

Figure 2026082039000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a development support system and a development support device.
Background Art
[0002] Conventionally, there is known a program development support system including a version management server that manages source code and test cases in units of versions, a ticket management server that manages the contents related to work and defects in program creation as tickets (forms), and an automatic execution processing server that automatically executes work related to program creation such as building and testing of source code (see, for example, Patent Document 1).
[0003] In the program development support system described in Patent Document 1, the automatic execution processing change unit of the automatic execution processing server controls the execution order of the execution target information stored in the automatic execution queue according to the priority and the number of days until the due date. The execution target information is one process to be automatically executed, and includes information specifying the source code and test code to be automatically executed, or the actual states of these source code and test code. The automatic execution processing unit of the automatic execution processing server performs building of source code, testing with test cases, static analysis, and review. Then, the notification unit of the automatic execution processing server notifies the relevant persons of the execution results by the automatic execution processing unit. In the program development support system, when the status attribute of the work is "in work" such as when being modified, every time the modified source code is committed to the version management server, efficient automatic execution processing is executed. Also, when the status attribute of the work is "work completed", at the time when the source code is committed to the version management server, key automatic execution processing is executed.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
[0005] However, in the program development support system described in Patent Document 1, the above-mentioned automated execution process is executed when the modified source code is committed to the version control server. Thus, even if the tests in the automated execution process do not pass, the modified source code is committed to the version control server, which creates a problem in that version management on the version control server becomes complicated. Therefore, there has been a demand for a configuration that makes it easier to manage source code. [Means for solving the problem]
[0006] A development support system according to a first aspect of the present invention comprises: a source code management server having a management area for managing the source code of system software; a ticket management server for managing tickets describing the details of defects in the system software; a test case management server for managing a plurality of test cases relating to the system software; and a development support device having memory and a processor, which performs an automated test based on at least one of the plurality of test cases, wherein the processor includes: a ticket acquisition unit that acquires the ticket corresponding to the corrected code from the ticket management server when the corrected code, which has corrected a defect in the source code, is stored in a location other than the management area; a test case acquisition unit that acquires a target test case relating to the test of the corrected code from the plurality of test cases; an automated test execution unit that performs the automated test based on the target test case; a test result determination unit that determines whether the system software has passed the automated test performed by the automated test execution unit; and a corrected code storage unit that, if the test result determination unit determines that the automated test has not been passed, does not store the corrected code in the management area, and if it determines that the automated test has been passed, stores the corrected code in the management area.
[0007] A development support device according to a second aspect of the present invention includes memory and a processor, the processor comprising: a ticket acquisition unit that acquires a ticket corresponding to corrected code when corrected code, which has a defect corrected, is stored in a location other than the management area from among the source code constituting the system software; a test case acquisition unit that acquires target test cases related to testing the corrected code from among a plurality of test cases; an automated test execution unit that executes automated tests based on the target test cases; a test result determination unit that determines whether the system software has passed the automated tests executed by the automated test execution unit; and a corrected code storage unit that stores the corrected code in the management area when the test result determination unit determines that the automated tests have passed. [Brief explanation of the drawing]
[0008] [Figure 1] A block diagram showing the configuration of the development support system in the first embodiment. [Figure 2] A diagram showing an example of a ticket in the first embodiment. [Figure 3] A figure showing an example of a set of test cases in the first embodiment. [Figure 4] A block diagram showing the configuration of the development support device in the first embodiment. [Figure 5] A block diagram showing the functional configuration of the processor in the first embodiment. [Figure 6] A flowchart illustrating the automated test process in the first embodiment. [Figure 7] A block diagram showing the functional configuration of the processor of the development support device included in the development support system of the second embodiment. [Figure 8] A diagram showing the test case set provided by the development support system in the third embodiment. [Figure 9] A flowchart illustrating the test case acquisition process in the third embodiment. [Modes for carrying out the invention]
[0009] [First Embodiment] Hereinafter, a first embodiment of the present invention will be described with reference to the drawings. [Outline of the Development Support System] Figure 1 is a block diagram showing the configuration of the development support system 1 according to this embodiment. As shown in Figure 1, the development support system 1 according to this embodiment comprises a source code management server 2 that holds a source code management database DB1, a ticket management server 3 that holds a ticket management database DB2, a test case management server 4 that holds a test case management database DB3, and a development support device 5. The source code management server 2, the ticket management server 3, and the test case management server 4 are connected to the development support device 5 via a network N so as to be able to communicate with it. The network N may be a LAN such as an in-house LAN (Local Area Network), or it may be a public information and communication network such as the Internet.
[0010] In the development support system 1, when applying corrected source code, which is source code with a bug fixed, to the source code management server 2 that manages the source code, the development support device 5 automatically performs tests on test cases related to the bug indicated by the ticket describing the bug. If the automated tests are successful, the development support device 5 saves the corrected code to the source code management database DB1. On the other hand, if the automated tests fail, the development support device 5 rejects saving the corrected code to the source code management database DB1 and notifies the operator of the development support device 5 or the developer that further modifications to the source code are necessary. The following details each component of Development Support System 1.
[0011] [Source code management server configuration] Source code management server 2 holds the source code management database DB1 and the application folder 21. The source code management database DB1 is a management area for source code that manages the source code of the system software to be tested. In the source code management database DB1, for example, source code that has passed at least one of the automated test and the manual test is stored. More specifically, releaseable source code is stored in the source code management database DB1.
[0012] The application folder 21 is a folder for applying to store the corrected code, which is the source code with the defects input in the ticket TK described later, in the source code management database DB1. That is, the corrected code stored in the application folder 21 is the source code for which storage in the source code management database DB1 has been applied. The corrected code is the target code to be subject to the automated test by the development support device 5 and is stored in the application folder 21 as a file in a predetermined format. Thus, the application folder 21 is a location outside the management area. In the present embodiment, the application folder 21 is provided in the source code management server 2, but is not limited thereto, and may be provided in, for example, another server having a development environment, or may be provided in the development support device 5.
[0013] [Configuration of Ticket Management Server] FIG. 2 is a diagram showing an example of a ticket TK used in the development support system 1. The ticket management server 3 holds a ticket management database DB2. The ticket management database DB2 is a management area for tickets that manages tickets describing defects occurring in the system software to be tested. For example, the ticket management database DB2 manages a ticket TK shown as an example in FIG. 2. As described above, the ticket management server 3 is communicably connected to the development support device 5 via the network N. Therefore, the development support device 5 can refer to the ticket TK managed by the ticket management database DB2 by accessing the ticket management server 3.
[0014] [Ticket Configuration] Here, the ticket TK will be described. In the development support system 1, for example, the ticket TK shown as an example in FIG. 2 is used. The ticket TK is issued when a defect is found in the manual or automated testing of the system software, and information about the defect is described therein. The ticket TK includes a title column T01, a content column T02, a status column T03, a severity column T04, a test case column T05, a reporter column T06, a reporting date column T07, a developer in charge column T08, an update date column T09, a history column T10, and a comment column T11.
[0015] The title column T01 is where the summary of the defect is input and displayed. The content column T02 is where the content of the defect is input and displayed. The content column T02 includes, for example, a version column T021, a device column T022, a reproduction procedure column T023, an expected value column T024, a behavior column T025, and an occurrence frequency column T026.
[0016] The version column T021 is where the version of the system software in which the defect occurred is input and displayed. The device column T022 is where information for identifying the device on which the test in which the defect occurred was performed is input and displayed. In the example of FIG. 2, the device column T022 contains the number assigned to the device. The reproduction procedure column T023 is where the procedure for reproducing the occurred defect is input and displayed. The expected value column T024 is where the expected value when the reproduction procedure input in the reproduction procedure column T023 is performed is input and displayed. That is, the expected value column T024 is where the normal result when the reproduction procedure is performed is input and displayed. The behavior column T025 is where the actual behavior when the reproduction procedure entered in the reproduction procedure column T023 is performed is input and displayed. That is, the behavior column T025 is where the content of the defect when the above reproduction procedure is performed is input and displayed. The frequency column T026 is where you input and display the frequency of the malfunction occurring when the above reproduction procedure is performed. In the example in Figure 2, the frequency is shown as a fraction with the number of times the reproduction procedure was performed as the denominator and the number of malfunctions that occurred as the numerator. However, the frequency is not limited to this, and may also be shown as a percentage.
[0017] The status field T03 is where the status of the issue indicated by ticket TK is entered and displayed. In the ticket TK shown in Figure 2, the status field T03 is filled with "In Progress". "In Progress" indicates that the fix for the issue indicated by ticket TK is being addressed. "Not Started" indicates that the fix for the issue has not yet been started, and "Completed" indicates that the fix for the issue has been completed. The severity field T04 is where you input and display the severity level of the bug indicated by ticket TK. The severity level of the bug is represented by, for example, "Major," "Medium," and "Minor." A severity level of "Major" indicates that the bug is serious and the function cannot be used unless it is fixed. A severity level of "Medium" indicates that it is inconvenient unless it is fixed. A severity level of "Minor" indicates that it is a minor bug.
[0018] The test case field T05 is where you enter and display the test case ID related to the defect indicated by ticket TK. The reporter field T06 is where you enter and display the name of the reporter who is reporting the problem. The report date field T07 is where you enter and display the date on which you are reporting the problem. The "Developer" field (T08) is where you enter and display the name of the person who created the source code causing the bug. The update date field T09 is where you enter and display the date the contents of ticket TK were updated. The history field T10 is where you enter and display the history of the problem indicated by ticket TK. The comment field T11 is similar to the remarks field and is where comments related to the bug indicated by ticket TK are entered and displayed. For example, as shown in Figure 2, the comment field T11 can be used to enter comments regarding the status of the bug's resolution, as well as the bug's fix status.
[0019] [Test Case Management Server Configuration] Figure 3 shows an example of a test case group TG. The test case management server 4 shown in Figure 1 holds the test case management database DB3. The test case management database DB3 manages test case sets, including test cases for the system software being tested. For example, the test case management database DB3 manages the test case set TG, which is shown as an example in Figure 3.
[0020] [Structure of the test case group] Here, we will explain the test case group TG, which includes multiple test cases TC. The test case group TG shown in Figure 3 is an example of a collection of test cases TC that describe the content of the tests for the system software under test. In other words, as shown in Figure 3, the test case group TG is a table in which at least one test case TC is described on a row-by-row basis. The test case group TG includes a test ID field TG1, a procedure field TG2, an expected value field TG3, a category field TG4, and an automated test execution time field TG5. That is, one test case TC includes a test ID, procedure, expected value, category, and automated test execution time. The test case group TG may further include input fields where test results are entered.
[0021] The Test ID field TG1 is set to the Test Case ID that identifies Test Case TC. The procedure field TG2 is where the test procedure is set. The expected value is set in the Expected Value column TG3. The expected value is the correct test result when the test is performed according to the procedure described in the Procedure column TG2 of the same test case TC. In other words, the expected value is determined by the specifications of the system software under test and is the test result when the test is performed according to that procedure.
[0022] The TG4 category field contains the test category for the test case. Specifically, the TG4 category field contains the test category for the screen being tested and the test content. For example, test case TC1, with test case ID "1", is a test case about accessing screen X using application A. Therefore, in the category field TG4 of test case TC1, the test category is set to "screen X", which is the screen being tested, and "screen transition", which is the test content. For example, test case TC5, with test case ID "5", is a test case concerning the screen layout when the wired LAN cable is unplugged while accessing screen Y. Therefore, in the category column TG4 of test case TC5, the test categories are set as "screen Y", which is the screen to be tested, and "screen transition", "layout", and "error", which are the test contents. The automated test execution time field TG5 is set to the time required to run the automated test based on test case TC, i.e., the automated test execution time. Note that for test case TC where automated testing is not possible, the automated test execution time field TG5 will be set to "Automation not possible".
[0023] [Configuration of the development support system] The development support device 5 retrieves tickets TK associated with the modified code stored in the application folder 21 of the source code management server 2 from the ticket management server 3, retrieves test case TC corresponding to the test case ID written in the retrieved ticket TK as a required test case from the test case management server 4, and executes automated tests based on the required test cases. Then, the development support device 5 stores the modified code that passed the automated tests in the source code management database DB1. In addition, the development support device 5 acquires test cases TC from the test case management server 4 that are related to the required test cases and can be executed within the input test period, and executes automated tests based on the acquired related test cases. More specifically, the development support device 5 acquires test cases TC that include at least one test segment of the required test cases and can be completed within the input test period, and executes automated tests based on the related test cases. The development support device 5 then notifies an external party of the results of the automated tests.
[0024] Figure 4 is a block diagram showing the configuration of the development support device 5. As shown in Figure 4, the development support device 5 has an input unit 51, an output unit 52, a communication unit 53, and a control unit 54. The input unit 51, output unit 52, communication unit 53, and control unit 54 are connected to each other via a bus line BL so that they can communicate with one another. The input unit 51 receives input operations from the operator of the development support device 5 and outputs an operation signal to the control unit 54 corresponding to the operator's input operations. In other words, the input unit 51 constitutes a period specification operation unit that receives operations to specify the test period, which will be described later. The input unit 51 can be made up of input devices such as a keyboard and a pointing device. Pointing devices include, for example, a mouse and a touch panel. The output unit 52 outputs the processing results from the control unit 54. Examples of the output unit 52 include a display device and a printer. The communication unit 53 communicates with external devices such as servers 2-4 via the network N under the control of the control unit 54.
[0025] The control unit 54 controls the development support device 5. For example, the control unit 54 executes predetermined processing in response to operation signals input from the input unit 51 and outputs the result of the processing to the output unit 52. The control unit 54 includes a memory 55 and a processor 6. The memory 55 includes the work memory of the processor 6 and a storage device for storing programs and data necessary for the operation of the development support device 5. The work memory temporarily stores at least a portion of the program read from the storage device. The work memory also temporarily stores tickets TK obtained from the ticket management server 3 via the communication unit 53, and test cases TC obtained from the test case management server 4. The memory device stores the OS (Operating System) and an automated test program that causes the processor 6 to execute the automated test process described later. In other words, the memory 55, which has a memory device, is a recording medium that stores the automated test program.
[0026] Figure 5 is a block diagram showing the functional configuration of the processor 6. The processor 6 executes the OS stored in the memory 55 to control the development support device 5. Furthermore, the processor 6 executes the automated test program stored in the memory 55 to perform the automated test processing described later. Note that the development support device 5 only needs to have at least one processor 6, and the number of processors 6 in the development support device 5 can be changed as appropriate. As shown in Figure 5, the processor 6 includes a test period acquisition unit 61, a ticket acquisition unit 62, a test case acquisition unit 63, an automated test execution unit 64, a test result determination unit 65, a source code storage unit 66, and a result notification unit 67, all of which function by executing an automated test program.
[0027] The test period acquisition unit 61 acquires the test period entered using the input unit 51. The test period is the period during which automated tests related to the target source code are performed. The ticket acquisition unit 62 acquires a ticket TK from the ticket management server 3 that describes a defect that can be resolved by the corrected code stored in the application folder 21 of the source code management server 2. Information indicating the association between the corrected code and the ticket TK in which the defect that can be resolved by the corrected code is entered may also be stored in the application folder 21 together with the corrected code. In this case, for example, the ID of the ticket TK corresponding to the corrected code may be stored in the application folder 21 together with the corrected code. Alternatively, a copy of the ticket TK may be stored in the application folder 21 together with the corrected code. In this case, the ticket acquisition unit 62 may acquire a copy of the ticket TK stored in the application folder 21.
[0028] The test case acquisition unit 63 acquires the test case ID entered in the test case field T05 of the acquired ticket TK, and acquires the test case TC corresponding to the acquired test case ID from the test case management server 4 as a required test case. If the ticket acquisition unit 62 acquires the ticket TK shown in Figure 2, the test case acquisition unit 63 acquires test case TC3 with test case ID "3" as a required test case. Note that the number of test case TCs acquired as required test cases may be two or more. Furthermore, the test case acquisition unit 63 extracts test case TCs containing the same test category as those included in the acquired test case TC from the test case group TG stored in the test case management server 4. Then, based on the automated test execution time included in the extracted test case TCs, the test case acquisition unit 63 acquires the test case TCs that will be completed within the test period as related test cases. Note that a test case TC that will be completed within the test period refers to a test case TC that, if automated tests based on each acquired test case TC were performed consecutively, could all be completed within the test period. Then, the test case acquisition unit 63 sets the acquired required test cases and related test cases as the test cases to be executed.
[0029] The automated test execution unit 64 executes automated tests based on the test cases TC acquired by the test case acquisition unit 63. In other words, the automated test execution unit 64 executes automated tests based on the test cases TC to be executed, as set by the test case acquisition unit 63. In this process, the automated test execution unit 64 constructs a test environment for the system software under test, including the modified code stored in the application folder 21. Specifically, the automated test execution unit 64 first incorporates the modified code into the system software under test and builds it to generate the system software for the test environment. Then, the automated test execution unit 64 installs the generated system software into the development environment device and uses that device to execute the automated test based on the test case TC mentioned above. The development environment device may be the development support device 5, or another device such as a PC (Personal Computer) that can be remotely controlled by the development support device 5. After this, the automated test execution unit 64 obtains the results of the automated test.
[0030] The test result determination unit 65 determines the results of the automated test performed by the automated test execution unit 64. Specifically, the test result determination unit 65 determines whether the system software under test has passed the automated test based on the test case TC. The test result determination unit 65 may also determine that the system software has passed the automated test if the automated test based on all of the target test cases TC yields the same result as the expected value. Furthermore, the test result determination unit 65 may also determine that the system software has passed the automated test if the automated test based on the required test cases yields the same result as the expected value.
[0031] The source code storage unit 66 stores the corrected code in the source code management database DB1, which is the management area, when the test result determination unit 65 determines that the system software has passed the automated test. The result notification unit 67 notifies the results of the automated test performed by the test result determination unit 65. For example, the result notification unit 67 notifies the test implementer and development personnel entered in the acquired ticket TK of the results of the automated test performed by the test result determination unit 65. If the corrected code is stored in the source code management database DB1 by the source code storage unit 66, the result notification unit 67 may notify the system that the corrected code has been stored in the source code management database DB1, along with the results of the automated test. Such notifications by the result notification unit 67 may be made by email.
[0032] [Automated test processing] Figure 5 is a flowchart showing the automated test process performed by the processor 6 described above. As described above, if the corrected code is saved in the application folder 21, the processor 6 reads the automated test program stored in memory 55 and executes the automated test process shown below. In the automated test process, as shown in Figure 5, first, the test period acquisition unit 61 acquires the test period entered by the operator of the development support device 5 (step S1). Step S1 may be omitted; that is, the test period does not need to be entered. Next, the ticket acquisition unit 62 obtains the ticket TK associated with the corrected code from the ticket management server 3 (step S2). Subsequently, the test case acquisition unit 63 acquires test case TCs from the test case management server 4 that correspond to the test case ID entered in ticket TK, and also acquires test case TCs from the test case management server 4 that contain the same test category as the acquired test case TC (step S3). In other words, the test case acquisition unit 63 acquires mandatory test cases and related test cases as target test cases. Furthermore, as described above, if a test period is set, the test case acquisition unit 63 acquires related test cases that can all be completed within the test period.
[0033] Then, the automated test execution unit 64 builds a test environment for the system software under test and executes automated tests based on the test case TC to be performed, which was acquired in step S3 (step S4). Next, the test result determination unit 65 determines the results of the automated test performed by the automated test execution unit 64 (step S5). That is, the test result determination unit 65 determines whether or not the system software in the test environment passed the automated test. If, in step S5, it is determined that the system software has not passed the automated test (step S5: NO), the processor 6 proceeds to step S7. If, in step S5, the system software is determined to have passed the automated test (step S5: YES), the source code storage unit 66 saves the modified code to the source code management database DB1 (step S6). Then, the processor 6 proceeds to step S7. In step S7, the result notification unit 67 notifies the user of the results of the automated test and whether or not the corrected code has been saved (step S7). The automated test process is now complete.
[0034] [Effects of the First Embodiment] The development support system 1 according to this embodiment, as described above, provides the following effects. The development support system 1 comprises a source code management server 2, a ticket management server 3, a test case management server 4, and a development support device 5. Source code management server 2 manages the source code of the system software. Ticket management server 3 manages tickets (TK) that describe the details of system software malfunctions. The test case management server 4 manages multiple test cases TC related to the system software. The development support device 5 has a memory 55 and a processor 6.
[0035] The processor 6 includes a ticket acquisition unit 62, a test case acquisition unit 63, an automated test execution unit 64, a test result determination unit 65, and a source code storage unit 66. The ticket acquisition unit 62 retrieves a ticket TK corresponding to the corrected code from the ticket management server 3 when the corrected code containing the bug is saved in a location other than the source code management database DB1, which is the management area. The location other than the source code management database DB1 is the application folder 21 mentioned above. The test case acquisition unit 63 acquires the target test cases related to the testing of the corrected code from among multiple test cases TC. The automated test execution unit 64 executes automated tests based on the target test cases. The test result determination unit 65 determines whether the system software passed the automated test performed by the automated test execution unit 64. If the test result determination unit 65 determines that the system software has not passed the automated test, the source code storage unit 66 does not save the corrected code to the source code management database DB1. If the test result determination unit 65 determines that the system software has passed the automated test, the source code storage unit 66 saves the corrected code to the source code management database DB1.
[0036] With this configuration, source code that passes the automated tests performed by the automated test execution unit 64 is stored in the source code management database DB1. This prevents source code that may contain defects from being stored in the source code management database DB1. Therefore, it becomes easier to manage the system software in the source code management database DB1.
[0037] In the development support system 1, the processor 6 includes a result notification unit 67 that notifies the result of the test result determination unit 65. With this configuration, the operator or developer of the development support device 5 can be notified whether or not the modified code has passed the automated test, thereby improving the usability of the development support system 1.
[0038] In the development support system 1, each of the multiple test cases TC contains at least one test category, which is a classification of test content. The test case acquisition unit 63 acquires, from among the multiple test cases TC, the required test case TC which corresponds to the test case ID included in the ticket TK acquired by the ticket acquisition unit 62, and the related test case which corresponds to the test category included in the required test case, as target test cases. With this configuration, essential test cases that can determine whether or not a defect has been resolved, and related test cases that include the same test category as the essential test case, are acquired as target test cases for automated testing. This allows not only for the resolution of the defect, but also for confirmation of whether or not a similar defect exists in the source code of the current system software. Therefore, it is possible to detect defects at an early stage.
[0039] In the development support system 1, each of the multiple test cases TC has an automated test execution time set. The test case acquisition unit 63 acquires test cases from the multiple test cases TC that can be completed within a predetermined period, based on the automated test execution time. With this configuration, the test case acquisition unit 63 can acquire test cases TC that can be completed within the predetermined period. Therefore, the automated test can be completed within the test period.
[0040] In the development support system 1, the development support device 5 has an input unit 51 that accepts a period specification operation to specify a predetermined test period. The input unit 51 corresponds to the period specification operation unit. The test case acquisition unit 63 acquires test cases that can all be completed within the test period. With this configuration, for example, the operator of the development support device 5 can specify a test period, and the test case acquisition unit 63 acquires test cases TC that can be completed within that test period, so that the automated test can be completed within the specified test period. Therefore, the convenience of the development support system 1 can be improved.
[0041] [Second Embodiment] Next, a second embodiment of the present invention will be described. The development support system according to this embodiment has the same configuration as the development support system 1 according to the first embodiment, but differs in that the operator of the development support device can select the test category used when acquiring related test cases by the test case acquisition unit 63. In other words, the development support device according to this embodiment differs from the development support device 5 according to the first embodiment in that it has a category selection unit that selects a test category according to the operator's input. In the following description, parts that are the same or substantially the same as parts already described will be denoted by the same reference numerals and their description will be omitted.
[0042] Figure 7 is a block diagram showing the functional configuration of the processor 6A of the development support device 5A included in the development support system according to this embodiment. The development support system according to this embodiment has the same configuration and functions as the development support system 1 according to the first embodiment, except that it includes a development support device 5A shown in Figure 7 instead of the development support device 5 according to the first embodiment. That is, the development support system according to this embodiment includes a source code management server 2, a ticket management server 3, a test case management server 4, and a development support device 5A. The development support device 5A has the same configuration and functions as the development support device 5, except that it is equipped with a processor 6A instead of processor 6. Specifically, the development support device 5A has an input unit 51, an output unit 52, a communication unit 53, and a control unit 54, and the control unit 54 is equipped with a memory 55 and a processor 6A.
[0043] Processor 6A, like processor 6, executes the OS stored in the memory 55 and controls the development support device 5A. Processor 6A executes the automated test program stored in the memory 55 and performs the automated test processing described later. Note that at least one processor 6A is required in the development support device 5A, and the number of processors 6A in the development support device 5A can be changed as appropriate. Processor 6A has the same configuration and functions as processor 6, except that it further includes a category selection unit 68. Specifically, processor 6A has a test period acquisition unit 61, a ticket acquisition unit 62, a test case acquisition unit 63, an automated test execution unit 64, a test result determination unit 65, a source code storage unit 66, and a result notification unit 67, as well as a category selection unit 68.
[0044] The category selection unit 68 outputs the test categories included in the required test cases acquired by the test case acquisition unit 63 via the output unit 52, allowing the operator of the development support device 5A to select a test category. Then, in response to the operator's input to the input unit 51, which functions as a category designation operation unit, the category selection unit 68 selects a test category. The test case acquisition unit 63 then acquires the test cases containing the test categories selected by the category selection unit 68 as related test cases.
[0045] [Effects of the second embodiment] The development support system according to this embodiment, as described above, has the same effects as the development support system 1 according to the first embodiment, and also has the following effects. In the development support system according to this embodiment, the development support device 5A includes an input unit 51 that receives a test category specification operation. The input unit 51 constitutes a test category specification operation unit. The processor 6A has a test category selection unit 68 that selects a test category according to the test category specification operation. The test case acquisition unit 63 acquires a test case TC that includes the test category selected by the test category selection unit 68. With this configuration, for example, the operator of the development support device 5A can select the test category of the test case TC acquired as a related test case for executing the automated test. Therefore, for example, when the test period is short, the operator can select and execute the test category of the necessary automated test.
[0046] [Third Embodiment] Next, a third embodiment of the present invention will be described. The development support system according to this embodiment has the same configuration as the development support system 1 according to the first embodiment, but the function of the test case acquisition unit 63 is different. Specifically, the test case acquisition unit 63 according to this embodiment differs from the test case acquisition unit 63 according to the first embodiment in that, when acquiring related test cases that can be completed within the test period, it prioritizes acquiring test cases TC of high-priority test categories as related test cases. In the following description, parts that are the same or substantially the same as parts already described will be denoted by the same reference numerals and their description will be omitted.
[0047] Figure 8 shows the test case group TGA according to this embodiment. The development support system according to this embodiment has the same configuration and functions as the development support system 1 according to the first embodiment. That is, the development support system according to this embodiment includes a source code management server 2, a ticket management server 3, a test case management server 4, and a development support device 5. Of these, the test case management database DB3 of the test case management server 4 stores the test case group TGA, which is shown as an example in Figure 8.
[0048] The test case group TGA is a collection of multiple test case TCAs. Similar to the test case group TG in the first embodiment, the test case group TGA includes a test ID column TG1, a procedure column TG2, an expected value column TG3, a classification column TG4, and an automated test execution time column TG5. The contents of the multiple test case TCAs included in the test case group TGA, shown as an example in Figure 8, are the same as the contents of the multiple test case TCs included in the test case group TG, shown as an example in Figure 3, except for the contents of the classification column TG4. In other words, the contents of the test classifications differ between the multiple test case TCAs and the multiple test case TCs.
[0049] In the TG4 column of the test case group TGA, the test categories for each of the multiple test cases TCA are entered, and the priority of the test categories is entered in parentheses. For example, test case TCA3, with test case ID "3", has the following test categories: "Screen X", "Screen Transition", and "Layout". Furthermore, "Screen X" is assigned the highest priority "Priority 1", "Layout" is assigned "Priority 2", and "Screen Transition" is assigned the lowest priority "Priority 3". Such priorities can be set according to the test content of test case TCA, and may also be input or selected by the operator. Moreover, the relationship between test categories and priorities may be set in a table maintained by, for example, the test case management server 4 or the development support device 5.
[0050] Figure 9 is a flowchart showing the test case acquisition process by the test case acquisition unit 63. The test case acquisition unit 63 of the processor 6 in the development support device 5 executes the test case acquisition process shown in Figure 9 to acquire the test case TCA to be executed from the test case management server 4. The test case acquisition process is executed in step S3 of the above-mentioned automated test process. In the test case acquisition process, first, the test case acquisition unit 63 acquires the test case TCA corresponding to the test case ID included in the ticket TK acquired by the ticket acquisition unit 62 as a required test case (step SA1). Next, the test case acquisition unit 63 acquires the test category with the highest priority from the required test cases (step SA2). For example, if the above-mentioned test case TCA3 is acquired as a required test case, then "Screen X" with "Priority 1" is acquired. Next, the test case acquisition unit 63 acquires the test case TCA corresponding to the acquired test category from the test case management server 4 as an associated test case (step SA3). Then, the test case acquisition unit 63 calculates the total time of the automated test execution time for the required test cases and the automated test execution time for the related test cases acquired in step SA3 (step SA4).
[0051] Next, the test case acquisition unit 63 determines whether the total time calculated in step SA4 falls within the test period acquired by the test period acquisition unit 61 (step SA5). In the determination process of step SA5, if it is determined that the total time falls within the test period (step SA5: YES), the test case acquisition unit 63 determines whether the currently acquired test category is the last test category (step SA6). In other words, in step SA6, the test case acquisition unit 63 determines whether the currently acquired test category is the lowest priority test category among the test categories included in the required test cases.
[0052] In the determination process of step SA6, if it is determined that it is not the last test category (step SA6: NO), the test case acquisition unit 63 acquires the next priority test category (step SA7). That is, the test case acquisition unit 63 acquires a test category with a priority one lower than the current test category. Then, the test case acquisition unit 63 returns to step SA3. As a result, in step SA5, the test case acquisition unit 63 acquires test case TCAs corresponding to the test categories included in the required test cases until the total time exceeds the test period.
[0053] On the other hand, if the determination process in step SA5 determines that the total time is not within the test period, the test case acquisition unit 63 omits a portion of the test case TCA corresponding to the current test category and adjusts the total time of the automated test execution time of the required test cases and the automated test execution time of related test cases so that it falls within the test period (step SA8). In other words, in step SA8, the test case acquisition unit 63 omits a portion of the test case TCA acquired in the preceding step SA3. As a result, test case TCAs that can complete the automated tests within the test period are acquired. After this, the test case acquisition unit 63 moves the process to step SA9. Furthermore, if the determination process in step SA6 determines that the acquired test category is the last test category (step SA6: YES), the test case acquisition unit 63 proceeds to step SA9.
[0054] In step SA9, the test case acquisition unit 63 sets the required test cases acquired in step SA1 and the related test cases acquired in step SA3 as test cases to be executed by the automated test execution unit 64 (step SA9). As a result, the test case acquisition unit 63 terminates the test case acquisition process.
[0055] [Effects of the third embodiment] The development support system according to this embodiment, as described above, provides the same effects as the development support system 1 according to the first embodiment, as well as the following effects. In the development support system according to this embodiment, priority levels are set for the test categories. The test case acquisition unit 63 prioritizes acquiring test case TCAs that include test categories with high priority from among multiple test case TCAs. With this configuration, automated tests based on test case TCAs that include high-priority test categories can be executed preferentially. Therefore, even if the test period is short, for example, necessary automated tests can be executed preferentially.
[0056] [Variations of the Embodiment] The present invention is not limited to the embodiments described above, and any modifications and improvements that can achieve the objectives of the present invention are included within the scope of the present invention. In each of the above embodiments, the processors 6 and 6A of the development support devices 5 and 5A execute the automated test process described above when corrected code is saved in the application folder 21 of the source code management server 2. However, the source code saved in the application folder 21 does not have to be corrected code that fixes a bug. For example, when adding a new function or screen to the system software, it may be source code related to that function or screen.
[0057] In each of the above embodiments, the source code management server 2, ticket management server 3, test case management server 4, and development support device 5 are assumed to be composed of different devices. However, this is not limited to this configuration, and at least one of the source code management server 2, ticket management server 3, test case management server 4, and development support device 5 may be integrated with other servers or devices. For example, the source code management server 2, ticket management server 3, and test case management server 4 may be composed of a single server.
[0058] In each of the embodiments described above, the source code management server 2 holds a source code management database DB1 for managing source code, the ticket management server 3 holds a ticket management database DB2 for managing tickets TK, and the test case management server 4 holds a test case management database DB3 for managing test cases TC. However, this is not limited to this configuration, and at least one of servers 2 to 4 does not need to manage its managed items using a database. For example, test cases TC may be managed by a spreadsheet software file, and tickets TK may be managed by a report file.
[0059] In each of the above embodiments, the processors 6 and 6A are assumed to have a result notification unit 67 that notifies the results of the automated test. However, the result notification unit 67 is not required. Furthermore, the notification by the result notification unit 67 may be made by means other than email. Moreover, the recipients of the notification by the result notification unit 67 are not limited to the operators and developers of the development support devices 5 and 5A, but may be the source code manager or the test manager.
[0060] In each of the embodiments described above, the test case acquisition unit 63 acquires not only essential test cases but also related test cases, and uses both the essential test cases and related test cases as the test cases to be performed by the automated test. However, the test case acquisition unit 63 is not limited to this, and may acquire only essential test cases and use the acquired essential test cases as the test cases to be performed by the automated test.
[0061] In each of the embodiments described above, the test cases TC and TCA include the automated test execution time, which is the time required to complete the automated test when the automated test based on the test cases TC and TCA is executed. However, the automated test execution time is not limited to this and does not have to be included in the test cases TC and TCA.
[0062] In each of the embodiments described above, the test case acquisition unit 63 acquires test cases that can be completed within the test period acquired in response to a period specification operation on the input unit 51, which functions as a period specification operation unit. However, the invention is not limited to this, and the test period does not necessarily have to be input as described above. For example, if the test period is not acquired, the test case acquisition unit 63 may acquire all test cases that include at least one test category from the test categories included in the required test cases as related test cases.
[0063] [Summary of the present invention] A summary of the present invention is provided below. [1] A source code management server having a management area for managing the source code of system software, A ticket management server that manages tickets describing the details of the system software malfunction, A test case management server that manages multiple test cases related to the aforementioned system software, A development support device comprising memory and a processor, The aforementioned processor, When the corrected code containing the fix for the bug is saved in a location other than the management area, the ticket acquisition unit retrieves the ticket corresponding to the corrected code from the ticket management server. A test case acquisition unit acquires the target test case related to testing the corrected code from among the multiple test cases mentioned above, An automated test execution unit that performs automated tests based on the aforementioned target test cases, A test result determination unit that determines whether the system software passed the automated test performed by the automated test execution unit, The system includes a source code storage unit that, if the test result determination unit determines that the automated test has not been passed, does not save the corrected code to the management area, and if the test result determination unit determines that the automated test has been passed, saves the corrected code to the management area. A development support system characterized by the following features.
[0064] With this configuration, source code that passes automated tests performed by the automated test execution unit is saved in the management area, thus preventing potentially defective source code from being saved in the management area. Consequently, it becomes easier to manage system software in the management area.
[0065] In the development support system described in [2][1], The processor includes a result notification unit that notifies the determination result of the test result determination unit. A development support system characterized by the following features. With this configuration, the operator of the development support device is notified whether or not the modified code has passed the automated test, thereby improving the convenience of the development support system.
[0066] In the development support system described in [3][1] or [2], Each of the aforementioned test cases includes at least one test category, which is a category of test content. The test case acquisition unit acquires, from among the plurality of test cases, a required test case which corresponds to the test case ID included in the ticket acquired by the ticket acquisition unit, and a related test case which corresponds to the test category included in the required test case, as the target test cases. A development support system characterized by the following features. With this configuration, essential test cases that can determine whether or not a defect has been resolved, and related test cases that include the same test category as the essential test case, are acquired as target test cases for automated testing. This allows not only for the resolution of the defect, but also for confirmation of whether or not a similar defect exists in the source code of the current system software. Therefore, it is possible to detect defects at an early stage.
[0067] In the development support system described in [4][3], The development support device includes a category designation operation unit that accepts a category designation operation for specifying the test category, The processor has a category selection unit that selects the test category in accordance with the category designation operation, The test case acquisition unit acquires test cases that include the test category selected by the category selection unit. A development support system characterized by the following features. With this configuration, for example, the operator of the development support device can select the test category of the test case for which the automated test will be executed. Therefore, for example, when the test period is short, the operator can select and execute the necessary test categories of the automated test.
[0068] In the development support system described in [5][3], Priority is assigned to the aforementioned test categories. The test case acquisition unit prioritizes acquiring test cases that include the test category with the highest priority among the plurality of test cases. A development support system characterized by the following features. With this configuration, automated tests based on test cases containing high-priority test categories can be executed preferentially. Therefore, even if the testing period is short, for example, necessary automated tests can be executed preferentially.
[0069] In the development support system described in any one of [6], [3] through [5], Each of the aforementioned test cases has an automated test execution time set. The test case acquisition unit acquires test cases in which all of the selected test cases can be completed within a predetermined period, based on the automated test execution time. A development support system characterized by the following features. With this configuration, the test case acquisition unit can acquire test cases that can be completed within the predetermined period. Therefore, the automated test can be completed within the test period.
[0070] In the development support system described in [7][6], The development support device has a period specification operation unit that accepts a period specification operation for specifying the predetermined period, The test case acquisition unit acquires test cases that can be completed entirely within the predetermined period corresponding to the period specification operation. A development support system characterized by the following features. With this configuration, for example, the operator of the development support device can specify a test period, and the test case acquisition unit acquires test cases that can be completed within that test period, so that automated testing can be completed within the specified test period. Therefore, the convenience of the development support system can be improved.
[0071] [8] Equipped with memory and a processor, The aforementioned processor, When corrected code containing a bug has been saved in a location other than the management area, the ticket acquisition unit acquires a ticket corresponding to the corrected code. A test case acquisition unit acquires the target test case related to testing the modified code from among multiple test cases, An automated test execution unit that performs automated tests based on the aforementioned target test cases, A test result determination unit that determines whether the system software passed the automated test performed by the automated test execution unit, The system includes a modified code storage unit that, when the test result determination unit determines that the automated test has passed, stores the modified code in the management area. A development support device characterized by the following features. This configuration can achieve the same effects as the development support system described above. [Explanation of symbols]
[0072] 1...Development support system, 2...Source code management server, 21...Application folder, 3...Ticket management server, 4...Test case management server, 5,5A...Development support device, 51...Input unit (category specification operation unit, period specification operation unit), 52...Output unit, 53...Communication unit, 54...Control unit, 55...Memory, 6...Processor, 61...Test period acquisition unit, 62...Ticket acquisition unit, 63...Test case acquisition unit, 64...Automatic test execution unit, 65...Test result determination unit, 66...Source code storage unit, 67...Result notification unit, 68...Category selection unit, DB1...Source code management database, DB2...Ticket management database, DB3...Test case management database.
Claims
1. A source code management server having a management area for managing the source code of system software, A ticket management server that manages tickets describing the details of the system software malfunction, A test case management server that manages multiple test cases related to the aforementioned system software, A development support device comprising memory and a processor, The aforementioned processor, When the corrected code containing the fix for the bug is saved in a location other than the management area, the ticket acquisition unit retrieves the ticket corresponding to the corrected code from the ticket management server. A test case acquisition unit acquires the target test case related to testing the corrected code from among the multiple test cases mentioned above, An automated test execution unit that performs automated tests based on the aforementioned target test cases, A test result determination unit that determines whether the system software passed the automated test performed by the automated test execution unit, The system includes a source code storage unit that, if the test result determination unit determines that the automated test has not been passed, does not save the corrected code to the management area, and if the test result determination unit determines that the automated test has been passed, saves the corrected code to the management area. A development support system characterized by the following features.
2. In the development support system described in claim 1, The processor includes a result notification unit that notifies the determination result of the test result determination unit. A development support system characterized by the following features.
3. In the development support system according to claim 1 or claim 2, Each of the aforementioned test cases includes at least one test category, which is a category of test content. The test case acquisition unit acquires, among the plurality of test cases, a required test case which corresponds to the test case ID included in the ticket acquired by the ticket acquisition unit, and a related test case which corresponds to the test category included in the required test case, as the target test cases. A development support system characterized by the following features.
4. In the development support system described in claim 3, The development support device includes a category designation operation unit that accepts a category designation operation for specifying the test category, The processor has a category selection unit that selects the test category in accordance with the category designation operation, The test case acquisition unit acquires test cases that include the test category selected by the category selection unit. A development support system characterized by the following features.
5. In the development support system described in claim 3, Priority is assigned to the aforementioned test categories. The test case acquisition unit prioritizes acquiring test cases that include the test category with the highest priority among the plurality of test cases. A development support system characterized by the following features.
6. In the development support system described in claim 3, Each of the aforementioned test cases has an automated test execution time set. The test case acquisition unit acquires test cases in which all of the selected test cases can be completed within a predetermined period, based on the automated test execution time. A development support system characterized by the following features.
7. In the development support system described in claim 6, The development support device has a period specification operation unit that accepts a period specification operation for specifying the predetermined period, The test case acquisition unit acquires test cases that can be completed entirely within the predetermined period corresponding to the period specification operation. A development support system characterized by the following features.
8. Equipped with memory and a processor, The aforementioned processor, When corrected code containing a bug has been saved in a location other than the management area, the ticket acquisition unit acquires a ticket corresponding to the corrected code. A test case acquisition unit acquires the target test case related to testing the modified code from among multiple test cases, An automated test execution unit that performs automated tests based on the aforementioned target test cases, A test result determination unit that determines whether the system software passed the automated test performed by the automated test execution unit, The system includes a modified code storage unit that, when the test result determination unit determines that the automated test has passed, stores the modified code in the management area. A development support device characterized by the following features.