Software testing method and device

By using virtual test machines and buried point technology in software development, the software testing process is automated, and the problems of waste of manpower and time and missed testing in collaborative development of multiple people have been solved, and the R&D efficiency and standardization of testing are improved.

CN119669064APending Publication Date: 2025-03-21BEIJING HUAFENG TEST & CONTROL TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411728827.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-28
Publication Date
2025-03-21

AI Technical Summary

Technical Problem

In the case of collaborative development of multiple people, the existing technology is difficult to effectively reduce the waste of manpower and time, and it is impossible to ensure whether developers conduct self-tests according to the R&D process, which is prone to missed testing.

Method used

By obtaining the functional module interface code submitted by the software developer, determine the interface change list and triggering the creation of a software installation package with buried points. Create a virtual test machine, automatically install the installation package and data processing module, send self-test reminders to developers, and generate corresponding relationship information between the interface and functional modules and test cases through the data processing module.

Benefits of technology

It reduces repeated communication between R&D personnel and testers, reduces waste of manpower and time, unifies the testing environment, ensures the standardization of the testing process, and avoids developers' missed testing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119669064A_ABST
    Figure CN119669064A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a software testing method and device, and the method comprises the steps: determining an interface change list according to an obtained interface code of a function module which is submitted to a code library by a software developer, and triggering the production of a first software installation package, and can achieve the automatic point burying and production of the first software installation package, thereby reducing the waste of manpower and time. By creating the virtual testing machine, the virtual testing machine automatically installs the first software installation package and the data processing module, the testing environment is unified, and it is guaranteed that the testing process is not affected by the local development environment. After the virtual test machine is deployed, the self-test reminding for the function module is sent to the software developer, so that the research and development process can be standardized. Under the condition that the self-test requirement is not met according to the change interface list and the test case list generated by the data processing module, the self-test reminding for the function module is sent to the software developer again, the research and development process is further standardized, and the software developer is prevented from missing test.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of automated testing technology, and in particular to a software testing method and device. Background Art

[0002] As the business complexity of applications increases, the development model of multi-person collaborative development is widely adopted.

[0003] In the prior art, in the case of collaborative development by multiple people, in order to ensure the correct and timely transmission of project information, developers and testers need to communicate repeatedly, which takes a lot of manpower and time. In addition, it is impossible to know whether the R&D personnel have conducted self-tests according to the R&D process, which easily leads to the problem of developers missing tests. Summary of the invention

[0004] The present invention provides a software testing method and device to reduce the waste of manpower and time, improve software development efficiency, and avoid developers from missing tests.

[0005] According to one aspect of the present invention, there is provided a software testing method, comprising:

[0006] According to the interface code of the functional module submitted to the code base by the software developer, an interface change list is determined, and the production of the first software installation package is triggered; wherein the interface change list includes the interface name corresponding to the changed interface, and the first software installation package is an installation package with a corresponding embedding point of the changed interface;

[0007] Creating a virtual test machine, which automatically installs a first software installation package and a data processing module;

[0008] Send self-test reminders for functional modules to software developers;

[0009] Generate, by the data processing module, corresponding relationship information between the interface and the functional module and the test case through the embedding point in the first software installation package according to the test operation of the functional module by the software developer, and send the corresponding relationship information to the database through the data processing module;

[0010] Integrate the corresponding relationship information in the database to obtain a test case list, and determine whether the self-test requirements are met based on the test case list and the change interface list; the self-test requirements include software developers self-testing at least one functional module;

[0011] If the self-test requirements are not met, a self-test reminder for the functional module is sent to the software developer again; if the self-test requirements are met, software testing is performed according to the test case list.

[0012] According to another aspect of the present invention, another software testing method is provided, comprising:

[0013] The first computer determines an interface change list based on the interface code of the functional module submitted to the code base by the software developer, and triggers the production of the first software installation package; wherein the interface change list includes the interface name corresponding to the changed interface, and the first software installation package is an installation package with a corresponding embedding point of the changed interface;

[0014] The first computer creates a virtual test machine, and the virtual test machine automatically installs the first software installation package and the data processing module;

[0015] The first computer sends a self-test reminder of the functional module to the software developer;

[0016] The first computer generates corresponding relationship information between the interface and the functional module and the test case through the embedding point in the first software installation package according to the test operation of the functional module by the software developer through the data processing module, and sends the corresponding relationship information to the database through the data processing module;

[0017] The second computer integrates the corresponding relationship information in the database to obtain a test case list, and determines whether the self-test requirement is met according to the test case list and the change interface list; the self-test requirement includes that the software developer self-tests at least one functional module;

[0018] If the self-test requirement is not met, the first computer or the second computer sends a self-test reminder for the functional module to the software developer again; if the self-test requirement is met, the third computer performs software testing according to the test case list.

[0019] According to another aspect of the present invention, there is provided a software testing device, comprising:

[0020] The automatic packaging module is used to determine the interface change list based on the interface code of the functional module submitted to the code base by the software developer, and trigger the production of the first software installation package; wherein the interface change list includes the interface name corresponding to the changed interface, and the first software installation package is an installation package with the embedding point corresponding to the changed interface;

[0021] An automatic deployment module, used to create a virtual test machine, which automatically installs a first software installation package and a data processing module;

[0022] The automatic deployment module is also used to send self-test reminders for functional modules to software developers;

[0023] The data processing module is used to generate corresponding relationship information between the interface and the functional module and the test case through the embedding point in the first software installation package according to the test operation of the functional module by the software developer, and send the corresponding relationship information to the database;

[0024] The precise test case screening module is used to integrate the corresponding relationship information in the database to obtain a test case list, and judge whether the self-test requirements are met based on the test case list and the change interface list; the self-test requirements include that the software developer conducts self-test on at least one functional module;

[0025] The precise test case screening module is also used to notify the automatic deployment module to send a self-test reminder for the functional module to the software developer when the self-test requirements are not met, or directly send a self-test reminder for the functional module to the software developer;

[0026] The automatic testing module is used to perform software testing according to the test case list when the self-test requirements are met.

[0027] According to another aspect of the present invention, there is provided an electronic device, comprising:

[0028] at least one processor; and

