CN110389903B - Test environment deployment method and device, electronic equipment and readable storage medium - Google Patents

Test environment deployment method and device, electronic equipment and readable storage medium Download PDF

Info

Publication number
CN110389903B
CN110389903B CN201910658688.5A CN201910658688A CN110389903B CN 110389903 B CN110389903 B CN 110389903B CN 201910658688 A CN201910658688 A CN 201910658688A CN 110389903 B CN110389903 B CN 110389903B
Authority
CN
China
Prior art keywords
software
tested
piece
sub
application programs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910658688.5A
Other languages
Chinese (zh)
Other versions
CN110389903A (en
Inventor
宋继冲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN201910658688.5A priority Critical patent/CN110389903B/en
Publication of CN110389903A publication Critical patent/CN110389903A/en
Application granted granted Critical
Publication of CN110389903B publication Critical patent/CN110389903B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The present disclosure provides a test environment deployment method and apparatus, the method comprising: the method comprises the steps of obtaining version information of each piece of software to be tested in a plurality of pieces of software to be tested and interface information of an interface of each piece of software to be tested, wherein each piece of software to be tested comprises a plurality of sub-application programs; determining database table information required for testing a plurality of sub-applications of each piece of software to be tested; determining a routing strategy of each piece of software to be tested according to version information of each piece of software to be tested and interface information of each piece of software to be tested, wherein the routing strategy comprises a strategy of deploying a plurality of sub-application programs on physical equipment and a strategy of deploying database table information required by testing the plurality of sub-application programs of each piece of software to be tested on the same or different physical equipment; and deploying the plurality of sub-application programs and the database table information required by testing the plurality of sub-application programs of each software to be tested on the corresponding physical equipment according to the routing strategy of each software to be tested.

Description

Test environment deployment method and device, electronic equipment and readable storage medium
Technical Field
The present disclosure relates to the field of computer technology, and more particularly, to a test environment deployment method, a test environment deployment apparatus, an electronic device, and a computer-readable storage medium.
Background
Software systems are becoming increasingly popular for use in a variety of applications. In particular, in the financial field, the software system provides more and more complex services, the update iteration speed is faster and faster, and multi-version concurrency is normal. Under the background that the number of versions of a software system is increased and the requirements on the reliability and the stability of the software system are higher, the realization of quick, reliable and low-cost software testing is particularly important.
Deployment of the test environment of the software is typically required before testing of the software can take place. In the case of implementing parallel testing of multiple versions of software, a current general solution is to build a set of testing environments for each version of software, so that multiple sets of testing environments generally need to be built.
In the process of implementing the disclosed concept, the inventor finds that at least the following problems exist in the related art: the method for supporting the parallel test of the multi-version software by the multi-set test environment has the defects in the aspects of test data consistency, test environment stability, test resource sharing and the like. For example, not only the resource coordination cost between different test environments increases, but also the environment is required to be switched and the data is required to be prepared again in the test process, so that the test efficiency is reduced, the test period is prolonged, and the test cost is increased.
Disclosure of Invention
In view of this, the present disclosure provides a test environment deployment method, a test environment deployment apparatus, an electronic device, and a computer-readable storage medium.
One aspect of the present disclosure provides a test environment deployment method, comprising: the method comprises the steps of obtaining version information of each piece of software to be tested in a plurality of pieces of software to be tested and interface information of an interface of each piece of software to be tested, wherein each piece of software to be tested comprises a plurality of sub-application programs; determining database table information required for testing a plurality of sub-application programs of each piece of software to be tested; determining a routing policy of each piece of software to be tested according to the version information of each piece of software to be tested and the interface information of each piece of software to be tested, wherein the routing policy comprises a policy of deploying the plurality of sub-application programs on physical equipment and a policy of deploying database table information required for testing the plurality of sub-application programs of each piece of software to be tested on the same or different physical equipment; and deploying the plurality of sub-application programs and the database table information required by testing the plurality of sub-application programs of each software to be tested on corresponding physical equipment according to the routing strategy of each software to be tested.
According to an embodiment of the present disclosure, the determining the routing policy of each piece of software to be tested according to the version information of each piece of software to be tested and the interface information of each piece of software to be tested includes: distributing physical equipment for each piece of software to be tested according to the version information of each piece of software to be tested; acquiring an application program list according to the interface information of each piece of software to be tested, wherein the application program list comprises a plurality of sub-application programs corresponding to each piece of software to be tested; and associating the physical equipment allocated for each piece of software to be tested with a plurality of sub-application programs corresponding to each piece of software to be tested, and associating the physical equipment allocated for each piece of software to be tested with database table information required by testing the plurality of sub-application programs so as to determine the routing strategy of each piece of software to be tested.
According to an embodiment of the present disclosure, allocating physical devices to each piece of software to be tested according to version information of each piece of software to be tested includes: acquiring state information of a plurality of physical devices, wherein the state information is used for representing whether the physical devices are in an idle state or not; determining an idle physical device according to the state information of the plurality of physical devices; and distributing physical equipment for each piece of software to be tested from the idle physical equipment according to the version information of each piece of software to be tested.
According to an embodiment of the present disclosure, the acquiring an application list according to the interface information of each piece of software to be tested includes: and acquiring an application program list of each piece of software to be tested from a pre-stored application program set, wherein the application program set comprises a plurality of sub-application programs, and the sub-application programs in the application program set can form the application program list of each piece of software to be tested in the plurality of pieces of software to be tested.
Another aspect of the present disclosure provides a test environment deployment apparatus, comprising: the device comprises an acquisition module, a test module and a test module, wherein the acquisition module is used for acquiring version information of each piece of software to be tested in a plurality of pieces of software to be tested and interface information of an interface of each piece of software to be tested, and each piece of software to be tested comprises a plurality of sub-application programs; a first determining module, configured to determine database table information required for testing the plurality of sub-applications of each piece of software to be tested; a second determining module, configured to determine a routing policy of each piece of software to be tested according to version information of each piece of software to be tested and interface information of each piece of software to be tested, where the routing policy includes a policy of deploying the plurality of sub-applications on a physical device, and a policy of deploying database table information required for testing the plurality of sub-applications of each piece of software to be tested on a same or different physical device; and the deployment module is used for deploying the plurality of sub-application programs and the database table information required by testing the plurality of sub-application programs of each software to be tested on the corresponding physical equipment according to the routing strategy of each software to be tested.
According to an embodiment of the present disclosure, the second determining module includes: the distribution unit is used for distributing physical equipment for each piece of software to be tested according to the version information of each piece of software to be tested; an obtaining unit, configured to obtain an application program list according to the interface information of each piece of software to be tested, where the application program list includes a plurality of sub-application programs corresponding to each piece of software to be tested; and the association unit is used for associating the physical equipment allocated for each piece of software to be tested with the plurality of sub-application programs corresponding to each piece of software to be tested, and associating the physical equipment allocated for each piece of software to be tested with database table information required by testing the plurality of sub-application programs so as to determine the routing strategy of each piece of software to be tested.
According to an embodiment of the present disclosure, the above-described dispensing unit includes: an obtaining subunit, configured to obtain state information of a plurality of physical devices, where the state information is used to characterize whether the physical devices are in an idle state; a determining subunit, configured to determine an idle physical device according to the state information of the plurality of physical devices; and the allocation subunit is used for allocating physical equipment for each piece of software to be tested from the idle physical equipment according to the version information of each piece of software to be tested.
According to an embodiment of the present disclosure, the acquiring unit is configured to acquire, from a pre-stored application set, an application list of each of the plurality of software under test, where the application set includes a plurality of sub-applications, and the sub-applications in the application set can form the application list of each of the plurality of software under test.
Another aspect of the present disclosure provides an electronic device, comprising: one or more processors; and a memory for storing one or more instructions that, when executed by the one or more processors, cause the one or more processors to implement the method as described above.
Another aspect of the present disclosure provides a computer-readable storage medium storing executable instructions that, when executed by a processor, cause the processor to implement a method as described above.
According to the embodiment of the disclosure, the plurality of sub-application programs and the database table information required for testing the plurality of sub-application programs of each software to be tested can be deployed on the corresponding physical device according to the routing strategy of each software to be tested. Therefore, a plurality of sub-application programs and database table information can be deployed according to the version information, so that the pre-deployed sub-application programs and database information can be directly called when different versions of software to be tested are tested, the testing cost is saved, and the investment of human resources can be greatly reduced in the aspect of operation and maintenance. And a set of test environment supporting parallel testing of multi-version software can be realized, the problems in the aspects of test data consistency, test environment stability, test resource sharing and the like caused by using a plurality of sets of test environments can be at least partially solved, and the improvement of test efficiency, the control of test quality, the reduction of test cost and the improvement of user experience are facilitated.
Drawings
The above and other objects, features and advantages of the present disclosure will become more apparent from the following description of embodiments thereof with reference to the accompanying drawings in which:
FIG. 1 schematically illustrates an exemplary system architecture in which test environment deployment methods and apparatus may be applied, according to embodiments of the present disclosure;
FIG. 2 schematically illustrates a flow chart of a test environment deployment method according to an embodiment of the present disclosure;
FIG. 3 schematically illustrates a flow chart of determining a routing policy for each software under test based on version information of each software under test and interface information of each software under test, according to an embodiment of the present disclosure;
FIG. 4 schematically illustrates a flow chart of allocating physical devices for each software under test according to version information of each software under test according to an embodiment of the present disclosure;
FIG. 5 schematically illustrates a block diagram of a test environment deployment apparatus according to an embodiment of the disclosure;
FIG. 6 schematically illustrates a block diagram of a second determination module according to an embodiment of the disclosure;
FIG. 7 schematically illustrates a block diagram of a dispensing unit according to an embodiment of the present disclosure; and
fig. 8 schematically illustrates a block diagram of an electronic device according to an embodiment of the disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is only exemplary and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the present disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. In addition, in the following description, descriptions of well-known structures and techniques are omitted so as not to unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and/or the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It should be noted that the terms used herein should be construed to have meanings consistent with the context of the present specification and should not be construed in an idealized or overly formal manner.
Where expressions like at least one of "A, B and C, etc. are used, the expressions should generally be interpreted in accordance with the meaning as commonly understood by those skilled in the art (e.g.," a system having at least one of A, B and C "shall include, but not be limited to, a system having a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a formulation similar to at least one of "A, B or C, etc." is used, in general such a formulation should be interpreted in accordance with the ordinary understanding of one skilled in the art (e.g. "a system with at least one of A, B or C" would include but not be limited to systems with a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
The embodiment of the disclosure provides a test environment deployment method and a device capable of applying the method. The method comprises the following processes. And acquiring version information of each piece of software to be tested in the plurality of pieces of software to be tested and interface information of an interface of each piece of software to be tested, wherein each piece of software to be tested comprises a plurality of sub-application programs. Database table information required to test a plurality of sub-applications of each software to be tested is determined. And determining a routing strategy of each piece of software to be tested according to the version information of each piece of software to be tested and the interface information of each piece of software to be tested, wherein the routing strategy comprises a strategy of deploying a plurality of sub-application programs on physical equipment and a strategy of deploying database table information required by testing the plurality of sub-application programs of each piece of software to be tested on the same or different physical equipment. And deploying the plurality of sub-application programs and the database table information required by testing the plurality of sub-application programs of each piece of software to be tested on the corresponding physical equipment according to the routing strategy of each piece of software to be tested.
FIG. 1 schematically illustrates an exemplary system architecture in which test environment deployment methods and apparatus may be applied, according to embodiments of the present disclosure. It should be noted that fig. 1 is only an example of a system architecture to which embodiments of the present disclosure may be applied to assist those skilled in the art in understanding the technical content of the present disclosure, but does not mean that embodiments of the present disclosure may not be used in other devices, systems, environments, or scenarios.
As shown in fig. 1, the system architecture according to this embodiment may include an information acquisition server group 110, a resolution deployment server group 120, and a test server group 130. Each server group includes at least one server. For example, the information acquisition server group 110 may include an interface information acquisition server 111 and a version information acquisition server 112, the resolution deployment server group 120 may include a database table information determination server 121, a routing policy determination server 122, a program resource server 123, and a table information resource server 124, and the test server group 130 may include an application running server 131 and a test database server 132. The servers communicate via a network connection, which may include various connection types, such as wired and/or wireless communication links.
The information acquisition server set 110 may be configured to acquire version information of each of the plurality of software to be tested and interface information of an interface of each of the software to be tested. The interface information acquisition server 111 is used for acquiring interface information of an interface of the software to be tested, and the version information acquisition server 112 is used for acquiring version information of each software to be tested. After version information of the software to be tested and interface information of an interface of the software to be tested are provided to the information acquisition server set 110, the information acquisition server set 110 uploads the acquired information to the resolution deployment server set 120.
The parse deployment server set 120 may be used to determine database table information required to test multiple sub-applications of each piece of software to be tested, and determine routing policies for each piece of software to be tested. Wherein the database table information determining server 121 determines the database table information required for testing the plurality of sub-applications of each software to be tested, and the routing policy determining server 122 determines the routing policy of each software to be tested according to the version information of each software to be tested and the interface information of each software to be tested. The program resource server 123 deploys a plurality of sub-applications on corresponding physical devices in the test server group 130 according to the routing policy, and the table information resource server 124 deploys database table information required when testing a plurality of sub-applications of each software to be tested on corresponding physical devices in the test server group 130 according to the routing policy.
The test server group 130 may be used to store program resources and table information resources required for running the software to be tested, and is used for an actual test link of the software to be tested. The application running server 131 may receive the deployment of a plurality of sub-applications from the program resource server 123, store an application required for running the software to be tested, and run the software to be tested in an actual test link. The test database server 132 may receive a deployment of database table information from the table information resource server 124, store a database required to run the software under test, and provide database support in the actual test link.
The plurality of servers in the system architecture of the embodiment may be combined into one server as needed, and one server in the system architecture of the embodiment is further split as needed. For example, the interface information acquisition server 111 and the version information acquisition server 112 may be combined into one server, the database table information determination server 121 and the routing policy determination server 122 may be combined into one server, the routing policy determination server 122 may be further split into a server for assigning a physical device to each software to be tested, a server for acquiring an application program list, a server for establishing an association with a physical device, an application program, a database table, and the like.
The server in the system architecture of this embodiment may be an entity server or a virtual server capable of realizing the same function as the entity server. In the case of using a virtual server, different servers may be provided in the same entity service device. For example, as a server that can execute the test environment deployment method provided by the present invention, the information acquisition server group 110 and the analysis deployment server group 120 may be respectively provided in one virtual server, and the two virtual servers may be provided in the same computer host. The application running server 131 and the database server 132 for testing, which are the actual test links for the software to be tested, may be provided in other physical devices and physically isolated from the above-mentioned computer host.
It should be understood that the number of servers and the merging and splitting methods in fig. 1 are merely illustrative. There may be any number of servers, and the servers may be combined and/or split in a flexible manner, as desired for implementation.
Besides the current general scheme of setting up a set of test environment for each piece of software to be tested, some enterprises select a segmented test for reducing the investment of test cost, and an integrated test or a unit test is used for replacing an acceptance test, which can certainly influence the quality of the test, and the software enters a production link with a hidden disease. In the case of providing a test environment to the outside, some companies also provide external tests with a production environment, which increases production run-time garbage data, and the production environment is managed more severely than the test environment. The requirement of changing and inquiring data in the test faces the problem of overlong response time, so that the test efficiency is affected. The scheme provided by the disclosure can build a set of testing environment with dynamic configuration version, which is favorable for improving the testing efficiency, controlling the testing quality, reducing the testing cost and improving the external user experience.
Fig. 2 schematically illustrates a flow chart of a test environment deployment method according to an embodiment of the present disclosure.
As shown in fig. 2, the method includes operations S210 to S240.
In operation S210, version information of each of the plurality of software to be tested and interface information of an interface of each of the software to be tested are acquired. Wherein each piece of software to be tested comprises a plurality of sub-applications.
The plurality of software to be tested in the present disclosure is typically different versions of software based on the same underlying software, and has some of the same functional interfaces. Different software to be tested have a part of the same sub-application and a part of different sub-applications.
Then, database table information required when testing a plurality of sub-applications of each software to be tested is determined in operation S220.
In operation S230, a routing policy of each software to be tested is determined according to the version information of each software to be tested and the interface information of each software to be tested. The routing policy includes a policy of deploying a plurality of sub-applications on a physical device, and a policy of deploying database table information required when testing a plurality of sub-applications of each software to be tested on the same or different physical devices.
The physical devices may be multiple, and are used for actual testing links of the software to be tested, storing program resources and table information resources required by running the software to be tested, and the like. The physical device for deploying the plurality of sub-applications and the physical device for deploying the database table information required for testing the plurality of sub-applications of each software to be tested may be the same device or different devices, in which case the two may be physically isolated, for example. For example, a physical device for deploying a plurality of sub-applications may specifically accept deployment of a plurality of sub-applications, store applications required to run the software to be tested, and run the software to be tested in an actual test link. The physical device for deploying the database table information required for testing the plurality of sub-applications of each piece of software to be tested can specially accept the deployment of the database table information, store the database required for running the software to be tested, and provide database support in the actual test link.
In operation S240, according to the routing policy of each piece of software to be tested, a plurality of sub-applications and database table information required for testing the plurality of sub-applications of each piece of software to be tested are deployed on the corresponding physical devices.
According to the embodiment of the disclosure, the plurality of sub-application programs and the database table information required for testing the plurality of sub-application programs of each software to be tested can be deployed on the corresponding physical device according to the routing strategy of each software to be tested. Therefore, a plurality of sub-application programs and database table information can be deployed according to the version information, so that the pre-deployed sub-application programs and database information can be directly called when different versions of software to be tested are tested, the testing cost is saved, and the investment of human resources can be reduced in the aspect of operation and maintenance. And a set of test environment supporting parallel testing of multi-version software can be realized, the problems in the aspects of test data consistency, test environment stability, test resource sharing and the like caused by using a plurality of sets of test environments can be at least partially solved, and therefore, the method plays a great pushing role in improving the test efficiency, controlling the test quality, reducing the test cost and improving the user experience.
The method shown in fig. 2 is further described below with reference to fig. 3-4 in conjunction with the exemplary embodiment.
Fig. 3 schematically illustrates a flowchart of determining a routing policy for each software under test according to version information of each software under test and interface information of each software under test according to an embodiment of the present disclosure.
As shown in fig. 3, operation S230 may further include operations S231 to S233 in particular.
In operation S231, a physical device is allocated to each software to be tested according to version information of each software to be tested.
In operation S232, an application list is acquired according to interface information of each software to be tested. The application program list comprises a plurality of sub-application programs corresponding to each piece of software to be tested.
In operation S233, the physical device allocated for each piece of software to be tested is associated with a plurality of sub-applications corresponding to each piece of software to be tested, and the physical device allocated for each piece of software to be tested is associated with database table information required when the plurality of sub-applications are tested, so as to determine a routing policy of each piece of software to be tested.
According to the embodiment of the disclosure, the routing strategy of each piece of software to be tested can be determined according to the version information of each piece of software to be tested and the interface information of each piece of software to be tested. Therefore, the deployment of the test environment can be completed only by inputting the version number of each piece of software to be tested and selecting interface information to be used.
Fig. 4 schematically illustrates a flowchart of allocating physical devices to each software under test according to version information of each software under test according to an embodiment of the present disclosure.
As shown in fig. 4, operation S231 may further specifically include operations S410 to S430.
In operation S410, status information of a plurality of physical devices is acquired. The state information is used to characterize whether the physical device is in an idle state.
In operation S420, an idle physical device is determined according to state information of the plurality of physical devices.
In operation S430, a physical device is allocated for each software to be tested from among the idle physical devices according to version information of each software to be tested.
The physical devices may have different host operating systems, for example, different operating systems such as Unix, linix, windows may be installed. And according to the version information of the software to be tested, the operating system information matched with the software to be tested can be obtained. Thus, when a physical device is assigned to each piece of software to be tested, a physical device having an appropriate operating system is assigned.
According to the embodiment of the disclosure, the software to be tested can be automatically deployed to the physical equipment, the utilization rate of the physical equipment is improved, and the testing efficiency is improved.
According to an embodiment of the present disclosure, acquiring an application list according to interface information of each software to be tested includes: an application list of each piece of software to be tested is obtained from a pre-stored application set. The application set includes a plurality of sub-applications, and the sub-applications in the application set can form an application list of each of the plurality of software under test.
As previously mentioned, different software to be tested has a part of the same sub-application and a part of different sub-application. Thus, the total number of sub-applications in the application set is less than the sum of the sub-applications of all the software to be tested. For example, if there are five pieces of software to be tested, each piece of software to be tested is made up of 100 pieces of sub-applications, and each piece of software to be tested has 10 pieces of sub-applications different from the other pieces of software, the sum of the sub-applications of all pieces of software to be tested is 500, and the total number of sub-applications in the application set of the present disclosure is (100-10) +5x10=140. Thereby enabling saving device resources for storing the application program set.
According to the embodiment of the disclosure, a set of test environments supporting parallel testing of multi-version software can be realized, the problems in the aspects of test data consistency, test environment stability, test resource sharing and the like caused by using the multiple sets of test environments can be at least partially solved, and therefore, the improvement of test efficiency, the control of test quality, the reduction of test cost and the improvement of user experience are greatly promoted.
Fig. 5 schematically illustrates a block diagram of a test environment deployment apparatus according to an embodiment of the disclosure.
As shown in fig. 5, the test environment deployment apparatus 500 of the embodiment of the present disclosure includes an acquisition module 510, a first determination module 520, a second determination module 530, and a deployment module 540.
The obtaining module 510 is configured to obtain version information of each software to be tested in the plurality of software to be tested and interface information of an interface of each software to be tested. Wherein each piece of software to be tested comprises a plurality of sub-applications.
The first determining module 520 is configured to determine database table information required for testing a plurality of sub-applications of each piece of software to be tested.
The second determining module 530 is configured to determine a routing policy of each piece of software to be tested according to version information of each piece of software to be tested and interface information of each piece of software to be tested. The routing strategy comprises a strategy of deploying a plurality of sub-application programs on the physical equipment and a strategy of deploying database table information required for testing the plurality of sub-application programs of each software to be tested on the same or different physical equipment.
The deployment module 540 is configured to deploy, according to the routing policy of each piece of software to be tested, the plurality of sub-applications and database table information required for testing the plurality of sub-applications of each piece of software to be tested on the corresponding physical device.
Fig. 6 schematically illustrates a block diagram of a second determination module according to an embodiment of the disclosure.
As shown in fig. 6, the second determining module 530 of the embodiment of the present disclosure includes an allocating unit 531, an acquiring unit 532, and an associating unit 533.
The allocation unit 531 is configured to allocate a physical device to each piece of software to be tested according to version information of each piece of software to be tested.
The acquiring unit 532 is configured to acquire an application list according to interface information of each piece of software to be tested. The application program list comprises a plurality of sub-application programs corresponding to each piece of software to be tested.
The associating unit 533 is configured to associate the physical device allocated for each piece of software to be tested with the plurality of sub-applications corresponding to each piece of software to be tested, and associate the physical device allocated for each piece of software to be tested with database table information required when testing the plurality of sub-applications, so as to determine a routing policy of each piece of software to be tested.
Fig. 7 schematically shows a block diagram of a dispensing unit according to an embodiment of the present disclosure.
As shown in fig. 7, the allocation unit 531 of the embodiment of the present disclosure includes an acquisition subunit 710, a determination subunit 720, and an allocation subunit 730.
The acquiring subunit 710 is configured to acquire status information of a plurality of physical devices. Wherein the status information is used to characterize whether the physical device is in an idle state.
The determining subunit 720 is configured to determine an idle physical device according to the status information of the plurality of physical devices.
The allocation subunit 730 is configured to allocate a physical device for each piece of software to be tested from the idle physical devices according to version information of each piece of software to be tested.
According to an embodiment of the present disclosure, the acquiring unit 532 is configured to acquire an application list of each piece of software to be tested from a pre-stored application set. The application program set comprises a plurality of sub-application programs, and the sub-application programs in the application program set can form an application program list of each piece of software to be tested in the plurality of pieces of software to be tested.
Any number of modules, sub-modules, units, sub-units, or at least some of the functionality of any number of the sub-units according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented as split into multiple modules. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system-on-chip, a system-on-substrate, a system-on-package, an Application Specific Integrated Circuit (ASIC), or in any other reasonable manner of hardware or firmware that integrates or encapsulates the circuit, or in any one of or a suitable combination of three of software, hardware, and firmware. Alternatively, one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be at least partially implemented as computer program modules, which when executed, may perform the corresponding functions.
For example, any of the acquisition module 510, the first determination module 520, the second determination module 530, and the deployment module 540 may be combined in one module/unit/sub-unit or any of the modules/units/sub-units may be split into a plurality of modules/units/sub-units. Alternatively, at least some of the functionality of one or more of these modules/units/sub-units may be combined with at least some of the functionality of other modules/units/sub-units and implemented in one module/unit/sub-unit. According to embodiments of the present disclosure, at least one of the acquisition module 510, the first determination module 520, the second determination module 530, and the deployment module 540 may be implemented at least in part as hardware circuitry, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in hardware or firmware in any other reasonable manner of integrating or packaging the circuitry, or in any one of or a suitable combination of three of software, hardware, and firmware. Alternatively, at least one of the acquisition module 510, the first determination module 520, the second determination module 530, and the deployment module 540 may be at least partially implemented as a computer program module, which when executed, may perform the respective functions.
It should be noted that, the test environment deployment device in the embodiment of the present disclosure corresponds to the test environment deployment method in the embodiment of the present disclosure, and the description of the test environment deployment device portion specifically refers to the test environment deployment method portion and is not described herein again.
The electronic device of the disclosed embodiments includes one or more processors and memory for storing one or more instructions that, when executed by the one or more processors, cause the one or more processors to implement the methods described above.
Fig. 8 schematically illustrates a block diagram of an electronic device according to an embodiment of the disclosure. The electronic device shown in fig. 8 is merely an example and should not be construed to limit the functionality and scope of use of the disclosed embodiments.
As shown in fig. 8, an electronic device 800 according to an embodiment of the present disclosure includes a processor 801 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 802 or a program loaded from a storage section 808 into a Random Access Memory (RAM) 803. The processor 801 may include, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or an associated chipset and/or special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), or the like. The processor 801 may also include on-board memory for caching purposes. The processor 801 may include a single processing unit or multiple processing units for performing the different actions of the method flows according to embodiments of the disclosure.
In the RAM 803, various programs and data required for the operation of the electronic device 800 are stored. The processor 801, the ROM 802, and the RAM 803 are connected to each other by a bus 804. The processor 801 performs various operations of the method flow according to the embodiments of the present disclosure by executing programs in the ROM 802 and/or the RAM 803. Note that the program may be stored in one or more memories other than the ROM 502 and the RAM 803. The processor 801 may also perform various operations of the method flows according to embodiments of the present disclosure by executing programs stored in the one or more memories.
According to an embodiment of the present disclosure, the electronic device 800 may also include an input/output (I/O) interface 805, the input/output (I/O) interface 805 also being connected to the bus 804. The electronic device 800 may also include one or more of the following components connected to the I/O interface 805: an input portion 806 including a keyboard, mouse, etc.; an output portion 807 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and a speaker; a storage section 808 including a hard disk or the like; and a communication section 809 including a network interface card such as a LAN card, a modem, or the like. The communication section 809 performs communication processing via a network such as the internet. The drive 810 is also connected to the I/O interface 805 as needed. A removable medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 810 as needed so that a computer program read out therefrom is mounted into the storage section 808 as needed.
According to embodiments of the present disclosure, the method flow according to embodiments of the present disclosure may be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable storage medium, the computer program comprising program code for performing the method shown in the flowcharts. In such an embodiment, the computer program may be downloaded and installed from a network via the communication section 809, and/or installed from the removable media 811. The above-described functions defined in the system of the embodiments of the present disclosure are performed when the computer program is executed by the processor 801. The systems, devices, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the disclosure.
The computer-readable storage medium of the embodiments of the present disclosure stores executable instructions that, when executed by a processor, cause the processor to implement the methods described above.
The present disclosure also provides a computer-readable storage medium that may be embodied in the apparatus/device/system described in the above embodiments; or may exist alone without being assembled into the apparatus/device/system. The computer-readable storage medium carries one or more programs which, when executed, implement methods in accordance with embodiments of the present disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium. Examples may include, but are not limited to: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this disclosure, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
For example, according to embodiments of the present disclosure, the computer-readable storage medium may include ROM 802 and/or RAM 803 and/or one or more memories other than ROM 802 and RAM 803 described above.
By using the test environment deployment method, the test environment deployment device, the electronic equipment or the computer readable storage medium, different versions of the software to be tested can be configured for the same test data in actual test, so that parallel test of multiple versions of the software to be tested can be completed, further, the test result and the database change are automatically compared, and the basis for judging the test result is provided.
The method and the device take the version number and the interface program of the software to be tested as inlets, configure the minimum application program set and the database set required by the test, dynamically complete the deployment of the interface function test environment of the software to be tested with the appointed version, and realize the release of resources after the test is completed.
According to the test environment deployment method, the test environment deployment device, the electronic equipment and the computer readable storage medium, physical resources are dynamically allocated according to the routing strategy based on the version number, and the physical program and the table resource management are independently deployed, so that the test agility can be improved, the test resources can be saved, and the capability of the test environment for providing services to the outside can be enhanced. The method has the advantages that the ultra-short-term life cycle of the software product is rapidly dealt with by configuring a plurality of sub-application programs, the multi-version overlapped test requirements are met, the regression test speed is increased, and the regression test quality is improved. And the comparison of multi-version test results is truly realized, the stability of the system is improved, the influence of system events on enterprises is avoided, and meanwhile, the competitiveness of the enterprises is improved to a certain extent through the improvement of software quality. Along with the improvement of test speed and quality and the implementation of test automation, the demand on professional testers is gradually reduced, more scenes and cases are solidified in the comparison of data and test results, the test cost can be greatly saved, the test manpower resources are liberated, the whole life cycle of the product can be inclined towards the demand and development stages, and the virtuous circle for improving the quality of software is formed.
The present disclosure is based on the current state of software system testing in the financial field, but can be extended to the preparation of testing environments related to the software testing field, and has wide practicability and applicability.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of methods, apparatus electronics, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. Those skilled in the art will appreciate that the features recited in the various embodiments of the disclosure and/or in the claims may be combined in various combinations and/or combinations, even if such combinations or combinations are not explicitly recited in the disclosure. In particular, the features recited in the various embodiments of the present disclosure and/or the claims may be variously combined and/or combined without departing from the spirit and teachings of the present disclosure. All such combinations and/or combinations fall within the scope of the present disclosure.
The embodiments of the present disclosure are described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described above separately, this does not mean that the measures in the embodiments cannot be used advantageously in combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be made by those skilled in the art without departing from the scope of the disclosure, and such alternatives and modifications are intended to fall within the scope of the disclosure.

