Software testing and delivery method, device and system, storage medium and program product
Through an automated software version testing and delivery method, the problem of difficult to ensure the quality of software version management and inspection is solved, and the full process automation of software test delivery is realized, and efficiency and quality are improved.
Patent Information
- Application Number
- CN202411536512.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-31
- Publication Date
- 2025-02-11
AI Technical Summary
The existing software testing platform and software testing delivery methods are difficult to effectively manage the fast-growing software product version, which makes it difficult to guarantee the quality of version inspection, too long delivery time, easy to make mistakes in manual operations, and not very flexible and scalable.
Provide a software version testing and delivery method, by obtaining test instructions, obtaining version information, generating version verification scripts, obtaining version calendars, packaging them into version packages and conducting tests, generating test results, and determining whether the version package is qualified and fails. The version is backed up and the version package is delivered when qualified.
It realizes the automation of the entire process of software testing and delivery, improves work efficiency, ensures the quality of software delivery, reduces the probability of errors, and supports cross-platform and cross-system multi-process interspersed scenarios.
Smart Images

Figure CN119415433A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a software testing and delivery method, device, system, storage medium and program product. Background Art
[0002] With the continuous advancement of science and technology, the application fields of various software products are becoming wider and wider, and the frequency of use is increasing. The delivery difficulty and frequency of software product version inspection are also gradually increasing. The existing software testing platform and software testing delivery method are difficult to meet the gradually increasing needs, which brings the following problems:
[0003] 1. Difficulty in version management: The rapid growth in demand for software products has led to an increasing number of software product versions, making version management more complicated. The differences in the control methods of various process control links of the existing software testing platform require numerous management tools for management, and the coupling relationship between these management tools is complex, making them inconvenient to use.
[0004] 2. Version inspection quality is difficult to guarantee: Software upgrades and updates need to undergo strict version inspection tests before they can be delivered. As the number of versions of software products continues to increase, but time, manpower, material resources and other resources are limited, it is difficult to guarantee the quality of version inspection tests, which leads to various problems after the software version is released.
[0005] 3. Delivery time is too long: Due to the rapid growth of software demand, software upgrades and updates need to go through version verification, installation testing, delivery and other steps, resulting in a relatively long software testing delivery cycle. This problem is particularly prominent for large projects and complex systems.
[0006] 4. Manual operation is prone to errors: Since software version upgrades and updates involve multiple links and the cooperation of multiple people from different lines, the existing software testing platforms and software testing delivery methods are more likely to have operational errors when manual testing is used, increasing the probability of problems when the software version is released.
[0007] 5. The existing software testing platforms and software testing delivery methods are not flexible and scalable, and only provide a single test automation function. They have not formed a closed loop of testing, problem handling, and final delivery, and lack support for cross-platform, cross-system, and multi-process scenarios. Summary of the invention
[0008] The purpose of the embodiments of the present application is to provide a software testing and delivery method, device, system, storage medium and program product to solve one, two or more of the above-mentioned problems.
[0009] In order to achieve the above-mentioned objectives, the first aspect of the present application provides a software version testing and delivery method, the method comprising: obtaining a test instruction; in response to the test instruction, obtaining the version information of the software to be tested, the version information including the version installation self-service control table of the software to be tested; based on the version information, generating a version verification script; obtaining a version calendar; based on the version verification script and the version calendar, packaging the software to be tested into a version package, and testing the version package based on an exception handling rule library to generate a test result; based on the test result, determining whether the version package is qualified, if the version package is unqualified, rolling back the version of the version package, if the version package is qualified, delivering the version package.
[0010] In an embodiment of the present application, the step of generating a version verification script based on the version information includes: based on the version information, obtaining the operating system model of the running device of the software to be tested and the database incremental update information or the database full update information; based on the operating system model and the database incremental update information or the database full update information, cutting matching code from the full code template room to obtain a version verification script that matches the software to be tested.
[0011] In an embodiment of the present application, the software to be tested is packaged into a version package based on a version verification script and a version calendar, and the version package is tested based on an exception handling rule library, and the steps of generating test results include: based on the version verification script and the version calendar, the software to be tested is packaged into a version package, and the version package is uploaded to a version testing tool; after the version package is uploaded to the version testing tool, the exception handling rule library is called to match the data integrity, service registration status, jar package version, database, application log, and error code of the version package to generate a test result.
[0012] In an embodiment of the present application, based on the version verification script and the version calendar, the steps of packaging the software to be tested into a version package, and uploading the version package to the version testing tool include: calling the version calendar through the version verification script to obtain the version release time of the software to be tested; calling the pipeline interface to update the version release time, the code branch of the software to be tested, and the database incremental update information or the database full update information of the software to be tested; based on the preset code baseline directory, packaging the software to be tested into a version package, and uploading the version package to the version testing tool.
[0013] In an embodiment of the present application, the step of uploading the version package to the version testing tool includes: based on the version verification script, calling the security vulnerability scanning tool to scan the disk space usage, table space usage, SQL statement quality, batch job quality, and file character encoding of the version package and calling the exception handling rule library for matching verification, and judging whether there is an abnormality in the upload environment of the version package. If there is an abnormality, the upload is stopped and a prompt is issued; if there is no abnormality, the upload is started; after starting the upload, the version installation self-service page is called, the preset self-service control table is imported, and the supporting script is called to upload and deploy the version package; calling the exception handling rule library, obtaining the upload status of the version package based on the preset frequency, and judging whether the upload status is abnormal, if the upload status is abnormal, the upload is interrupted or a prompt is issued, and if the upload status is normal, the upload is maintained until the upload is completed.
[0014] In an embodiment of the present application, the step of determining whether a version package is qualified based on the test results includes: determining whether an exception that matches an exception handling rule base occurs in the version package based on the test results; if an exception occurs, the version package is unqualified; if no exception occurs, the version package is qualified.
[0015] In an embodiment of the present application, the steps of delivering a version package include: obtaining a self-service control table and supporting scripts of the version package; transmitting the version package, the self-service control table and the supporting scripts to a version testing tool to complete the delivery.
[0016] In an embodiment of the present application, after the step of if the version package is unqualified, the method also includes: generating analysis results and issuing prompts based on the unqualified version package; improving the exception handling rule library based on the analysis results, and generating a capability portrait corresponding to the analysis results.
[0017] In an embodiment of the present application, the version information also includes the system name of the software to be tested, the IP address of the running device, the user name, and the code branch name.
[0018] The second aspect of the present application provides a software version testing and delivery device, which includes: a first acquisition module, used to obtain test instructions; a second acquisition module, used to respond to the test instructions, to obtain version information of the software to be tested, the version information including the version installation self-service control table of the software to be tested; a generation module, used to generate a version verification script based on the version information; a third acquisition module, used to obtain a version calendar; a testing module, used to package the software to be tested into a version package based on the version verification script and the version calendar, and test the version package based on an exception handling rule library to generate a test result; a judgment module, used to judge whether the version package is qualified based on the test result, if the version package is unqualified, the version of the version package is rolled back, if the version package is qualified, the software to be tested is delivered.
[0019] The third aspect of the present application provides a software version testing and delivery system, the system including: a software automation testing platform and an exception handling rule library, the software automation testing platform is used to obtain test instructions; in response to the test instructions, obtain version information of the software to be tested, the version information includes a version installation self-service control table of the software to be tested; based on the version information, generate a version verification script; obtain a version calendar; based on the version verification script and the version calendar, package the software to be tested into a version package, and test the version package based on the exception handling rule library to generate test results; and is also used to call the exception handling rule library based on the test results to determine whether the version package is qualified, if the version package is unqualified, roll back the version of the version package, if the version package is qualified, deliver the version package.
[0020] The fourth aspect of the present application provides a machine-readable storage medium, which stores instructions. When the instructions are executed by a processor, the processor is configured to execute the software version testing and delivery method of any of the aforementioned embodiments of the first aspect of the present invention.
[0021] The fifth aspect of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the software version testing and delivery method of any of the aforementioned embodiments of the first aspect of the present invention.
[0022] The above technical solution is compatible with different testing platforms and different operating systems, and can realize the automation of the entire test delivery process of the software to be tested. When the software to be tested fails, timely processing can be carried out to avoid releasing problematic software versions, which greatly improves the work efficiency of software test delivery, ensures the quality of software delivery, and reduces the probability of errors in software test delivery.
[0023] Other features and advantages of the embodiments of the present application will be described in detail in the subsequent specific implementation section. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] The accompanying drawings are used to provide a further understanding of the embodiments of the present application and constitute a part of the specification. Together with the following specific implementations, they are used to explain the embodiments of the present application, but do not constitute a limitation on the embodiments of the present application. In the accompanying drawings:
[0025] Figure 1 A schematic diagram of an application environment of a software version testing and delivery method according to an embodiment of the present application is schematically shown;
[0026] Figure 2 The following is a schematic diagram showing a process flow of a software version testing and delivery method according to an embodiment of the present application;
[0027] Figure 3The flowchart of step S130 of the software version testing and delivery method according to an embodiment of the present application is schematically shown;
[0028] Figure 4 The flowchart of step S150 of the software version testing and delivery method according to an embodiment of the present application is schematically shown;
[0029] Figure 5 The flowchart of step S151 of the software version testing and delivery method according to an embodiment of the present application is schematically shown;
[0030] Figure 6 The flowchart of step S160 of the software version testing and delivery method according to an embodiment of the present application is schematically shown;
[0031] Figure 7 A schematic diagram of a process flow of a software version testing and delivery method according to another embodiment of the present application is shown;
[0032] Figure 8 The following schematically shows a flow chart of a method for software version testing and delivery according to an embodiment of the present application;
[0033] Fig. 9 The following schematically shows a structural block diagram of a software version testing and delivery system according to an embodiment of the present application;
[0034] Fig.10 The following schematically shows a structural block diagram of a software version testing and delivery device according to an embodiment of the present application;
[0035] Fig.11 The internal structure diagram of a computer device according to an embodiment of the present application is schematically shown.
[0036] Description of reference numerals:
[0037] 101-terminal; 102-server;
[0038] 200-software version testing and delivery device; 210-first acquisition module; 220-second acquisition module; 230-generation module; 240-third acquisition module; 250-test module; 260-judgment module;
[0039] 300-Software version testing and delivery system; 310-Software automated testing platform; 320-Exception handling rule library;
[0040] A01-processor; A02-network interface; A03-internal memory; A04-display screen; A05-input device; A06-non-volatile storage medium;
[0041] B01- Operating system; B02- Computer program. DETAILED DESCRIPTION
[0042] In order to make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. It should be understood that the specific implementation methods described herein are only used to illustrate and explain the embodiments of the present application, and are not used to limit the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0043] It should be noted that if the embodiments of the present application involve directional indications (such as up, down, left, right, front, back...), the directional indications are only used to explain the relative position relationship, movement status, etc. between the components under a certain specific posture (as shown in the accompanying drawings). If the specific posture changes, the directional indication will also change accordingly.
[0044] In addition, if there are descriptions involving "first", "second", etc. in the embodiments of the present application, the descriptions of "first", "second", etc. are only used for descriptive purposes and cannot be understood as indicating or suggesting their relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In addition, the technical solutions between the various embodiments can be combined with each other, but they must be based on the ability of ordinary technicians in the field to implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection required by this application.
[0045] The acquisition, transmission, storage, use, and processing of data in the technical solution of this application are in compliance with the relevant provisions of national laws and regulations. In addition, it should be noted that in the embodiments of this application, some existing solutions in the industry such as certain software, components, and models may be mentioned, which should be considered as exemplary, and their purpose is only to illustrate the feasibility of the implementation of the technical solution of this application, but it does not mean that the applicant has or will necessarily use the solution.
[0046] The software version testing and delivery method provided in this application can be applied to Figure 1 In the application environment shown, the terminal 101 communicates with the server 102 through the network. The terminal 101 can be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, and portable wearable devices, and the server 102 can be implemented by an independent server or a server cluster composed of multiple servers.
[0047] Figure 2 The following schematically shows a flow chart of a software version testing and delivery method according to an embodiment of the present application. Figures 2 to 6 As shown, in one embodiment of the present application, a software version testing and delivery method is provided. This embodiment mainly applies this method to the above Figure 1 Taking the terminal 101 (or server 102) in FIG. 1 as an example, the software version testing and delivery method includes steps S110 to S160.
[0048] In step S110 , a test instruction is obtained.
[0049] In this embodiment, the software version testing and delivery method is applied to the software version automatic testing and delivery platform, and the operation and maintenance personnel can establish communication with the software version automatic testing and delivery platform through the terminal 101. Before testing the software version, the operation and maintenance personnel need to enter or revise the software product information to generate corresponding test instructions. After receiving the entered or revised information, that is, the test instructions, the software version automatic testing and delivery platform will start the automated testing and delivery process for the software version.
[0050] In step S120, in response to the test instruction, the version information of the software to be tested is obtained, wherein the version information includes a version installation self-service control table of the software to be tested.
[0051] like Figure 8 As shown, in some embodiments, after entering or revising the software product information, the software version automatic test delivery platform will automatically detect the version information and obtain the version information of the software to be tested. The version installation self-service control table is used to manage and record the version and installation data of the software to be tested, including the software version information / system name, running device IP, user name, and code branch name of the software to be tested.
[0052] The version information includes the version installation self-service control table, which includes the system name of the software to be tested, the IP address of the running device, the user name, and the code branch name. The software version automatic test delivery platform can perform subsequent automated test delivery processes based on the received version information.
[0053] In step S130, a version verification script is generated based on the version information.
[0054] In some embodiments, step S130 includes steps S131 to S132.
[0055] In step S131, based on the version information, the operating system model of the device running the software to be tested and the database incremental update information or the database full update information are obtained;
[0056] In step S132, based on the operating system model and the incremental update information of the database or the full update information of the database, matching codes are cut from the full code boilerplate to obtain a version verification script matching the software to be tested.
[0057] In this embodiment, the version verification script is a python automated operation and maintenance script, which is used to upload and test the software to be tested.
[0058] In addition to the python automated operation and maintenance script, you can also obtain the automated operation and maintenance script through Java, C language or other languages for uploading and testing the software to be tested. This application does not make specific limitations.
[0059] In step S140, the version calendar is obtained.
[0060] In this embodiment, the version calendar includes software version release date information, which is used to package the software to be tested. The version calendar can be in a semantic version form, a calendar version form, an identifier form, a combined version number form, a build number form, or other forms to record the version release date information of the software to be tested.
[0061] In step S150, the software to be tested is packaged into a version package based on the version verification script and the version calendar, and the version package is tested based on the exception handling rule library to generate a test result.
[0062] In some embodiments, step S150 includes steps S151 to S152.
[0063] In step S151 , the software to be tested is packaged into a version package based on the version verification script and the version calendar, and the version package is uploaded to the version testing tool.
[0064] Among them, step S151 includes step S1511 to step S1513.
[0065] In step S1511, the version calendar is called by the version verification script to obtain the version release time of the software to be tested.
[0066] In step S1512, the pipeline interface is called to update the version release time, the code branch of the software to be tested, and the database incremental update information or database full update information of the software to be tested.
[0067] In step S1513, based on the preset code baseline directory, the software to be tested is packaged into a version package, and the version package is uploaded to the version testing tool.
[0068] In this embodiment, the version verification script can automatically package the software to be tested into a version package, thereby improving the efficiency of the packaging process.
[0069] When uploading the version package to the version testing tool, the specific steps include:
[0070] Step 1: Based on the version verification script, call the security vulnerability scanning tool to scan the disk space usage, table space usage, SQL statement quality, batch job quality, and file character encoding of the version package, and call the exception handling rule library for matching verification to determine whether there is an exception in the version package upload environment. If there is an exception, stop uploading and issue a prompt. If there is no exception, start uploading;
[0071] Step 2: After starting to upload, call the version installation self-service page, import the preset self-service control table, and call the supporting script to upload and deploy the version package;
[0072] Step 3: Call the exception handling rule library, obtain the upload status of the version package based on the preset frequency, and determine whether the upload status is abnormal. If the upload status is abnormal, interrupt the upload or issue a prompt. If the upload status is normal, keep uploading until the upload is completed.
[0073] In this embodiment, the version verification script is also used to match the exception handling rule library before uploading the software version, so as to realize the remote check of the MD5 consistency of the software version package and avoid the exception of the version package.
[0074] If there is an exception in the version package, a prompt will be issued for the version package with the exception according to the exception handling rule base, or the version package will be cleaned up, or the release of the version package will be interrupted, and the exception information of the version package with the exception will be recorded.
[0075] In step S152, after the version package is uploaded to the version testing tool, the exception handling rule library is called to match the data integrity, service registration status, jar package version, database, application log, and error code of the version package to generate a test result.
[0076] In this embodiment, a match check is performed on the uploaded version package after installation through the exception handling rule library to generate a test result to automatically determine whether the uploaded version package is normal, thereby realizing automatic inspection and testing of the uploaded version package to avoid data loss, error codes and other anomalies after the version package is uploaded, thereby ensuring the normal upload of the version package and subsequent normal delivery.
[0077] In step S160, based on the test result, it is determined whether the version package is qualified. If the version package is unqualified, the version of the version package is rolled back. If the version package is qualified, the version package is delivered.
[0078] In some embodiments, based on the test results, the step of determining whether the version package is qualified includes: based on the test results, determining whether the version package has an exception that matches the exception handling rule library; if an exception occurs, the version package is unqualified; if no exception occurs, the version package is qualified.
[0079] In this embodiment, if the version package is unqualified, a prompt will be issued to remind the operation and maintenance personnel, or the software version will be rolled back and the abnormal information of the version package will be recorded to avoid the delivery of abnormal version packages and thus affect user use. If the version package is qualified, it proves that the test of the software to be tested is qualified and can be delivered normally.
[0080] In some embodiments, the step of delivering the release package includes:
[0081] Obtain the self-service control table and supporting scripts of the version package; after obtaining the self-service control table and supporting scripts of the version package, transfer the version package, self-service control table and supporting scripts to the version testing tool to complete the delivery.
[0082] In this embodiment, after the test of the version package is completed, the version package is tested to be qualified. The version package and the self-service control table and supporting script that match the version package are automatically transmitted to the version testing tool, so that the version testing tool can automatically deliver the version package and complete the automation of the entire process of test delivery of the software to be tested.
[0083] For example, this application is based on the selenium automated testing framework, and uses a python script to install the version of the software to be tested, automatically match the rules of the exception handling rule library, perform exception inspections, generate corresponding report displays, and provide automated delivery after the inspection passes, thereby realizing full-process automated testing and delivery work.
[0084] The selenium automated testing framework can execute the installation process of the software version to be tested, including downloading, starting the installation program, filling in installation information and other steps, and detect and confirm whether the installation is successful, thereby realizing automated testing delivery.
[0085] Alternatively, you can also combine NW.js with the Angular front-end framework to generate supporting scripts to test and deliver the software to be tested, thus achieving full-process automated testing and delivery.
[0086] During the delivery process, Jenkins, Git or other testing tools can be used to perform delivery testing on the software to be tested to achieve automated delivery.
[0087] like Figure 7As shown, another embodiment of the software version testing and delivery method of the present application includes steps S210 to S280. Among them, steps S210 to S260 are the same as steps S110 to S160 of the software version testing and delivery method of the above embodiment of the present application, and will not be repeated here. The differences between the two will be described below.
[0088] If the version package is unqualified in step S160, the method of the present invention further includes:
[0089] Step S270, based on the unqualified version package, an analysis result is generated and a prompt is issued;
[0090] Step S280, improve the exception handling rule library based on the analysis results, and generate a capability profile corresponding to the analysis results.
[0091] In this embodiment, by detecting the abnormal information of unqualified version packages and recording the abnormal information, analysis results and corresponding capability portraits are generated based on the recorded abnormal information to summarize the experience of version packages in the test delivery process, and then optimize and improve the exception handling rule library, reduce the probability of abnormalities in version packages in the automatic test delivery process, improve the quality of enterprise software version releases, and provide a risk disclosure perspective.
[0092] Each time the software to be tested is delivered for automated testing, the real-time operating data of the software to be tested, such as input quantity and electrical quantity, is obtained based on the analysis results generated by each test, and matched with the preset rules in the exception handling rule base to detect potential exceptions. When an exception is detected, exception handling suggestions can be issued and displayed based on the exception handling rule base to guide operation and maintenance personnel to handle the exception. At the same time, new exception rules are generated based on the discovered exceptions, and the exception handling rules are updated to improve the exception handling rule base. When other software to be tested is delivered for automated testing in the future, the stability and reliability of automated testing can be improved, and timely response and handling can be ensured when an exception is found.
[0093] In the embodiment of the present application, the software to be tested can also be tested and delivered through an automated testing framework based on Python, such as the RobotFramework framework, to achieve full-process automated testing and delivery. Alternatively, an automated testing framework based on Node.js, such as WebdriverIO, can be used to achieve automated testing and delivery of Web and mobile applications. WebdriverIO can also run on the WebDriver protocol and the Chrome Devtools protocol, and achieve cross-browser testing.
[0094] Alternatively, the software version testing and delivery method of the above-mentioned embodiments of the present application can also be implemented through other automated testing frameworks, such as the Citrus testing framework, the Cypress testing framework, the JUnit testing framework and the TestNG testing framework for Java development, the Gauge testing framework for Mac, Linux and Windows environments, the Carina testing framework and other automated testing frameworks, which are not limited to this in the present application.
[0095] The software version testing and delivery method of the embodiment of the present application includes: obtaining test instructions; in response to the test instructions, obtaining version information of the software to be tested, the version information including a version installation self-service control table of the software to be tested; based on the version information, generating a version verification script; obtaining a version calendar; based on the version verification script and the version calendar, packaging the software to be tested into a version package, and testing the version package based on an exception handling rule library to generate test results; based on the test results, determining whether the version package is qualified, if the version package is unqualified, rolling back the version of the version package, and if the version package is qualified, delivering the version package.
[0096] Through the software version testing and delivery method of the embodiment of the present application, it is compatible with different test platforms and different operating systems, adapts to different software version types, and realizes the full process automated closed-loop test delivery of the software to be tested from the environment check and version quality check before the version is released, the automatic operation and tracking of the installation and deployment status during the version release, and the health check after the version is released, and realizes the full process automation of the version installation inspection, abnormal analysis and disposal, and final version delivery of the software to be tested. When the software to be tested is unqualified, it can be handled in time to avoid releasing the problematic software version, which greatly improves the work efficiency of software testing and delivery, ensures the quality of software delivery, and reduces the probability of errors in software testing and delivery. At the same time, the software testing delivery process is standardized and unified, and the automatic testing delivery process can be continuously optimized to promote the formation of a virtuous circle of software product testing and delivery quality, and further improve the efficiency of software testing and delivery.
[0097] Figure 8 The following is a flow chart of the software version testing and delivery method of the present application embodiment. Figure 8 The steps in the flowchart are shown in sequence as indicated by the arrows, but the steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of the steps, and the steps can be executed in other orders. Moreover, Figure 8At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.
[0098] like Fig. 9 As shown, the embodiment of the present application also provides a software version testing and delivery system 300, including: a software automation testing platform 310 and an exception handling rule library 320.
[0099] The software automation testing platform 310 is used to obtain test instructions; in response to the test instructions, obtain the version information of the software to be tested, the version information includes the version installation self-service control table of the software to be tested; based on the version information, generate a version verification script; obtain a version calendar; based on the version verification script and the version calendar, package the software to be tested into a version package, and test the version package based on the exception handling rule library 320 to generate test results.
[0100] The software automation testing platform 310 is also used to call the exception handling rule library 320 based on the test results to determine whether the version package is qualified. If the version package is unqualified, the version of the version package is rolled back. If the version package is qualified, the version package is delivered.
[0101] In the present application, the software automation testing platform 310 includes a software information collection module, a script generation module, an assembly line automatic sealing module, a system installation environment check module, an automatic version installation module, a version installation verification module and a version delivery module to realize the above-mentioned acquisition of test instructions; in response to the test instructions, the version information of the software to be tested is obtained, and the version information includes the version installation self-service control table of the software to be tested; based on the version information, a version verification script is generated; a version calendar is obtained; based on the version verification script and the version calendar, the software to be tested is packaged into a version package, and the version package is tested based on the exception handling rule library 320 to generate a test result step, and based on the test result, the exception handling rule library 320 is called to determine whether the version package is qualified. If the version package is unqualified, the version of the version package is rolled back. If the version package is qualified, the version package is delivered to achieve automatic delivery of qualified software versions.
[0102] The software automation testing platform 310 can also realize automated security vulnerability scanning, and improve the exception handling rule library 320 based on the analysis results, generate a capability portrait corresponding to the analysis results, analyze the maturity of software version release, and provide key reference for whether the software product version has the delivery capability, so as to realize the risk analysis disclosure function and improve the management quality of software versions.
[0103] The software version testing and delivery system 300 of the present application is compatible with different testing platforms and different operating systems, and can realize the automation of the entire process of testing and delivery of the software to be tested. When the software to be tested fails, timely processing can be performed to avoid releasing problematic software versions, thereby greatly improving the work efficiency of software testing and delivery, ensuring the quality of software delivery, and reducing the probability of errors in software testing and delivery.
[0104] like Fig.10 As shown, the embodiment of the present application also provides a software version testing and delivery device 200, including a first acquisition module 210, a second acquisition module 220, a generation module 230, a third acquisition module 240, a test module 250 and a judgment module 260.
[0105] The first acquisition module 210 is used to obtain the test instructions; the second acquisition module 220 is used to respond to the test instructions and obtain the version information of the software to be tested. The version information includes the version installation self-service control table of the software to be tested; the generation module 230 is used to generate a version verification script based on the version information; the third acquisition module 240 is used to obtain the version calendar. The test module 250 is used to package the software to be tested into a version package based on the version verification script and the version calendar, and test the version package based on the exception handling rule library to generate the test results. The judgment module 260 is used to judge whether the version package is qualified based on the test results. If the version package is unqualified, the version of the version package is rolled back. If the version package is qualified, the software to be tested is delivered.
[0106] In the present application, the software version testing and delivery device 200 is compatible with different testing platforms and different operating systems. Through the various functional modules of the software version testing and delivery device 200, the entire process of testing and delivering the software to be tested can be automated. When the software to be tested is unqualified, it can be processed in a timely manner to avoid releasing problematic software versions, thereby greatly improving the work efficiency of software testing and delivery, ensuring the quality of software delivery, and reducing the probability of errors in software testing and delivery.
[0107] The software version testing and delivery device 200 includes a processor and a memory. The first acquisition module 210, the second acquisition module 220, the generation module 230, the third acquisition module 240, the test module 250 and the judgment module 260 are all stored in the memory as program units, and the processor executes the above program modules stored in the memory to implement corresponding functions.
[0108] The processor includes a kernel, which retrieves the corresponding program unit from the memory. One or more kernels can be set, and the software version testing and delivery method of the embodiment of the present application is implemented by adjusting kernel parameters.
[0109] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.
[0110] An embodiment of the present application provides a storage medium on which a program is stored, and when the program is executed by a processor, the above-mentioned software version testing and delivery method is implemented.
[0111] The above-mentioned software version testing and delivery method implemented by the program stored in the storage medium provided in the embodiment of the present application when being executed can be compatible with different testing platforms and different operating systems, realize the automation of the entire process of testing and delivery of the software to be tested, and timely handle when the software to be tested is unqualified to avoid releasing problematic software versions, thereby greatly improving the work efficiency of software testing and delivery, ensuring the quality of software delivery, and reducing the probability of errors in software testing and delivery.
[0112] An embodiment of the present application provides a processor, which is used to run a program, wherein the above-mentioned software version testing and delivery method is executed when the program is running.
[0113] The above-mentioned software version testing and delivery method executed by the processor of the embodiment of the present application when running the program can be compatible with different testing platforms and different operating systems, realize the automation of the whole process of testing and delivery of the software to be tested, and timely handle when the software to be tested is unqualified to avoid releasing the problematic software version, which greatly improves the work efficiency of software testing and delivery, ensures the quality of software delivery, and reduces the probability of errors in software testing and delivery.
[0114] In some embodiments, the present application also provides a computer device, which may be a terminal, and its internal structure diagram may be as follows: Fig.11As shown. The computer device includes a processor A01, a network interface A02, a display screen A04, an input device A05 and a memory (not shown in the figure) connected through a system bus. Among them, the processor A01 of the computer device is used to provide computing and control capabilities. The memory of the computer device includes an internal memory A03 and a non-volatile storage medium A06. The non-volatile storage medium A06 stores an operating system B01 and a computer program B02. The internal memory A03 provides an environment for the operation of the operating system B01 and the computer program B02 in the non-volatile storage medium A06. The network interface A02 of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor A01, the software version testing and delivery method of the present invention is implemented. The display screen A04 of the computer device can be a liquid crystal display or an electronic ink display, and the input device A05 of the computer device can be a touch layer covered on the display screen, or a button, trackball or touchpad set on the computer device housing, or an external keyboard, touchpad or mouse, etc.
[0115] Those skilled in the art will understand that Fig.11 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0116] In one embodiment, the software version testing and delivery device provided in the present application can be implemented in the form of a computer program. The computer program can be Fig.11 The computer device shown in the figure is run. The memory of the computer device can store various program modules constituting the software version testing and delivery device 200, for example, Fig.10 The first acquisition module 210, the second acquisition module 220, the generation module 230, the third acquisition module 240, the test module 250 and the judgment module 260 are shown. The computer program composed of each program module enables the processor to execute the steps in the software version testing and delivery method of each embodiment of the present application described in this specification.
[0117] Fig.11 The computer device shown can be Fig.10 The first acquisition module 210 in the software version testing and delivery device shown in the figure performs step S110. The computer device can perform step S120 through the second acquisition module 220, perform step S130 through the generation module 230, perform step S140 through the third acquisition module 2402, perform step S150 through the test module 250, and perform step S160 through the judgment module 260.
[0118] An embodiment of the present application also provides a device, which includes a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, the following steps are implemented: obtaining a test instruction; in response to the test instruction, obtaining version information of the software to be tested, the version information including a version installation self-service control table of the software to be tested; based on the version information, generating a version verification script; obtaining a version calendar; based on the version verification script and the version calendar, packaging the software to be tested into a version package, and testing the version package based on an exception handling rule library to generate a test result; based on the test result, determining whether the version package is qualified, and if the version package is unqualified, rolling back the version of the version package, and if the version package is qualified, delivering the version package.
[0119] The device provided in the embodiment of the present application is compatible with different testing platforms and different operating systems, and can realize automation of the entire process of test delivery of the software to be tested. When the software to be tested fails, timely processing can be performed to avoid releasing problematic software versions, thereby greatly improving the work efficiency of software test delivery, ensuring the quality of software delivery, and reducing the probability of errors in software test delivery.
[0120] The present application also provides a computer program product, which, when executed on a data processing device, is suitable for executing a program that is initialized with the following method steps: obtaining a test instruction; in response to the test instruction, obtaining version information of the software to be tested, the version information including a version installation self-service control table of the software to be tested; based on the version information, generating a version verification script; obtaining a version calendar; based on the version verification script and the version calendar, packaging the software to be tested into a version package, and testing the version package based on an exception handling rule library to generate a test result; based on the test result, determining whether the version package is qualified, and if the version package is unqualified, rolling back the version of the version package, and if the version package is qualified, delivering the version package.
[0121] When the computer program product provided in the embodiment of the present application is run on a data processing device, it can execute a program initialized with the above-mentioned method steps to be compatible with different test platforms and different operating systems, realize the automation of the entire test delivery process of the software to be tested, and handle it in time when the software to be tested is unqualified to avoid releasing the problematic software version, thereby greatly improving the work efficiency of software test delivery, ensuring the quality of software delivery, and reducing the probability of errors in software test delivery.
[0122] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, devices, equipment or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0123] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0124] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0125] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0126] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0127] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0128] Computer readable media include permanent and non-permanent, removable and non-removable media, and can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0129] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0130] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.
Claims
1. A software version testing and delivery method, characterized in that: The method comprises: Get test instructions; In response to the test instruction, obtaining version information of the software to be tested, the version information including a version installation self-service control table of the software to be tested; Based on the version information, generate a version verification script; Get the version calendar; Based on the version verification script and the version calendar, the software to be tested is packaged into a version package, and the version package is tested based on the exception handling rule library to generate a test result; Based on the test result, determine whether the version package is qualified. If the version package is unqualified, roll back the version of the version package. If the version package is qualified, deliver the version package.
2. The software version testing and delivery method according to claim 1, characterized in that: The step of generating a version verification script based on the version information includes: Based on the version information, obtain the operating system model of the device running the software to be tested and the database incremental update information or the database full update information; Based on the operating system model and the incremental update information of the database or the full update information of the database, matching codes are cut from the full code boilerplate to obtain the version verification script matching the software to be tested.
3. The software version testing and delivery method according to claim 1, characterized in that: The step of packaging the software to be tested into a version package based on the version verification script and the version calendar, and testing the version package based on the exception handling rule library to generate a test result includes: Based on the version verification script and the version calendar, the software to be tested is packaged into the version package, and the version package is uploaded to the version testing tool; After the version package is uploaded to the version testing tool, the exception handling rule library is called to match the data integrity, service registration status, jar package version, database, application log, and error code of the version package to generate the test result.
4. The software version testing and delivery method according to claim 3, characterized in that: The step of packaging the software to be tested into the version package based on the version verification script and the version calendar, and uploading the version package to the version testing tool includes: Calling the version calendar through the version verification script to obtain the version release time of the software to be tested; Calling the pipeline interface to update the version release time, the code branch of the software to be tested, and the database incremental update information or database full update information of the software to be tested; Based on a preset code baseline directory, the software to be tested is packaged into the version package, and the version package is uploaded to the version testing tool.
5. The software version testing and delivery method according to claim 4, characterized in that: The step of uploading the version package to the version testing tool includes: Based on the version verification script, the security vulnerability scanning tool is called to scan the disk space usage, table space usage, SQL statement quality, batch job quality, and file character encoding of the version package, and the exception handling rule library is called for matching verification to determine whether there is an exception in the upload environment of the version package. If there is an abnormality, the upload will be stopped and a prompt will be issued. If there is no abnormality, the upload will be started. After starting to upload, call the version installation self-service page, import the preset self-service control table, and call the supporting script to upload and deploy the version package; The exception handling rule library is called to obtain the upload status of the version package based on a preset frequency, and to determine whether the upload status is abnormal. If the upload status is abnormal, the upload is interrupted or a prompt is issued; if the upload status is normal, the upload is maintained until the upload is completed.
6. The software version testing and delivery method according to claim 1, characterized in that: The step of judging whether the version package is qualified based on the test result includes: Based on the test result, it is determined whether the version package has an exception matching the exception handling rule base. If an exception occurs, the version package is unqualified; if no exception occurs, the version package is qualified.
7. The software version testing and delivery method according to claim 1, characterized in that: The step of delivering the version package includes: Obtain the self-service control table and supporting scripts of the version package; The version package, the self-service control table and the supporting script are transferred to the version testing tool to complete the delivery.
8. The software version testing and delivery method according to claim 1, characterized in that: After the step of if the version package is unqualified, the method further includes: Based on the unqualified version package, generate analysis results and issue a prompt; The exception handling rule base is improved based on the analysis results, and a capability profile corresponding to the analysis results is generated.
9. The software version testing and delivery method according to claim 1, characterized in that: The version information also includes the system name, running device IP, user name, and code branch name of the software to be tested.
10. A software version testing and delivery device, characterized in that: The device comprises: A first acquisition module, used for acquiring a test instruction; A second acquisition module, configured to acquire version information of the software to be tested in response to the test instruction, wherein the version information includes a version installation self-service control table of the software to be tested; A generation module, used to generate a version verification script based on the version information; The third acquisition module is used to obtain the version calendar; A testing module, used to package the software to be tested into a version package based on the version verification script and the version calendar, and to test the version package based on the exception handling rule library to generate a test result; The judgment module is used to judge whether the version package is qualified based on the test result. If the version package is unqualified, the version of the version package is rolled back. If the version package is qualified, the software to be tested is delivered.
11. A software version testing and delivery system, characterized in that: The system includes: a software automated testing platform and an exception handling rule library, The software automation testing platform is used to obtain test instructions; in response to the test instructions, obtain version information of the software to be tested, the version information including the version installation self-service control table of the software to be tested; based on the version information, generate a version verification script; obtain a version calendar; based on the version verification script and the version calendar, package the software to be tested into a version package, and test the version package based on the exception handling rule library to generate a test result; It is also used to call the exception handling rule library based on the test result to determine whether the version package is qualified. If the version package is unqualified, the version of the version package is rolled back; if the version package is qualified, the version package is delivered.
12. A machine-readable storage medium having instructions stored thereon, characterized in that: When the instruction is executed by a processor, the processor is configured to execute the software version testing and delivery method according to any one of claims 1 to 9.
13. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the computer program implements the software version testing and delivery method according to any one of claims 1 to 9.
Citation Information
Cited By
Software package management method and device, electronic equipment and storage medium
CN121209937A