[0029] a memory communicatively connected to at least one processor; wherein,

[0030] The memory stores a computer program that can be executed by at least one processor. The computer program is executed by at least one processor so that the at least one processor can perform the software testing method of any embodiment of the present invention.

[0031] According to another aspect of the present invention, a computer-readable storage medium is provided. The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the testing method of any embodiment of the present invention when executed.

[0032] The software testing method and device of the embodiment of the present invention can determine the interface change list and trigger the production of the first software installation package based on the interface code of the functional module submitted to the code base by the software developer, and can automatically bury the points and produce the first software installation package, thereby reducing the repeated communication between the R&D personnel and the test personnel and reducing the waste of manpower and time. By creating a virtual test machine, the virtual test machine automatically installs the first software installation package and the data processing module, unifies the test environment, and ensures that the test process is not affected by the local development environment. After the virtual test machine is deployed, a self-test reminder for the functional module is sent to the software developer, which is conducive to standardizing the R&D process. The corresponding relationship information between the interface and the functional module and the test case generated by the data processing module of the virtual test machine based on the test operation is integrated to obtain a test case list. When it is determined that the self-test requirements are not met according to the test case list and the change interface list, a self-test reminder for the functional module is sent to the software developer again, which is conducive to further standardizing the R&D process and avoiding software developers from missing tests.

[0033] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0035] Figure 1 is a flowchart of a software testing method provided by an embodiment of the present invention;

[0036] Figure 2 is a flow chart of another software testing method provided by an embodiment of the present invention;

[0037] Figure 3 A flow chart for making a first software installation package according to whether a change interface exists;

[0038] Figure 4 It is a flowchart for updating the database when a new software version is submitted for testing following the baseline software version;

[0039] Figure 5 is a flowchart of another software testing method provided by an embodiment of the present invention;

[0040] Figure 6 A schematic diagram of a judgment flow for judging whether the self-test requirements are met according to the first test case list and the second test case list, and the change interface list;

[0041] Figure 7 It is a flowchart for software testing based on the list of test cases while meeting the self-test requirements;

[0042] Figure 8 is a flow chart of another software testing method provided by an embodiment of the present invention;

[0043] Fig. 9 It is a structural schematic diagram of a software testing device provided by an embodiment of the present invention;

[0044] Fig.10 is a structural diagram of another software testing device provided by an embodiment of the present invention;

[0045] Fig.11 It is a structural schematic diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0046] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0047] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0048] Figure 1 is a flowchart of a software testing method provided by an embodiment of the present invention. The software testing method can be executed by a software testing device, which can be implemented by software and / or hardware. Figure 1 , the software testing method includes:

[0049] S110: Determine an interface change list based on the interface code of the functional module submitted to the code base by the software developer, and trigger the production of the first software installation package.

[0050] Among them, the interface change list includes the interface name corresponding to the changed interface, and the first software installation package is an installation package with the embedding point corresponding to the changed interface.

[0051] Specifically, in a development mode of multi-person collaborative development, different software developers can be responsible for the development of different functional modules. After the software developer completes the interface code of the functional module he is responsible for, the interface code corresponding to the functional module can be sent to the code library. The code library can be stored in a computer, and the software testing device and the code library can be located in different computers. The software testing device can determine the change interface and the change interface list including the interface name corresponding to the change interface according to the interface code of the functional module submitted to the code library by the acquired software developer, wherein the change interface includes but is not limited to the newly added interface, the modified interface (recorded as the modified interface) and the deleted interface. The modified interface includes the change of the functional module corresponding to the interface or the unchanged functional module corresponding to the interface, but the function of the functional module changes. According to the interface code of the functional module submitted to the code library by the acquired software developer, the first software installation package is automatically buried, and the first software installation package is made, and the first software installation package has the corresponding buried point of the change interface. By automatically burying the points and making the first software installation package, the repeated communication between R&D personnel and testers can be reduced, and the waste of manpower and time can be reduced.

[0052] S120: Create a virtual test machine, which automatically installs a first software installation package and a data processing module.

[0053] After the first software installation package is produced, the software testing device can create a virtual test machine, and the virtual test machine can automatically install the first software installation package and the data processing module. Among them, the creation of the virtual test machine can be achieved through a continuous integration tool, which is used to monitor continuous and repetitive work and aims to provide an open and easy-to-use software platform so that software projects can be continuously integrated. By creating a virtual test machine, subsequent software developers can perform self-tests on the virtual test machine when performing software testing, unifying the test environment and ensuring that the test process is not affected by the local development environment. In this embodiment, the data processing module applies database synchronization technology, and analyzes and processes the corresponding relationship information data between the interface and the functional module and the test case according to the software developer's test operation on the functional module, and then records it in the binary log, and sends the binary log to the remote database.

[0054] Among them, for the number of virtual test machines created is at least one, when the number of virtual test machines is less than the number of software developers received by the code library, at least two software developers can perform self-testing of functional modules on the same virtual test machine. When at least two software developers perform self-testing of functional modules on the same virtual test machine, different software developers perform self-testing of the functional modules that they are responsible for changing at different times. In some optional embodiments of the present invention, the above S120 includes: creating a corresponding number of virtual test machines based on the number of software developers submitted to the code library, and each virtual test machine automatically installs the first software installation package and the data processing module. Specifically, the number of virtual test machines created can be greater than or equal to the number of software developers submitted to the code library. In this way, different software developers can perform self-testing of the functional modules that they are responsible for changing in parallel on different virtual test machines, thereby improving R&D efficiency.

[0055] S130: Send a self-test reminder for the functional module to the software developer.

[0056] Among them, the self-test reminder method includes but is not limited to email, text message, etc. For example, sending a self-test reminder for a functional module to a software developer may include sending an email to a computer with an Internet Protocol address used by the software developer, thereby reminding the software developer to self-test the functional module in charge. In this way, by reminding the software developer to self-test the functional module according to the R&D process, it is helpful to standardize the R&D process.

[0057] S140. Generate correspondence information between the interface and the functional module and the test case through the data processing module according to the test operation of the functional module by the software developer through the embedding points in the first software installation package, and send the correspondence information to the database through the data processing module.