Claims (8)

1. A test environment deployment method, comprising:
the method comprises the steps of obtaining version information of each piece of software to be tested in a plurality of pieces of software to be tested and interface information of an interface of each piece of software to be tested, wherein each piece of software to be tested comprises a plurality of sub-application programs;
determining database table information required for testing a plurality of sub-application programs of each piece of software to be tested;
determining a routing strategy of each piece of software to be tested according to the version information of each piece of software to be tested and the interface information of each piece of software to be tested, wherein the routing strategy comprises a strategy of deploying the plurality of sub-application programs on physical equipment and a strategy of deploying database table information required by testing the plurality of sub-application programs of each piece of software to be tested on the same or different physical equipment; and
According to the routing strategy of each piece of software to be tested, the plurality of sub-application programs and the database table information required by testing the plurality of sub-application programs of each piece of software to be tested are deployed on the corresponding physical equipment,
the determining the routing policy of each piece of software to be tested according to the version information of each piece of software to be tested and the interface information of each piece of software to be tested includes:
distributing physical equipment for each piece of software to be tested according to the version information of each piece of software to be tested;
acquiring an application program list according to the interface information of each piece of software to be tested, wherein the application program list comprises a plurality of sub-application programs corresponding to each piece of software to be tested; and
and associating the physical equipment allocated for each piece of software to be tested with a plurality of sub-application programs corresponding to each piece of software to be tested, and associating the physical equipment allocated for each piece of software to be tested with database table information required by testing the plurality of sub-application programs so as to determine the routing strategy of each piece of software to be tested.
2. The method of claim 1, wherein assigning physical devices to each piece of software to be tested according to the version information of the each piece of software to be tested comprises:
Acquiring state information of a plurality of physical devices, wherein the state information is used for representing whether the physical devices are in an idle state or not;
determining an idle physical device according to the state information of the plurality of physical devices; and
and distributing physical equipment for each piece of software to be tested from the idle physical equipment according to the version information of each piece of software to be tested.
3. The method of claim 1, wherein obtaining the application list according to the interface information of each piece of software to be tested comprises:
and acquiring an application program list of each piece of software to be tested from a pre-stored application program set, wherein the application program set comprises a plurality of sub-application programs, and the sub-application programs in the application program set can form the application program list of each piece of software to be tested in the plurality of pieces of software to be tested.
4. A test environment deployment apparatus, comprising:
the system comprises an acquisition module, a test module and a test module, wherein the acquisition module is used for acquiring version information of each piece of software to be tested in a plurality of pieces of software to be tested and interface information of an interface of each piece of software to be tested, and each piece of software to be tested comprises a plurality of sub-application programs;
the first determining module is used for determining database table information required by testing a plurality of sub-application programs of each piece of software to be tested;
A second determining module, configured to determine a routing policy of each piece of software to be tested according to version information of each piece of software to be tested and interface information of each piece of software to be tested, where the routing policy includes a policy of deploying the plurality of sub-applications on a physical device, and a policy of deploying database table information required when testing the plurality of sub-applications of each piece of software to be tested on the same or different physical devices; and
a deployment module for deploying the plurality of sub-application programs and the database table information required by testing the plurality of sub-application programs of each software to be tested on the corresponding physical equipment according to the routing strategy of each software to be tested,
wherein the second determining module includes:
the distribution unit is used for distributing physical equipment for each piece of software to be tested according to the version information of each piece of software to be tested;
the acquisition unit is used for acquiring an application program list according to the interface information of each piece of software to be tested, wherein the application program list comprises a plurality of sub-application programs corresponding to each piece of software to be tested; and
the association unit is used for associating the physical equipment allocated for each piece of software to be tested with the plurality of sub-application programs corresponding to each piece of software to be tested, and associating the physical equipment allocated for each piece of software to be tested with database table information required by testing the plurality of sub-application programs so as to determine the routing strategy of each piece of software to be tested.
5. The apparatus of claim 4, the dispensing unit comprising:
an obtaining subunit, configured to obtain state information of a plurality of physical devices, where the state information is used to characterize whether the physical devices are in an idle state;
a determining subunit, configured to determine an idle physical device according to state information of the plurality of physical devices; and
and the allocation subunit is used for allocating physical equipment for each piece of software to be tested from the idle physical equipment according to the version information of each piece of software to be tested.
6. The apparatus according to claim 4, wherein the obtaining unit is configured to obtain the application list of each piece of software to be tested from a pre-stored application set, where the application set includes a plurality of sub-applications, and the sub-applications in the application set can compose the application list of each piece of software to be tested in the plurality of pieces of software to be tested.
7. An electronic device, comprising:
one or more processors;
a memory for storing one or more instructions,
wherein the one or more instructions, when executed by the one or more processors, cause the one or more processors to implement the method of any of claims 1 to 3.
8. A computer readable storage medium storing executable instructions which, when executed by a processor, cause the processor to implement the method of any one of claims 1 to 3.
CN201910658688.5A 2019-07-19 2019-07-19 Test environment deployment method and device, electronic equipment and readable storage medium Active CN110389903B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910658688.5A CN110389903B (en) 2019-07-19 2019-07-19 Test environment deployment method and device, electronic equipment and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910658688.5A CN110389903B (en) 2019-07-19 2019-07-19 Test environment deployment method and device, electronic equipment and readable storage medium