[0058] Specifically, after the software developer receives the self-test reminder for the functional module, he can log in to the virtual test machine and perform self-test on the functional module responsible for the change. The data processing module on the virtual test machine will generate the correspondence information between the interface and the functional module and the test case through the embedding point according to the operation of the software developer (for example, click on a functional module and call the corresponding interface). After that, the data processing module can send the above correspondence information to the database. Among them, the correspondence information between the interface and the functional module and the test case can include the correspondence information between the changed interface and the functional module and the test case.

[0059] S150, integrating the corresponding relationship information in the database to obtain a test case list, and judging whether the self-test requirement is met according to the test case list and the change interface list; the self-test requirement includes that the software developer performs self-test on at least one functional module.

[0060] If not, execute S160 to send a self-test reminder for the functional module to the software developer again.

[0061] If yes, execute S170 to perform software testing according to the test case list.

[0062] Specifically, when the corresponding relationship information in the database is integrated, it can be integrated according to the type of the changed interface. Optionally, the corresponding relationship information of the newly added interface is integrated in the first test case list, and the second test case list is obtained according to the corresponding relationship information of the modified interface and the corresponding relationship information of the deleted interface. In other optional embodiments of the present invention, the corresponding relationship information of the newly added interface, the modified interface and the deleted interface can be integrated in different test case lists respectively. After obtaining the test case list, it is determined whether the self-test requirements are met based on the test case list and the changed interface list. Because the corresponding relationship information between the interface and the functional module and the test case is generated based on the self-test of the software developer, correspondingly, only after the software developer performs self-test on the changed functional module, the corresponding test case will be included in the test case list. In this way, it can be determined whether the software tester has performed self-testing based on whether the test case list includes the test case corresponding to the changed interface in the changed interface list, and then it can be determined whether the self-test requirements are met.

[0063] It should be noted that, in the case where the above S160 again sends the self-test reminder of the functional module to the software developer and S120 sends the self-test reminder of the functional module to the software developer are executed by the same module of the software testing device, the above S160 can be implemented by returning to execute S130. In the case where the above S160 again sends the self-test reminder of the functional module to the software developer and S120 sends the self-test reminder of the functional module to the software developer are executed by different modules of the software testing device ( Figure 1 S160 may be a step independent of S130. After S160 is executed, S140 is continued to be executed. By sending a self-test reminder to the software developer for the functional module responsible for the change again when the self-test requirement is not met, the software developer can perform self-test when the self-test requirement is not met, so as to meet the self-test requirement, further standardize the R&D process, make the R&D process more intelligent, and avoid the software developer from missing the test.

[0064] In S170, software testing according to the test case list can be implemented by an automatic testing module in the software testing device. In this step, a virtual testing machine can be automatically allocated, and an automatic testing program can be called to perform testing and obtain test results.

[0065] The software testing method of this embodiment determines the interface change list based on the interface code of the functional module submitted to the code base by the software developer, and triggers the production of the first software installation package. It can reduce the repeated communication between R&D personnel and testers and reduce the waste of manpower and time by automatically burying points and producing the first software installation package. By creating a virtual test machine, the virtual test machine automatically installs the first software installation package and the data processing module, unifies the test environment, and ensures that the test process is not affected by the local development environment. After deploying the virtual test machine, sending a self-test reminder for the functional module to the software developer is conducive to standardizing the research and development process. The corresponding relationship information between the interface and the functional module and the test case generated by the data processing module based on the test operation is integrated to obtain a test case list. According to the test case list and the change interface list, if it is judged that the self-test requirements are not met, the self-test reminder for the functional module is sent to the software developer again, which is conducive to further standardizing the research and development process and avoiding software developers from missing tests.

[0066] Figure 2 is a flowchart of another software testing method provided by an embodiment of the present invention, referring to Figure 2 , the software testing method includes:

[0067] S210 , judging whether there is a changed interface based on the interface code of the functional module submitted to the code base by the software developer and the interface code of each functional module of the benchmark software version in the code base.

[0068] If yes, execute S220 and S230.

[0069] S220: Form a changed interface list according to the changed interface.

[0070] S230: Create a first software installation package according to the changed interface.

[0071] If not, the interface change list will not be generated, and the first software installation package will not be produced.

[0072] The changed interface list may include the interface name of the changed interface. Each interface name of the changed interface is included in the changed interface list.

[0073] Among them, after the software developer changes the interface code corresponding to the functional module, the interface code is submitted to the code base. By comparing the interface code currently submitted to the code base with the interface code of each functional module of the benchmark software version, it can be determined whether there is a changed interface. The benchmark software version can be the initial software version, or it can be the most recent software version before receiving the interface code of the functional module submitted to the code base by the software developer this time. In this step, by automatically obtaining the software version difference, the functional modules that need to be tested after the software is modified are obtained, which can reduce the situation of missed tests due to human judgment, so that all modified functional modules can be tested, thereby improving the stability and reliability of the software.

[0074] Table 1 exemplarily shows that the benchmark software version includes 5 interfaces, namely interface 1, interface 2, interface 3, interface 4 and interface 5, and the corresponding functional modules are functional module 1, functional module 2, functional module 3, functional module 4 and functional module 1, and the corresponding test cases are use case 1, use case 2, use case 3, use case 4 and use case 5.

[0075] Table 1

[0076] interface Functional modules Test Cases Interface 1 Functional module 1 Use Case 1 Interface 2 Functional module 2 Use Case 2 Interface 3 Functional module 3 Use Case 3 Interface 4 Functional module 4 Use Case 4 Interface 5 Functional module 1 Use Case 5

[0077] For example, the software developer modified interface 3 and interface 4, added interface 7 and interface 8, and deleted interface 5. After interface 3 was modified, the corresponding relationship of the functional modules remained unchanged; after interface 4 was modified, it was no longer used by functional module 4, but was called by functional module 6, corresponding to test case 6; the newly added interface 7 corresponded to functional module 7, and the newly added interface 8 corresponded to functional module 8, neither of which had a corresponding automated test case; interface 5 was deleted, and interface 5 originally corresponded to functional module 1, and functional module 1 corresponded to automated test case 1 and test case 5. After interface 5 was deleted, the functional module only corresponded to test case 1. Therefore, the list of changed interfaces includes interface 3, interface 4, interface 5, interface 7, and interface 8.

[0078] Optionally, changing the interface includes at least one of adding a new interface, modifying an interface, and deleting an interface. Figure 3 This is a flowchart for making the first software installation package based on whether there is a change interface. Figure 3 The process of making the first software installation package according to whether the interface is changed includes:

[0079] S211, judging whether there is a new interface according to the interface code of the functional module submitted to the code base and the interface code of each functional module of the benchmark software version in the code base. In the above embodiment, S210 may include S211.

[0080] If yes, execute S231, add a tracking point for the newly added interface, and then create a first software installation package;

[0081] Specifically, in this step, you can call the automatic adding tracking tool to add tracking points for the new interface to improve software development efficiency.

[0082] If not, and there is a modification interface or a deletion interface, execute S232 to directly create a first software installation package.

[0083] In the above embodiment, S230 may include S231 and S232.

[0084] S240: Create a virtual test machine, which automatically installs the first software installation package and the data processing module.

[0085] S250: Send a self-test reminder for the functional module to the software developer.

[0086] S260. Generate correspondence information between the interface and the functional module and the test case through the data processing module according to the test operation of the functional module by the software developer through the embedding points in the first software installation package, and send the correspondence information to the database through the data processing module.

[0087] Figure 4 This is a flowchart for updating the database when a new software version is submitted for testing after the baseline software version. The new software version submission can correspond to the situation after the software developer makes an interface change and sends the interface code of the responsible functional module to the code library. Figure 4 , after the benchmark software version is completed; track points for all interfaces; make a tracking point installation package for the benchmark software version; use the tracking point installation package to run automated test cases; generate the correspondence information between interface-functional module-test case and send it to the database; the database stores the correspondence information of each interface of the benchmark software version. After a new software version is tested, the continuous integration tool task is triggered; multiple virtual test machines are automatically deployed; the virtual test machine automatically installs the first software installation package; a self-test reminder for the functional module is sent to the software developer; the software developer logs in to the virtual test machine and performs self-test; generates new correspondence information between the interface-functional module-test case for the changed interface and sends it to the database; obtains an updated database.

[0088] S270, integrating the corresponding relationship information in the database to obtain a test case list, and judging whether the self-test requirement is met according to the test case list and the change interface list; the self-test requirement includes that the software developer performs self-test on at least one functional module.

[0089] If not, execute S280 to send a self-test reminder for the functional module to the software developer again.

[0090] If yes, execute S290 and perform software testing according to the test case list.

[0091] Optionally, changing the interface includes at least one of adding a new interface, modifying an interface, and deleting an interface. Figure 5 is a flowchart of another software testing method provided by an embodiment of the present invention, referring to Figure 5 , the software testing method includes:

[0092] S310: Determine an interface change list based on the interface code of the functional module submitted to the code base by the software developer, and trigger the production of the first software installation package.

[0093] S320: Create a virtual test machine, which automatically installs the first software installation package and the data processing module.

[0094] S330: Send a self-test reminder for the functional module to the software developer.

[0095] S340. The data processing module generates first corresponding relationship information according to the burying points corresponding to the newly added interface based on the test operations of the software developer on the functional module, generates second corresponding relationship information according to the burying points corresponding to the modified interface, and generates third corresponding relationship information according to the burying points corresponding to the deleted interface.

[0096] Among them, the first correspondence information includes the correspondence between the interface name of the newly added interface with the addition mark and the corresponding functional module and the corresponding test case with the to be improved mark; the second correspondence information includes the correspondence between the interface name of the modified interface with the modification mark and the corresponding functional module and the corresponding test case; the third correspondence information includes the correspondence between the interface name of the deleted interface with the deletion mark and the corresponding functional module and the corresponding test case with the deletion mark.

[0097] For a newly added interface, the first correspondence information automatically generated after self-testing is "interface name_add-function module-TODO_use case", where "_add" after the interface name is an addition mark, and "TODO_" before the use case is a mark to be improved. Exemplarily, for the benchmark software version corresponding to Table 1, if interface 7 is added, the corresponding function module is function module 7, then the first correspondence information generated is "interface 7_add-function module 7-TODO_use case 7"; similarly, if interface 8 is added, the corresponding function module is function module 8, then the first correspondence information generated is "interface 8_add-function module 8-TODO_use case 8".

[0098] For the modified interface, the second correspondence information is generated according to the buried point corresponding to the modified interface, including: for the modified interface, determine whether the function module corresponding to the modified interface has changed; if so, determine that the function module in the second correspondence is the function module after the change; if not, determine that the function module in the second correspondence is the function module before the change. Specifically, for the modified interface, if the corresponding function module has changed, the second correspondence information generated is "interface name_modify-new function module-use case"; if the corresponding function module has not changed, the second correspondence generated is "interface name_modify-function module-use case" data. Among them, "_modify" after the interface name is a modification identifier. Exemplarily, for the benchmark software version corresponding to Table 1, after interface 3 is modified, the function module correspondence remains unchanged, then the second correspondence information generated is "interface 3_modify-function module 3-use case 3"; after interface 4 is modified, it is no longer used by function module 4, but is called by function module 6, corresponding to test case 6, then the second correspondence generated is "interface 4_modify-function module 6-use case 6".

[0099] For the deleted interface, an "interface name_del-function module-del_use case" is automatically generated, where the "_del" after the interface name and the "del_" before the use case are deletion marks. For example, for the benchmark software version corresponding to Table 1, interface 5 is deleted, and interface 5 corresponds to function module 1 and use case 5. After interface 5 is deleted, the third corresponding relationship generated is "interface 5_del-function module 1-del_use case 5".

[0100] S350: Send the first correspondence information, the second correspondence information and the third correspondence information to a database through a data processing module.

[0101] Specifically, after the data processing module sends the first correspondence information, the second correspondence information, and the third correspondence information to the database, the database will further add the first correspondence information, the second correspondence information, and the third correspondence information based on the stored interface-function module-test case correspondence of the benchmark software version. Still taking the benchmark software version including the 5 interfaces in Table 1 as an example, after modifying interface 3 and interface 4, adding interface 7 and interface 8, and deleting interface 5, the table of the database is shown in Table 2 below.

[0102] Table 2

[0103] interface Functional modules Test Cases Interface 1 Functional module 1 Use Case 1 Interface 2 Functional module 2 Use Case 2 Interface 3 Functional module 3 Use Case 3 Interface 4 Functional module 4 Use Case 4 Interface 5 Functional module 1 Use Case 5 Interface 3_modify Functional module 3 Use Case 3 Interface 4_modify Functional module 6 Use Case 6 Interface 7_add Functional module 7 Todo_Use Case 7 Interface 8_add Functional module 8 Todo_Use Case 8 Interface 5_del Functional module 1 Del_Use Case 5

[0104] S360: Integrate the test cases with to-be-completed marks in the first correspondence information into a first test case list.

[0105] Specifically, the test cases of the newly added interface are test cases that need to be added and improved by testers in the future. Therefore, the test cases with the to-be-improved mark corresponding to the newly added interface in the first correspondence are integrated into the first test case list, which can facilitate the subsequent testers to add test cases according to the first test case list. For the newly added interface, the generated first correspondence information "interface name_add-function module-TODO_use case" is inserted into the database, and the "TODO_use case" is recorded in the first test case list B. Exemplarily, there are two newly added interfaces, and the corresponding TODO_use cases are b1 and b2, respectively, then the first test case list B = {b1, b2}. For example, the newly added interface 7 corresponds to function module 7, and the newly added interface 8 corresponds to function module 8, and there is no corresponding automated test case. The first correspondence information of the newly added interface 7 is "interface 7_add-function module 7-TODO_use case 7", and the first correspondence information of the newly added interface 8 is "interface 8_add-function module 8-TODO_use case 8", then the first test case list B = {Todo_use case 7, Todo_use case 8}.

[0106] S370: Integrate the test cases in each second corresponding relationship, the test cases corresponding to the modified interface in each second corresponding relationship before the modification, and the test cases corresponding to the same functional module as the deleted interface in the third corresponding relationship into a second test case list.

[0107] Specifically, the test cases in the second correspondence, the test cases corresponding to the modified interface before the modification in the second correspondence, and the test cases corresponding to the same functional module as the deleted interface in the third correspondence are all existing test cases. The test cases in each second correspondence, the test cases corresponding to the modified interface before the modification in the second correspondence, and the test cases corresponding to the same functional module as the deleted interface in the third correspondence are integrated into a second test case list. The second test case list can be used as the test scope later to ensure the completeness of subsequent tests. It should be noted that if there is no test case corresponding to the same functional module as the deleted interface in the third correspondence information, the second test case list may not include the test case corresponding to the same functional module as the deleted interface in the third correspondence information.

[0108] For modified interfaces, for interfaces whose corresponding functional modules have changed, the second corresponding relationship information "interface name_modify-new functional module-use case" data generated in the above S340 is inserted into the database, and the test case a1 before the change and the test case a2 after the change are recorded; for interfaces whose corresponding functional modules have not changed, the second corresponding relationship information "interface name_modify-functional module-use case" data generated in S340 is inserted into the database, and the corresponding use case a3 is recorded. For deleted interfaces, the "interface name_del-functional module-del_use case" generated in the above S340 is inserted into the database. Find the functional module corresponding to the deleted interface, and put the test case c1 corresponding to the functional module into A, then the automated test case list A = {a1, a2, a3, c1}. Exemplarily, this test software version modifies interface 3 and interface 4, and deletes interface 5. After interface 3 is modified, the corresponding relationship between the functional modules remains unchanged; after interface 4 is modified, it is no longer used by functional module 4, but is called by functional module 6, corresponding to test case 6; interface 5 is deleted, and interface 5 originally corresponds to functional module 1, and functional module 1 corresponds to test case 1 and test case 5. The final automated test case list A = {case 4, case 3, case 6, case 1}.

[0109] S380. Determine whether the self-test requirement is met according to the first test case list, the second test case list, and the change interface list.

[0110] If not, execute S391 and send a self-test reminder for the functional module to the software developer again.

[0111] If yes, execute S392 and perform software testing according to the test case list.

[0112] Wherein, in an optional embodiment, the self-test requirement includes at least one test case in the first test case list and the second test case list corresponding to the change interface in the change interface list. In this case, it means that the software developer has self-tested at least one functional module corresponding to the change interface. In another optional embodiment, it can be further determined whether the self-test rate of the functional module meets the preset threshold to determine whether the self-test requirement is met. Wherein the self-test rate = the total number of test cases in the first test case list and the second test case list obtained / the number of change interfaces * 100%. The preset threshold can be set according to actual needs. Exemplarily, the preset threshold is greater than or equal to 80%.

[0113] Figure 6 A flowchart of judging whether the self-test requirements are met according to the first test case list, the second test case list, and the change interface list. Figure 6 Optionally, the above S380 includes:

[0114] S381. Determine whether the software developer performs self-testing according to the first test case list, the second test case list, and the change interface list.

[0115] The judgment on whether developers conduct self-testing is:

[0116] Case 1: If the interface change list determined in S310 includes a newly added interface, but the first test case list B is empty.

[0117] Example: In step S310, it is determined that the interface change list includes two newly added interfaces, namely interface 7 and interface 8. The database is queried based on the newly added interfaces, and the corresponding first test case list B is found to be empty.

[0118] Case 2: If the interface change list determined in S310 includes the modified interface, but the second test list A is empty.

[0119] For example, if the changed interface list determined in S310 includes two modified interfaces, namely interface 3 and interface 4, the database is queried according to the modified interfaces, and the corresponding second test case list A is empty.

[0120] The above situations all indicate that the development has not performed self-testing. In this case, you can send an email to the software developer and / or project team members who are working on the same project as the software developer to remind the software developer that a certain interface has not been self-tested and to log in to the virtual test machine again for testing.

[0121] In the case where the software developer has not performed self-testing, S382 is executed to determine whether the self-testing requirement is not met.

[0122] When the software developer performs self-testing, S383 is executed to determine whether the self-testing requirement is met according to whether the self-testing rate corresponding to the software developer is greater than or equal to a preset threshold.

[0123] Among them, in S383, it can be determined for different software developers whether the self-test of the interface responsible for the change meets the self-test rate. If the self-test rate corresponding to the software developer is greater than or equal to the preset threshold, it is determined that the self-test requirements are met. In this case, an email containing the self-test rate can be sent to project team members including the software developer, and the testers can be reminded to pay attention to the subsequent automated test results. If the self-test rate corresponding to the software developer is less than the preset threshold, it is determined that the self-test requirements are not met. At this time, an email can be sent to the software developer and / or the project team members of the same project as the software developer to remind the software developer that a certain interface has not been self-tested and to re-login to the virtual test machine for testing.

[0124] Figure 7 This is a flowchart for software testing based on the test case list while meeting the self-test requirements. Figure 7 ,Optionally, when the self-test requirements are met, software testing is performed according to the test case list, including:

[0125] If the self-test requirements are met, trigger the production and installation of a second software installation package, which is a non-embedded installation package; take the second test case list as the test scope, call the test cases in the second test case list to perform software testing; and notify the tester to add the test cases corresponding to the first test case list according to the first test case list.

[0126] Among them, triggering the production and installation of the second software installation package can be achieved through the continuous integration tool in the above embodiment. After installing the second software installation package, an automated testing environment is automatically built. By calling the test cases in the second test case list for testing, the modification interface can be tested, and the interface of the same functional module corresponding to the deletion interface can be tested to ensure the completeness of the test. Notifying the tester to add the test cases in the first test case list through the first test case list can remind the tester to add the test cases corresponding to the newly added interface in time, and then the newly added interface can be tested in subsequent steps.

[0127] On the basis of the above embodiments, optionally, taking the second test case list as the test scope, calling the test cases in the second test case list to perform software testing; after notifying the tester to add the test cases corresponding to the first test case list according to the first test case list, it also includes: sending the first test case list and the test cases corresponding to the first test case list added by the tester to the database for data sorting. By using the non-embedded installation package to run the second test case list, targeted testing can be performed on the modules within the scope of the code change, avoiding unnecessary redundant testing work.

[0128] When the version is tested and passed, the data in the database is sorted into standard data. The sorting rule is: the interface with the modification mark and the corresponding interface without the modification mark are sorted into one piece of data. The functional module and test case corresponding to the interface are updated with the value with the modification mark. When the test cases in the first test case list are also added, remove the addition mark and the mark to be completed in the corresponding data. For the deleted interface, directly delete the interface with the deletion mark and the corresponding test case in the database.

[0129] According to the sorting rules, after Table 2 is sorted, the database will be sorted to obtain Table 3.

[0130] Table 3

[0131] interface Functional modules Test Cases Interface 1 Functional module 1 Use Case 1 Interface 2 Functional module 2 Use Case 2 Interface 3 Functional module 3 Use Case 3 Interface 4 Functional module 6 Use Case 6 Interface 7 Functional module 7 Use Case 7 Interface 8 Functional module 8 Use Case 8

[0132] In the software testing method in the above embodiments, each step can be executed by the same computer or by different computers.

[0133] Figure 8 is a flowchart of another software testing method provided by an embodiment of the present invention, referring to Figure 8 , the software testing method includes:

[0134] S410: The first computer determines an interface change list according to the interface code of the functional module submitted to the code base by the software developer, and triggers the production of the first software installation package.

[0135] The interface change list includes the interface name corresponding to the changed interface, and the first software installation package is an installation package with a corresponding embedding point of the changed interface;

[0136] S420: The first computer creates a virtual testing machine, and the virtual testing machine automatically installs the first software installation package and the data processing module.

[0137] S430: The first computer sends a self-test reminder for the functional module to the software developer.

[0138] S440. The first computer generates correspondence information between the interface and the functional module and the test case through the data processing module according to the test operation of the functional module by the software developer through the embedding points in the first software installation package, and sends the correspondence information to the database through the data processing module.

[0139] The database is stored in the second computer.

[0140] S450, the second computer integrates the corresponding relationship information in the database to obtain a test case list, and determines whether the self-test requirement is met according to the test case list and the change interface list; the self-test requirement includes that the software developer performs self-test on at least one functional module.

[0141] If the self-test requirement is not met, the process returns to S430. In this case, if the self-test requirement is not met, the second computer needs to send a notification message to the second computer so that the first computer sends a self-test reminder for the functional module to the software developer.

[0142] Or when the self-test requirement is not met, S460 is executed and the second computer sends a self-test reminder for the functional module to the software developer again. Figure 7 FIG. 4 schematically shows the case where S460 is executed when the self-test requirement is not met.

[0143] If the self-test requirement is met, S470 is executed, and the third computer performs software testing according to the test case list.

[0144] The software testing method of this embodiment determines the interface change list and triggers the production of the first software installation package based on the interface code of the functional module submitted to the code base by the software developer obtained by the first computer. It can reduce the repeated communication between the R&D personnel and the testers and reduce the waste of manpower and time by automatically burying the points and producing the first software installation package. The first computer creates a virtual test machine, which automatically installs the first software installation package and the data processing module, unifies the test environment, and ensures that the test process is not affected by the local development environment. After the first computer deploys the virtual test machine, it sends a self-test reminder of the functional module to the software developer, which is conducive to standardizing the R&D process. The corresponding relationship information between the interface and the functional module and the test case generated by the data processing module based on the test operation; the second computer integrates the corresponding relationship information to obtain a test case list, and according to the test case list and the change interface list, it is judged that the self-test requirements are not met. When the self-test requirements are not met, the self-test reminder of the functional module is sent to the software developer again, which is conducive to further standardizing the R&D process and avoiding the software developer from missing tests. In addition, by completing the software testing method on multiple computers, when the third computer is performing software testing, the first computer and the second computer can perform other steps of the software testing method, which is conducive to further improving development efficiency.

[0145] The embodiment of the present invention also provides a software testing device, Fig. 9 is a schematic diagram of the structure of a software testing device provided by an embodiment of the present invention, with reference to Fig. 9 , the software testing device comprises:

[0146] The automatic packaging module 510 is used to determine the interface change list according to the interface code of the functional module submitted to the code base by the software developer, and trigger the production of the first software installation package; wherein the interface change list includes the interface name corresponding to the changed interface, and the first software installation package is an installation package with the embedding point corresponding to the changed interface;

[0147] An automatic deployment module 520, used to create a virtual test machine, which automatically installs a first software installation package and a data processing module;

[0148] The automatic deployment module 520 is also used to send self-test reminders for functional modules to software developers;

[0149] The data processing module is used to generate corresponding relationship information between the interface and the functional module and the test case through the embedding points in the first software installation package according to the test operation of the functional module by the software developer, and send the corresponding relationship information to the database 530;

[0150] The accurate test case screening module 540 is used to integrate the corresponding relationship information in the database 530 to obtain a test case list, and determine whether the self-test requirements are met according to the test case list and the change interface list; the self-test requirements include that the software developer performs self-test on at least one functional module;

[0151] The precise test case screening module 540 is also used to notify the automatic deployment module 520 to send a self-test reminder for the functional module to the software developer when the self-test requirement is not met, or directly send a self-test reminder for the functional module to the software developer;

[0152] The automatic testing module 550 is used to perform software testing according to the test case list when the self-test requirements are met.

[0153] The software testing device of this embodiment is used to execute the software testing method of any of the above embodiments of the present invention, and has the beneficial effects of the software testing device of any of the above embodiments of the present invention.

[0154] Optionally, the automatic packaging module, the automatic deployment module, the database, the precise test case screening module, and the automatic testing module are all on different computers from the code base.

[0155] Because the computers where the automatic packaging module, automatic deployment module, database, and precise test case screening module are located need to interact with software developers, and the security and confidentiality of the code library are required to be high, the code library is set up on different computers from other modules, so that only a small number of managers can be allowed to log in to the code library to improve security.

[0156] In an optional embodiment of the present invention, the automatic packaging module, the automatic deployment module, the database, and the precise test case screening module are integrated on the same computer.

[0157] Fig.10 is a schematic diagram of the structure of another software testing device provided by an embodiment of the present invention, referring to Fig.10 In another optional embodiment of the present invention, the automatic packaging module 510 and the automatic deployment module 520 are integrated on the first computer 610; the database 530 and the precise test case screening module 540 are integrated on the second computer 620; the automatic testing module 550 is integrated on the third computer 630; and the code library is on the fourth computer 640. Fig.10 The exemplary automatic deployment module 520 automatically deploys N virtual test machines, where N may be equal to the number of software developers, and N may be greater than or equal to 1. In this way, different modules may be able to perform actions simultaneously, which is beneficial to improving research and development efficiency.

[0158] Based on the above embodiments, the change interface list and the code library may be stored on the same computer.

[0159] Fig.11 1 is a schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. The electronic device 10 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0160] like Fig.11 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0161] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0162] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as the above-mentioned software testing method, including determining an interface change list based on the interface code of the functional module submitted by the software developer to the code library, and triggering the production of the first software installation package; creating a virtual test machine, the virtual test machine automatically installs the first software installation package and the data processing module; sending a self-test reminder for the functional module to the software developer; through the data processing module, according to the software developer's test operation on the functional module, the correspondence information between the interface and the functional module, and the test case is generated through the embedding point in the first software installation package, and the correspondence information is sent to the database through the data processing module; the correspondence information in the database is integrated to obtain a test case list, and it is determined whether the self-test requirements are met based on the test case list and the change interface list; the self-test requirements include the software developer performing self-test on at least one functional module; if not, sending a self-test reminder for the functional module to the software developer again; if so, performing software testing according to the test case list.