Publications (2)

Publication Number Publication Date
CN110389903A CN110389903A (en) 2019-10-29
CN110389903B true CN110389903B (en) 2023-08-22

Family

ID=68286903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910658688.5A Active CN110389903B (en) 2019-07-19 2019-07-19 Test environment deployment method and device, electronic equipment and readable storage medium

Country Status (1)

Country Link
CN (1) CN110389903B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324538B (en) * 2020-02-20 2024-03-08 上海赛可出行科技服务有限公司 Dynamic routing-based micro-service parallel test environment management method
CN111367810B (en) * 2020-03-09 2024-03-01 杭州迪普科技股份有限公司 Test environment generation method, device, system, electronic equipment and readable medium
CN111813683B (en) * 2020-07-14 2023-10-03 深圳前海移联科技有限公司 Universal automatic synchronization method for software testing environment
CN113420010B (en) * 2021-06-23 2023-05-26 中国建设银行股份有限公司 Database management method, device, electronic equipment and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289460A (en) * 2011-07-13 2011-12-21 中国工商银行股份有限公司 Method and system for performing report metadata synchronization on testing environments
CN103810105A (en) * 2014-03-06 2014-05-21 中国工商银行股份有限公司 Method and device for detecting application program version
CN108255737A (en) * 2018-02-27 2018-07-06 郑州云海信息技术有限公司 Based on multi version operating system testing method, system and equipment and storage medium
CN108268374A (en) * 2017-11-03 2018-07-10 平安科技(深圳)有限公司 software version test method, device, terminal device and storage medium
CN109298996A (en) * 2018-07-13 2019-02-01 万达百汇科技(深圳)有限公司 A kind of test method, device and terminal device
CN109446069A (en) * 2018-09-26 2019-03-08 平安普惠企业管理有限公司 Compatibility test method, device, computer equipment and medium
CN109614311A (en) * 2018-10-23 2019-04-12 深圳壹账通智能科技有限公司 Applied program testing method and device, electronic equipment, storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015654B2 (en) * 2012-08-13 2015-04-21 Bitbar Technologies Oy System for providing test environments for executing and analysing test routines

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289460A (en) * 2011-07-13 2011-12-21 中国工商银行股份有限公司 Method and system for performing report metadata synchronization on testing environments
CN103810105A (en) * 2014-03-06 2014-05-21 中国工商银行股份有限公司 Method and device for detecting application program version
CN108268374A (en) * 2017-11-03 2018-07-10 平安科技(深圳)有限公司 software version test method, device, terminal device and storage medium
CN108255737A (en) * 2018-02-27 2018-07-06 郑州云海信息技术有限公司 Based on multi version operating system testing method, system and equipment and storage medium
CN109298996A (en) * 2018-07-13 2019-02-01 万达百汇科技(深圳)有限公司 A kind of test method, device and terminal device
CN109446069A (en) * 2018-09-26 2019-03-08 平安普惠企业管理有限公司 Compatibility test method, device, computer equipment and medium
CN109614311A (en) * 2018-10-23 2019-04-12 深圳壹账通智能科技有限公司 Applied program testing method and device, electronic equipment, storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
支持协同测试的软件测试信息管理系统;丁毓峰等;《计算机工程》;20050605(第06期);全文 *