[0163] In some embodiments, the software testing method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the software testing method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the software testing method in any other appropriate manner (e.g., by means of firmware).

[0164] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0165] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0166] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, device, or equipment. A computer-readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0167] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0168] The systems and techniques described herein can be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0169] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0170] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0171] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A software testing method, characterized in that: include: According to the interface code of the functional module submitted to the code base by the software developer, an interface change list is determined, and the production of the first software installation package is triggered; wherein the interface change list includes the interface name corresponding to the changed interface, and the first software installation package is an installation package with the embedding point corresponding to the changed interface; Creating a virtual test machine, the virtual test machine automatically installing the first software installation package and the data processing module; Sending a self-test reminder for the functional module to the software developer; According to the test operation of the software developer on the functional module, the data processing module generates the corresponding relationship information between the interface and the functional module and the test case through the embedding point in the first software installation package, and sends the corresponding relationship information to the database through the data processing module; Integrate the corresponding relationship information in the database to obtain a test case list, and determine whether the self-test requirement is met according to the test case list and the change interface list; the self-test requirement includes the software developer performing a self-test on at least one of the functional modules; In the case where the self-test requirement is not met, a self-test reminder for the functional module is sent to the software developer again; in the case where the self-test requirement is met, software testing is performed according to the test case list.

2. The software testing method according to claim 1, characterized in that: The step of determining an interface change list based on the interface code of the functional module submitted to the code base by the software developer and triggering the production of the first software installation package includes: Determining whether there is the changed interface based on the interface code of the function module submitted to the code base by the software developer and the interface code of each function module of the benchmark software version in the code base; If so, forming the change interface list according to the change interface; The first software installation package is produced according to the change interface.

3. The software testing method according to claim 2, characterized in that: The change interface includes at least one of a new interface, a modification interface, and a deletion interface. The determining whether there is the change interface based on the interface code of the function module submitted to the code base by the software developer and the interface code of each function module of the benchmark software version in the code base includes: Determine whether there is a new interface based on the interface code of the functional module submitted to the code base and the interface code of each functional module of the benchmark software version in the code base; The step of making the first software installation package according to the change interface includes: If there is the newly added interface, after adding a tracking point for the newly added interface, the first software installation package is produced; If the new interface does not exist, but the modification interface or the deletion interface exists, the first software installation package is directly created.

4. The software testing method according to claim 1, characterized in that: The step of creating a virtual test machine, wherein the virtual test machine automatically installs the first software installation package and the data processing module, comprises: A corresponding number of virtual test machines are created according to the number of software developers who have submitted the code to the code base, and each of the virtual test machines automatically installs the first software installation package and the data processing module.

5. The software testing method according to claim 1, characterized in that: The change interface includes at least one of a new interface, a modification interface, and a deletion interface, and the data processing module generates the corresponding relationship information between the interface and the functional module and the test case through the embedding point in the first software installation package according to the test operation of the software developer on the functional module, and sends the corresponding relationship information to the database through the data processing module, including: The data processing module generates first corresponding relationship information according to the burying point corresponding to the newly added interface according to the test operation of the software developer on the functional module, generates second corresponding relationship information according to the burying point corresponding to the modified interface, and generates third corresponding relationship information according to the burying point corresponding to the deleted interface by the data processing module; Sending the first correspondence relationship information, the second correspondence relationship information and the third correspondence relationship information to a database through the data processing module; Among them, the first correspondence information includes the correspondence between the interface name of the newly added interface with the addition mark and the corresponding functional module and the corresponding test case with the to-be-perfected mark; the second correspondence information includes the correspondence between the interface name of the modified interface with the modification mark and the corresponding functional module and the corresponding test case; the third correspondence information includes the correspondence between the interface name of the deleted interface with the deletion mark and the corresponding functional module and the corresponding test case with the deletion mark.

6. The software testing method according to claim 5, characterized in that: The generating second corresponding relationship information according to the buried point corresponding to the modification interface includes: For the modification interface, determining whether the functional module corresponding to the modification interface has changed; If yes, determining the changed functional module as the functional module in the second corresponding relationship information, and determining the test case corresponding to the changed functional module as the test case in the second corresponding relationship information; If not, the functional module corresponding to the modification interface before the modification occurs is determined as the functional module in the second corresponding relationship information, and the test case corresponding to the modification interface before the modification occurs is determined as the test case in the second corresponding relationship.

7. The software testing method according to claim 5, characterized in that: The step of integrating the corresponding relationship information in the database to obtain a test case list, and judging whether the self-test requirement is met according to the test case list and the change interface list, includes: Integrate the test cases with the to-be-perfected identifier in each of the first corresponding relationship information into a first test case list; Integrate the test cases in each of the second corresponding relationships, the test cases corresponding to the modification interface in each of the second corresponding relationships before modification, and the test cases corresponding to the same functional module as the deletion interface in the third corresponding relationship into a second test case list; Determine whether the self-test requirements are met based on the first test case list, the second test case list, and the change interface list.

8. The software testing method according to claim 7, characterized in that: The determining whether the self-test requirement is met according to the first test case list, the second test case list, and the change interface list includes: Determining whether the software developer performs self-testing according to the first test case list, the second test case list, and the change interface list; In the case where the software developer has not performed self-testing, determining that the self-testing requirement is not met; In the case where the software developer performs self-testing, whether the self-testing requirement is met is determined based on whether a self-testing rate corresponding to the software developer is greater than or equal to a preset threshold.

9. The software testing method according to claim 7, characterized in that: When the self-test requirements are met, software testing is performed according to the test case list, including: If the self-test requirements are met, trigger the production and installation of a second software installation package, where the second software installation package is a non-embedded installation package; Taking the second test case list as the test scope, calling the test cases in the second test case list to perform software testing; According to the first test case list, the tester is notified to add the test cases corresponding to the first test case list.

10. The software testing method according to claim 9, characterized in that: After performing software testing according to the test case list, it also includes: The first test case list and the test cases corresponding to the first test case list added by the tester are sent to the database for data sorting.

11. A software testing method, characterized in that: include: The first computer determines an interface change list based on the interface code of the functional module submitted to the code base by the software developer, and triggers the production of the first software installation package; wherein the interface change list includes the interface name corresponding to the changed interface, and the first software installation package is an installation package with the embedding point corresponding to the changed interface; The first computer creates a virtual test machine, and the virtual test machine automatically installs the first software installation package and the data processing module; The first computer sends a self-test reminder of the functional module to the software developer; The first computer generates, through the data processing module, corresponding relationship information between the interface and the functional module and the test case through the embedding point in the first software installation package according to the test operation of the functional module by the software developer, and sends the corresponding relationship information to the database through the data processing module; The second computer integrates the corresponding relationship information in the database to obtain a test case list, and determines whether the self-test requirement is met according to the test case list and the change interface list; the self-test requirement includes the software developer self-testing at least one of the functional modules; If the self-test requirements are not met, the first computer or the second computer sends a self-test reminder for the functional module to the software developer again; if the self-test requirements are met, the third computer performs software testing according to the test case list.

12. A software testing device, characterized in that: include: The automatic packaging module is used to determine the interface change list according to the interface code of the functional module submitted to the code base by the software developer, and trigger the production of the first software installation package; wherein the interface change list includes the interface name corresponding to the changed interface, and the first software installation package is an installation package with the embedding point corresponding to the changed interface; An automatic deployment module, used to create a virtual test machine, which automatically installs the first software installation package and the data processing module; The automatic deployment module is also used to send a self-test reminder for the functional module to the software developer; The data processing module is used to generate the corresponding relationship information between the interface and the functional module and the test case through the embedding point in the first software installation package according to the test operation of the functional module by the software developer, and send the corresponding relationship information to the database; A precise test case screening module, used to integrate the corresponding relationship information in the database to obtain a test case list, and determine whether the self-test requirements are met according to the test case list and the change interface list; the self-test requirements include the software developer performing self-test on at least one of the functional modules; The precise test case screening module is also used to notify the automatic deployment module to send a self-test reminder for the functional module to the software developer when the self-test requirement is not met, or directly send a self-test reminder for the functional module to the software developer; The automatic testing module is used to perform software testing according to the test case list when the self-test requirements are met.

13. The software testing device according to claim 12, wherein the automatic packaging module, the automatic deployment module, the database, the precise test case screening module and the automatic testing module are all on different computers from the code base.

14. The software testing device according to claim 13, characterized in that: The automatic packaging module and the automatic deployment module are integrated on a first computer; the database and the precise test case screening module are integrated on a second computer; the automatic testing module is integrated on a third computer; and the code base is on a fourth computer.