Also Published As

Publication number Publication date
CN110389903A (en) 2019-10-29

Similar Documents

Publication Publication Date Title
CN110389903B (en) Test environment deployment method and device, electronic equipment and readable storage medium
US11960915B2 (en) Method and apparatus for creating virtual machine based on parameter information of a virtual network interface card
US9323577B2 (en) Automated profiling of resource usage
US8104038B1 (en) Matching descriptions of resources with workload requirements
US20190250946A1 (en) Migrating a software container taking into account resource constraints
US20140047084A1 (en) System and method for modifying a hardware configuration of a cloud computing system
CN110377520B (en) Transaction scenario testing method and device, electronic equipment and readable storage medium
CN108255707B (en) Development role creating method, device, equipment and storage medium of test case
CN111176818B (en) Distributed prediction method, device, system, electronic equipment and storage medium
CN108595306A (en) A kind of service performance testing method towards mixed portion's cloud
EP2883140A1 (en) System and method for tuning a cloud computing system
CN108809683B (en) Method and device for deploying cloud application system
Kjorveziroski et al. Kubernetes distributions for the edge: serverless performance evaluation
CN111078516A (en) Distributed performance test method and device and electronic equipment
US10318343B2 (en) Migration methods and apparatuses for migrating virtual machine including locally stored and shared data
US10747705B2 (en) On-chip accelerator management
US20210294730A1 (en) Managing resources used during a development pipeline
CN113760499A (en) Method, device, computing equipment and medium for scheduling computing unit
CN112905317A (en) Task scheduling method and system under rapid reconfigurable signal processing heterogeneous platform
CN115794384A (en) Code compiling task allocation method, device, equipment and storage medium
CN115202820A (en) Method, device and equipment for creating Pod unit and storage medium
US11307889B2 (en) Schedule virtual machines
CN115292176A (en) Pressure testing method, device, equipment and storage medium
CN114546424A (en) Application release method, device and equipment
US11954512B2 (en) Control device and control method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant