CN113900940A - Application program version verification method and device, electronic equipment and storage medium - Google Patents

Application program version verification method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN113900940A
CN113900940A CN202111168166.0A CN202111168166A CN113900940A CN 113900940 A CN113900940 A CN 113900940A CN 202111168166 A CN202111168166 A CN 202111168166A CN 113900940 A CN113900940 A CN 113900940A
Authority
CN
China
Prior art keywords
test
transaction
version
test environment
server
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.)
Pending
Application number
CN202111168166.0A
Other languages
Chinese (zh)
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 CN202111168166.0A priority Critical patent/CN113900940A/en
Publication of CN113900940A publication Critical patent/CN113900940A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present disclosure provides an application version verification method and apparatus, an electronic device, and a storage medium, and the method and apparatus of the present disclosure may be used in the field of big data technology and also in the field of finance. The method comprises the following steps: acquiring test environment transaction data and non-test environment transaction data, wherein the test environment transaction data is data obtained by executing each test transaction in a test server, and the non-test environment transaction data is data obtained by executing each normal transaction in a normal server; inputting the transaction data of the test environment into a result statistical model, and outputting a test environment index result; inputting the transaction data of the non-testing environment into a result statistical model, and outputting a non-testing environment index result; and determining that the test version of the application program passes verification under the condition that the test environment index result and the non-test environment index result meet the preset judgment condition.

Description

Application program version verification method and device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of big data and financial technologies, and more particularly, to an application version verification method and apparatus, an electronic device, a computer-readable storage medium, and a computer program product.
Background
In the big data era, in the process of realizing the quick iteration of the application program, the reliability of the gray-scale version is usually tested before formal release, and the reliability of the gray-scale version is released as the formal version after passing.
In implementing the disclosed concept, the inventors found that there are at least the following problems in the related art: in the process of testing the grayscale version, the running state of the grayscale node program is usually checked manually and individually, because program logic deployed by different application nodes or clusters is unique, the running condition of the server application of the grayscale node needs to be checked individually according to actual conditions, if the manual check is not in place or the transaction in the grayscale environment is not completely verified, a large number of transaction errors occur after the grayscale version of the application program is corrected, and certain difficulty is brought to normal maintenance and management work of the server.
Disclosure of Invention
In view of the above, the present disclosure provides an application version verification method and apparatus, an electronic device, a computer-readable storage medium, and a computer program product.
One aspect of the present disclosure provides an application version verification method, including:
acquiring test environment transaction data and non-test environment transaction data, wherein the test environment transaction data is data obtained by executing each test transaction in a test server, and the non-test environment transaction data is data obtained by executing each normal transaction in a normal server; the testing server runs a testing version of the application program, and the normal server runs a non-testing version of the application program, wherein the non-testing version is a version before the testing version is upgraded;
inputting the transaction data of the test environment into a result statistical model, and outputting a test environment index result;
inputting the transaction data of the non-testing environment into a result statistical model, and outputting a non-testing environment index result;
and determining that the test version of the application program passes verification under the condition that the test environment index result and the non-test environment index result meet the preset judgment condition.
According to an embodiment of the present disclosure, wherein:
the test environment transaction data includes at least one of: executing transaction result data, transaction response time data and transaction type data obtained by each test transaction in the test version of the application program;
the non-test environment transaction data includes at least one of: executing transaction result data, transaction response time data and transaction type data obtained by each normal transaction in the pre-upgrade version of the application program;
the test environment indicator results include at least one of: testing the success rate, average response time and transaction type number of the transaction;
the non-test environment indicator results include at least one of: success rate of normal transactions, average response time, number of transaction types.
According to an embodiment of the present disclosure, the preset determination condition includes: and the absolute difference value of the test environment index result and the non-test environment index result is less than or equal to a preset threshold value.
According to the embodiment of the present disclosure, the method further includes, in a case where the test environment index result and the non-test environment index result do not satisfy the preset discrimination condition:
increasing the transaction type of the test transaction; or
And switching the test transaction from the test server to the normal server for execution.
According to the embodiment of the present disclosure, after the test version of the application program passes the verification:
switching the normal transaction from the normal server to the test server for execution;
updating the non-test version of the application program in the normal server into the test version of the application program; and
and switching the normal transaction and the test transaction from the test server to the normal server for execution.
According to an embodiment of the present disclosure, obtaining test environment transaction data and non-test environment transaction data includes:
collecting transaction logs of a test server and a normal server;
test environment transaction data and non-test environment transaction data are obtained from the transaction log.
Another aspect of the present disclosure provides an application version verification apparatus including an acquisition module, a first calculation module, a second calculation module, and a determination module.
The system comprises an acquisition module, a test server and a non-test server, wherein the acquisition module is used for acquiring test environment transaction data and non-test environment transaction data, the test environment transaction data is data obtained by executing each test transaction in the test server, and the non-test environment transaction data is data obtained by executing each normal transaction in the normal server; the testing server runs a testing version of the application program, and the normal server runs a non-testing version of the application program, wherein the non-testing version is a version before the testing version is upgraded;
the first calculation module is used for inputting the transaction data of the test environment into the result statistical model and outputting the index result of the test environment;
the second calculation module is used for inputting the transaction data of the non-testing environment into the result statistical model and outputting the index result of the non-testing environment;
and the determining module is used for determining that the test version of the application program passes the verification under the condition that the test environment index result and the non-test environment index result meet the preset judging condition.
According to an embodiment of the present disclosure, wherein: the test environment transaction data includes at least one of: transaction result data, transaction response time data, transaction type data obtained by executing each test transaction in the test version of the application program.
The non-test environment transaction data includes at least one of: and executing transaction result data, transaction response time data and transaction type data obtained by each normal transaction in the pre-upgrading version of the application program.
The test environment indicator results include at least one of: testing the success rate of the transaction, the average response time and the number of transaction types.
The non-test environment indicator results include at least one of: success rate of normal transactions, average response time, number of transaction types.
According to an embodiment of the present disclosure, the preset determination condition includes: and the absolute difference value of the test environment index result and the non-test environment index result is less than or equal to a preset threshold value.
According to the embodiment of the disclosure, the method further comprises an adding module or a first switching module.
The adding module is used for adding the transaction types of the test transactions under the condition that the test environment index result and the non-test environment index result do not meet the preset judging condition.
And the first switching module is used for switching the test transaction from the test server to the normal server to be executed under the condition that the test environment index result and the non-test environment index result do not meet the preset judgment condition.
According to the embodiment of the disclosure, the device further comprises a second switching module, an updating module and a third switching module.
And the second switching module is used for switching the normal transaction from the normal server to the test server to be executed after the test version of the application program passes the verification.
And the updating module is used for updating the non-test version of the application program in the normal server into the test version of the application program.
And the third switching module is used for switching the normal transaction and the test transaction from the test server to the normal server for execution.
According to an embodiment of the present disclosure, an acquisition module includes an acquisition unit and an acquisition unit.
The system comprises a test server, an acquisition unit, a processing unit and a control unit, wherein the acquisition unit is used for acquiring transaction logs of the test server and a normal server; and the acquisition unit is used for acquiring the transaction data of the test environment and the transaction data of the non-test environment from the transaction log.
Another aspect of the present disclosure provides an electronic device including: one or more processors, and a memory; wherein the memory is for storing one or more programs; wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the application version verification method as described above.
Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions for implementing the application version verification method as described above when executed.
Another aspect of the present disclosure provides a computer program product comprising computer executable instructions for implementing the application version verification method as described above when executed.
According to the embodiment of the disclosure, by acquiring the transaction data of the test environment and the transaction data of the non-test environment, and taking the transaction data of the test environment and the transaction data of the non-test environment as the basic data of analysis, the transaction index results under the environment of two versions are obtained through analysis, the transaction index results of the two versions are compared, and the verification is passed when the judgment condition is met, so that whether the test version of the application program running in the test server meets the requirement of the reliability of normal transaction or not can be well verified. Therefore, according to the method disclosed by the embodiment of the disclosure, by comparing and analyzing the transaction index results in the two version environments, automatic detection and verification are realized, the verification accuracy is ensured, the operation and maintenance cost is reduced, and the operation and maintenance efficiency is improved. Meanwhile, due to the realization of automatic detection, the problems of incomplete omission and coverage of partial function check, complex operation, difficult subsequent modification and maintenance and the like in manual operation are also avoided.
Drawings
The above and other objects, features and advantages of the present disclosure will become more apparent from the following description of embodiments of the present disclosure with reference to the accompanying drawings, in which:
FIG. 1 schematically illustrates an exemplary system architecture to which the application version verification method and apparatus of the present disclosure may be applied;
FIG. 2 schematically shows a flow diagram of an application version verification method according to an embodiment of the present disclosure;
FIG. 3 schematically shows a flow diagram of an application version verification method according to another embodiment of the present disclosure;
FIG. 4 schematically shows a block diagram of an application version verification apparatus according to an embodiment of the present disclosure;
fig. 5 schematically shows a block diagram of an electronic device for implementing an application version verification method according to an embodiment of the present 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 illustrative only 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 disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not 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 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 is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have 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 convention analogous to "A, B or at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B or C" would include but not be limited to systems that have 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 present disclosure provides an application version verification method, including:
acquiring test environment transaction data and non-test environment transaction data, wherein the test environment transaction data is data obtained by executing each test transaction in a test server, and the non-test environment transaction data is data obtained by executing each normal transaction in a normal server; the testing server runs a testing version of the application program, and the normal server runs a non-testing version of the application program, wherein the non-testing version is a version before the testing version is upgraded;
inputting the transaction data of the test environment into a result statistical model, and outputting a test environment index result;
inputting the transaction data of the non-testing environment into a result statistical model, and outputting a non-testing environment index result;
and determining that the test version of the application program passes verification under the condition that the test environment index result and the non-test environment index result meet the preset judgment condition.
Before the embodiments of the present disclosure are explained in detail, the system structure and the application scenario related to the method provided by the embodiments of the present disclosure are described as follows.
Fig. 1 schematically illustrates an exemplary system architecture 100 to which the application version verification method and apparatus of the present disclosure may be applied. It should be noted that fig. 1 is only an example of a system architecture to which the embodiments of the present disclosure may be applied to help those skilled in the art understand the technical content of the present disclosure, and does not mean that the embodiments of the present disclosure may not be applied to other devices, systems, environments or scenarios.
As shown in fig. 1, the system architecture 100 according to the embodiment may include a terminal device 101, a test server 102, a normal server 103, a database 104, and a data processing server 105. The terminal devices 101, the test server 102, the health server 103, the database 104, and the data processing server 105 may communicate with one another over a network, which may include various types of connections, such as wired and/or wireless communication links, and the like.
According to an embodiment of the present disclosure, a user may interact with the test server 102 and the normal server 103 through a network using the terminal apparatus 101 to receive or transmit a message or the like. Various messaging client applications, such as shopping-like applications, web browser applications, search-like applications, instant messaging tools, mailbox clients, and/or social platform software, etc. (by way of example only) may be installed on terminal device 101.
The terminal device 101 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like.
According to an embodiment of the present disclosure, the test server 102 and the normal server 103 may be background management servers that provide financial institution transaction services, wherein the test server runs a test version of an application program that performs financial transactions, and the normal server runs a non-test version of the same application program. The test server 102 and the normal server 103 are configured to perform processing such as analysis on data such as a received user request, and feed back a processing result (for example, data such as a transaction execution result obtained or generated according to the user request) to the terminal device 101.
According to the embodiment of the disclosure, the test server 102 and the normal server 103 store key information related to the transaction in the database 104 after each transaction is performed.
The data processing server 105 is configured to acquire key information related to a transaction from the database 104, and perform data processing analysis on the transaction information data. Specifically, the method and the device are used for performing statistical analysis on the transaction information data of the test server 102 and the transaction information data of the normal server 103 to obtain a transaction success rate, an average response time, a transaction type number and the like of transactions executed in the test server 102 and the normal server 103 respectively, and comparing the transaction success rate, the average response time, the transaction type number and the like to verify whether the test version of the application program running in the test server meets the requirement of the reliability of the normal transaction.
It should be noted that the application version verification method provided by the embodiment of the present disclosure may be generally executed by the data processing server 105. Accordingly, the application version verification apparatus provided by the embodiment of the present disclosure may be generally disposed in the data processing server 105.
The application version verification method provided by the embodiment of the present disclosure may also be executed by a server or a server cluster that is different from the data processing server 105 and is capable of communicating with the terminal device 101 and/or the data processing server 105. Accordingly, the application version verification apparatus provided by the embodiment of the present disclosure may also be disposed in a server or a server cluster different from the data processing server 105 and capable of communicating with the terminal device 101 and/or the data processing server 105. Alternatively, the application version verification method provided by the embodiment of the present disclosure may also be executed by the terminal device 101, the test server 102, or the normal server 103, or may also be executed by another terminal device or server different from the terminal device 101, the test server 102, and the normal server 103. Accordingly, the application version verification apparatus provided in the embodiment of the present disclosure may also be disposed in the terminal device 101, the test server 102, or the normal server 103, or disposed in other terminal devices and servers different from the terminal device 101, the test server 102, and the normal server 103.
It should be understood that the number of terminal devices and servers in fig. 1 is merely illustrative. There may be any number of terminal devices and servers, as desired for implementation.
It should be noted that the method and apparatus for verifying the application program version of the present disclosure may be used in the field of big data technology, financial field, or any field except the field of big data technology and financial field, and the present disclosure does not limit the application field of the method and apparatus for verifying the application program version.
In the technical scheme of the disclosure, the acquisition, storage, application and the like of the personal information of the related user all accord with the regulations of related laws and regulations, necessary security measures are taken, and the customs of the public order is not violated.
In the process of testing the grayscale version (the test version before the change), in the related art, a server is usually logged in manually one by one, and the running states of the server logs and the grayscale version application node programs are checked one by one, because the deployed program logic of different application nodes or clusters is unique, the running conditions of the server applications of the grayscale nodes need to be checked independently according to the actual conditions, for the application clusters adopting the grayscale version in a large scale, a large amount of manpower is consumed for checking the application naming environment, and the problems of repeated and tedious operation, difficult maintenance and the like exist. Moreover, if the manual inspection is not in place, or the transaction in the grayscale environment is not completely verified, a large number of transaction errors will occur after the grayscale version of the application program is corrected, which brings certain difficulties to the normal maintenance and management of the server.
In view of this, embodiments of the present disclosure provide an application version verification method.
Fig. 2 schematically shows a flowchart of an application version verification method according to an embodiment of the present disclosure.
As shown in fig. 2, the method includes operations S201 to S204.
In operation S201, acquiring test environment transaction data and non-test environment transaction data, where the test environment transaction data is obtained by executing each test transaction in a test server, and the non-test environment transaction data is obtained by executing each normal transaction in a normal server; the testing server runs a testing version of the application program, and the normal server runs a non-testing version of the application program, wherein the non-testing version is a pre-upgrading version of the testing version (namely an old version which is currently and normally used by a financial institution).
According to the embodiment of the disclosure, in order to verify the reliability of the test version of the application program used for executing the transaction operation, the embodiment of the disclosure leads a small part of the transaction to be executed in the server (namely, the test server) specially used for executing the test function, and the test version of the application program is operated in the test server. In the normal server, a non-test version of the application program is run for background service of daily normal transactions.
According to an embodiment of the present disclosure, the test environment transaction data may include basic information of a transaction obtained by completing a test transaction using a test version of an application program (e.g., a name of an application, a version number of the application, a time of the transaction, a type of the transaction, a response time of the transaction, etc.) and a transaction result (success or failure of the transaction). The non-test environment transaction data may include basic information of transactions obtained by completing each normal transaction with a non-test version of the application (e.g., name of application, version number of application, time period of transaction, type of transaction, response time of transaction, etc.) and transaction results (transaction success or failure).
In operation S202, the test environment transaction data is input to the result statistical model, and a test environment index result is output.
In operation S203, the non-test environment transaction data is input to the result statistical model, and a non-test environment index result is output.
According to the embodiment of the disclosure, the result statistical model is used for classifying and summarizing the test environment transaction data and the non-test environment transaction data respectively and outputting corresponding test environment index results and non-test environment index results. For example, according to the result of each test transaction (or normal transaction), the transaction results are summarized to obtain the success rate or failure rate of the transaction; or summarizing the response time of each test transaction (or normal transaction) to obtain the average response time, and the like.
In operation S204, it is determined that the test version of the application passes verification when the test environment index result and the non-test environment index result satisfy the preset determination condition.
According to the embodiment of the disclosure, the preset determination condition is set according to an actual situation, and may be that the test environment index result is compared with the non-test environment index result, for example, when the transaction success rate in the test environment index result is greater than the transaction success rate in the non-test environment, it is determined that the test version of the application program passes the verification, or when the corresponding duration of the average transaction in the test environment index result is less than or equal to the corresponding duration of the average transaction in the non-test environment, it is determined that the test version of the application program passes the verification; or setting a preset threshold, and taking the condition that the absolute difference value between the test environment index result and the non-test environment index result is less than or equal to the preset threshold as a judgment condition for determining that the test version of the application program passes the verification.
In the application scenario of the present disclosure, it is necessary to verify the reliability of a test version of an application program used to perform a transaction operation in a financial institution. According to the method, a small part of transactions are guided to the test server to be executed, the test transaction is completed by using the test version of the application program, and the transaction data of the test environment are obtained. Meanwhile, non-test environment transaction data obtained by executing each normal transaction by a non-test version of the application program is obtained. And taking the transaction data of the test environment and the transaction data of the non-test environment as basic data for analysis, and carrying out further data analysis and statistics to obtain a final verification result.
According to the embodiment of the disclosure, by acquiring the transaction data of the test environment and the transaction data of the non-test environment, and taking the transaction data of the test environment and the transaction data of the non-test environment as the basic data of analysis, the transaction index results under the environment of two versions are obtained through analysis, the transaction index results of the two versions are compared, and the verification is passed when the judgment condition is met, so that whether the test version of the application program running in the test server meets the requirement of the reliability of normal transaction or not can be well verified. Therefore, according to the method disclosed by the embodiment of the disclosure, by comparing and analyzing the transaction index results in the two version environments, automatic detection and verification are realized, the verification accuracy is ensured, the operation and maintenance cost is reduced, and the operation and maintenance efficiency is improved. Meanwhile, due to the realization of automatic detection, the problems of incomplete omission and coverage of partial function check, complex operation, difficult subsequent modification and maintenance and the like in manual operation are also avoided.
According to an embodiment of the present disclosure, wherein: the test environment transaction data includes at least one of: transaction result data, transaction response time data, transaction type data obtained by executing each test transaction in the test version of the application program. The non-test environment transaction data includes at least one of: and executing transaction result data, transaction response time data and transaction type data obtained by each normal transaction in the pre-upgrading version of the application program. The transaction result data comprises transaction success or transaction failure, the transaction response time data is used for representing the time for executing single transaction service response, and the transaction type data is used for representing the type of transaction, such as transfer, account inquiry and the like.
The test environment indicator results include at least one of: testing the success rate of the transaction, the average response time and the number of transaction types. The non-test environment indicator results include at least one of: success rate of normal transactions, average response time, number of transaction types.
According to the embodiment of the disclosure, the test environment index result and the non-test environment index result are obtained by respectively classifying and summarizing the test environment transaction data and the non-test environment transaction data through the result statistical model.
Hereinafter, the detailed description will be given by taking an example of obtaining a test environment index result according to the test environment transaction data, and the method of obtaining a non-test environment index result according to the non-test environment transaction data is the same as above, and is not repeated herein.
(1) Obtaining a success rate of the test transaction according to transaction result data obtained by executing each test transaction in the test version of the application program includes:
summarizing transaction results according to transaction result data obtained by executing each test transaction to obtain the number of successful transactions;
and calculating the ratio of the number of successful transactions to the total number of the test transactions to obtain the success rate of the test transactions.
(2) Obtaining an average response time for the test transaction based on transaction response time data obtained from executing each test transaction in the test version of the application comprises:
summarizing the transaction response time according to the transaction response time data obtained by executing each test transaction to obtain the total duration for completing all transactions;
and calculating the ratio of the total duration of finishing all transactions to the total number of transactions to obtain the average response time of the test transaction.
(3) Obtaining the transaction type number of the test transaction according to the transaction type data obtained by executing each test transaction in the test version of the application program comprises:
and calculating the same type of test transaction into one transaction type according to the transaction type of each test transaction, summarizing to obtain the transaction types covered by all transactions, and obtaining the transaction type number of the test transaction.
According to the embodiment of the disclosure, in the process of comparing and analyzing the transaction index results under the two version environments, index comparison of multiple dimensions is adopted, including the success rate of transaction, the average response time and the number of transaction types, multiple influence factors which may influence the version reliability of an application program are considered, and the accuracy and the reasonability of the verification result are improved. The consistency of the test version and the non-test version on the service execution result is ensured by comparing the transaction success rate, the response time of the test version is ensured to meet the use requirement of a user by comparing the average response time, the test version can completely cover all transaction types by comparing the number of the transaction types, and the problem that the transaction type coverage is incomplete and the accuracy of the verification result is influenced is avoided.
According to an embodiment of the present disclosure, the preset determination condition includes: and the absolute difference value of the test environment index result and the non-test environment index result is less than or equal to a preset threshold value.
For example, when the result of the environmental indicator is the transaction success rate, the preset threshold may be set to be 2%, and the verification is passed when the absolute value of the difference between the transaction success rate in the test environment and the transaction success rate in the non-test environment is less than or equal to 2%. When the environment index result is the transaction type number, the preset threshold value can be set to be 0, and the absolute value of the difference between the test environment transaction type number and the non-test environment transaction type number is less than or equal to 0 (at this time, only the situation equal to 0 may exist, that is, the test environment transaction type number and the non-test environment transaction type number are equal), so that the test version can completely cover all transaction types, and the verification is passed.
Fig. 3 schematically shows a flowchart of an application version verification method according to another embodiment of the present disclosure.
As shown in fig. 3, the method includes operations S301 to S306.
The specific operation method of operations S301 to S303 can refer to the method of S201 to S203 shown in fig. 2, and is not described herein again.
In operation S304, under the condition that the test environment index result and the non-test environment index result do not satisfy the preset determination condition, it is determined that the test version of the application program does not pass the verification; and, judge whether the test transaction covers all transaction types, namely judge whether the transaction type quantity of test environment is equal to transaction type quantity of non-test environment.
When the test transaction does not cover all transaction types, in operation S305, the transaction types of the test transaction may be increased by controlling the flow rate of load balancing, and the verification method of the embodiment of the present disclosure is continuously executed again until the test transaction covers all transaction types; in this case, although the test version of the application program does not pass the verification, since the test transaction does not cover all transaction types and the verification result cannot be completely trusted, the test transaction needs to be added continuously for further verification.
When the test transaction covers all transaction types, the test version of the application program is not verified, the reliability is poor, and the application program cannot be turned to production for use, and the test transaction is switched from the test server to a normal server for execution in operation S306, so as to ensure the reliability of the test transaction.
According to the embodiment of the disclosure, after the initial verification result that the test version of the application program does not pass the verification is obtained, a technical means of further processing is added, the reliability of the verification result is ensured by increasing the transaction type of the test transaction, or the test transaction is switched from the test server to the normal server for execution, and the reliability of the test transaction is ensured.
According to the embodiment of the present disclosure, after the test version of the application program passes the verification:
switching the normal transaction from the normal server to the test server for execution by controlling the flow of load balance;
updating the non-test version of the application program in the normal server into the test version of the application program; and
and switching the normal transaction and the test transaction from the test server to the normal server for execution by controlling the flow of the load balance.
According to the embodiment of the disclosure, the non-test version of the application program of the normal server needs to be updated to the test version of the application program, so that before updating, in order to ensure that the transaction is normally performed, the transaction migration operation is executed, and after the program version is updated, the normal transaction and the test transaction are migrated back to the normal server for execution.
According to the embodiment of the disclosure, by the method, the purpose of updating and upgrading the application program version is achieved, meanwhile, the normal operation of the transaction is ensured without interrupting the transaction, and the automatic upgrading of the application program version which is not perceived by the user is achieved.
According to an embodiment of the present disclosure, obtaining test environment transaction data and non-test environment transaction data includes:
collecting transaction logs of a test server and a normal server;
test environment transaction data and non-test environment transaction data are obtained from the transaction log.
According to the embodiment of the disclosure, the operations of collecting data and obtaining the transaction data of the test environment and the transaction data of the non-test environment are executed on one side of the application server, after the data are obtained, the data can be uploaded to one side of the data processing server in an RPC mode, specifically, the data can be stored into a database firstly, the database can be stored in a warehouse by using application dimensions, whether a related application table exists in the database or not can be inquired before the data are stored in the warehouse, and if the related application table does not exist in the database, the application table is newly built and the data are stored into the application table. The data processing server is used for performing data processing analysis on the transaction information data after acquiring the key information related to the transaction from the database, and executing the verification method of the embodiment of the disclosure.
Another aspect of the present disclosure provides an application version verification apparatus, and fig. 4 schematically illustrates a block diagram of an application version verification apparatus 400 according to an embodiment of the present disclosure.
The application version verification apparatus 400 may be used to implement the method described with reference to fig. 2.
As shown in fig. 4, the application version verification apparatus 400 includes: an acquisition module 401, a first calculation module 402, a second calculation module 403 and a determination module 404.
The acquiring module 401 is configured to acquire test environment transaction data and non-test environment transaction data, where the test environment transaction data is obtained by executing each test transaction in the test server, and the non-test environment transaction data is obtained by executing each normal transaction in the normal server; the test server runs a test version of the application program, and the normal server runs a non-test version of the application program, wherein the non-test version is a version before the test version is upgraded.
A first calculation module 402, configured to input the test environment transaction data into the result statistical model, and output a test environment index result;
the second calculation module 403 is configured to input the transaction data of the non-testing environment into the result statistical model, and output a non-testing environment index result;
the determining module 404 is configured to determine that the test version of the application passes the verification when the test environment index result and the non-test environment index result meet the preset determination condition.
According to the embodiment of the disclosure, the test environment transaction data and the non-test environment transaction data are acquired through the acquisition module 401, the test environment transaction data and the non-test environment transaction data are used as basic data for analysis through the first calculation module 402 and the second calculation module 403, transaction index results under two version environments are obtained through analysis, the transaction index results are compared through the determination module 404, verification is passed when the judgment condition is met, and accordingly whether the test version of the application program running in the test server meets the requirement of the reliability of normal transaction or not can be well verified. Therefore, by the method realized by the device of the embodiment of the disclosure, the transaction index results under the two version environments are compared and analyzed, automatic detection and verification are realized, the verification accuracy is ensured, the operation and maintenance cost is reduced, and the operation and maintenance efficiency is improved. Meanwhile, due to the realization of automatic detection, the problems of incomplete omission and coverage of partial function check, complex operation, difficult subsequent modification and maintenance and the like in manual operation are also avoided.
According to an embodiment of the present disclosure, wherein: the test environment transaction data includes at least one of: transaction result data, transaction response time data, transaction type data obtained by executing each test transaction in the test version of the application program.
The non-test environment transaction data includes at least one of: and executing transaction result data, transaction response time data and transaction type data obtained by each normal transaction in the pre-upgrading version of the application program.
The test environment indicator results include at least one of: testing the success rate of the transaction, the average response time and the number of transaction types.
The non-test environment indicator results include at least one of: success rate of normal transactions, average response time, number of transaction types.
According to an embodiment of the present disclosure, the preset determination condition includes: and the absolute difference value of the test environment index result and the non-test environment index result is less than or equal to a preset threshold value.
According to the embodiment of the disclosure, the method further comprises an adding module or a first switching module.
The adding module is used for adding the transaction types of the test transactions under the condition that the test environment index result and the non-test environment index result do not meet the preset judging condition.
And the first switching module is used for switching the test transaction from the test server to the normal server to be executed under the condition that the test environment index result and the non-test environment index result do not meet the preset judgment condition.
According to the embodiment of the disclosure, the device further comprises a second switching module, an updating module and a third switching module.
And the second switching module is used for switching the normal transaction from the normal server to the test server to be executed after the test version of the application program passes the verification.
And the updating module is used for updating the non-test version of the application program in the normal server into the test version of the application program.
And the third switching module is used for switching the normal transaction and the test transaction from the test server to the normal server for execution.
According to an embodiment of the present disclosure, the obtaining module 401 includes a collecting unit and an obtaining unit.
The system comprises a test server, an acquisition unit, a processing unit and a control unit, wherein the acquisition unit is used for acquiring transaction logs of the test server and a normal server; and the acquisition unit is used for acquiring the transaction data of the test environment and the transaction data of the non-test environment from the transaction log.
Any number of modules, sub-modules, units, sub-units, or at least part of the functionality of any number thereof according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to the embodiments of the present disclosure may be implemented by being split into a plurality of 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 a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in any other reasonable manner of hardware or firmware by integrating or packaging a circuit, or in any one of or a suitable combination of software, hardware, and firmware implementations. Alternatively, one or more of the modules, sub-modules, units, sub-units according to embodiments of the disclosure may be at least partially implemented as a computer program module, which when executed may perform the corresponding functions.
For example, any number of the obtaining module 401, the first calculating module 402, the second calculating module 403 and the determining module 404 may be combined and implemented in one module/unit/sub-unit, or any one of the modules/units/sub-units may be split into a plurality of modules/units/sub-units. Alternatively, at least part of the functionality of one or more of these modules/units/sub-units may be combined with at least part of the functionality of other modules/units/sub-units and implemented in one module/unit/sub-unit. According to an embodiment of the present disclosure, at least one of the obtaining module 401, the first calculating module 402, the second calculating module 403 and the determining module 404 may be at least partially implemented as a hardware circuit, 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 by hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or implemented in any one of three implementations of software, hardware and firmware, or in a suitable combination of any of them. Alternatively, at least one of the obtaining module 401, the first calculating module 402, the second calculating module 403 and the determining module 404 may be at least partially implemented as a computer program module, which when executed may perform a corresponding function.
Fig. 5 schematically shows a block diagram of an electronic device for implementing an application version verification method according to an embodiment of the present disclosure.
The electronic device shown in fig. 5 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 5, an electronic device 500 according to an embodiment of the present disclosure includes a processor 501 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)502 or a program loaded from a storage section 508 into a Random Access Memory (RAM) 503. The processor 501 may comprise, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or associated chipset, and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), among others. The processor 501 may also include onboard memory for caching purposes. Processor 501 may include a single processing unit or multiple processing units for performing different actions of a method flow according to embodiments of the disclosure.
In the RAM 503, various programs and data necessary for the operation of the electronic apparatus 500 are stored. The processor 501, the ROM 502, and the RAM 503 are connected to each other by a bus 504. The processor 501 performs various operations of the method flows according to the embodiments of the present disclosure by executing programs in the ROM 502 and/or the RAM 503. Note that the programs may also be stored in one or more memories other than the ROM 502 and the RAM 503. The processor 501 may also perform various operations of 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, electronic device 500 may also include an input/output (I/O) interface 505, input/output (I/O) interface 505 also being connected to bus 504. The system 500 may also include one or more of the following components connected to the I/O interface 505: an input portion 506 including a keyboard, a mouse, and the like; an output portion 507 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage portion 508 including a hard disk and the like; and a communication section 509 including a network interface card such as a LAN card, a modem, or the like. The communication section 509 performs communication processing via a network such as the internet. The driver 510 is also connected to the I/O interface 505 as necessary. A removable medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 510 as necessary, so that a computer program read out therefrom is mounted into the storage section 508 as necessary.
According to embodiments of the present disclosure, method flows according to embodiments of the present disclosure may be implemented as computer software programs. 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 containing program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 509, and/or installed from the removable medium 511. The computer program, when executed by the processor 501, performs the above-described functions defined in the system of the embodiments of the present disclosure. The systems, devices, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement the method according to an embodiment of the disclosure.
According to an embodiment 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 present 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, a computer-readable storage medium may include ROM 502 and/or RAM 503 and/or one or more memories other than ROM 502 and RAM 503 described above.
Embodiments of the present disclosure also include a computer program product comprising a computer program containing program code for performing the method provided by the embodiments of the present disclosure, when the computer program product is run on an electronic device, the program code being adapted to cause the electronic device to implement the method of application version verification provided by the embodiments of the present disclosure.
The computer program, when executed by the processor 501, performs the above-described functions defined in the system/apparatus of the embodiments of the present disclosure. The systems, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
In one embodiment, the computer program may be hosted on a tangible storage medium such as an optical storage device, a magnetic storage device, or the like. In another embodiment, the computer program may also be transmitted, distributed in the form of a signal on a network medium, downloaded and installed through the communication section 509, and/or installed from the removable medium 511. The computer program containing program code may be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
In accordance with embodiments of the present disclosure, program code for executing computer programs provided by embodiments of the present disclosure may be written in any combination of one or more programming languages, and in particular, these computer programs may be implemented using high level procedural and/or object oriented programming languages, and/or assembly/machine languages. The programming language includes, but is not limited to, programming languages such as Java, C + +, python, the "C" language, or the like. The program code may execute entirely on the user computing device, partly on the user device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods 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 various combinations and/or combinations of features recited in the various embodiments and/or claims of the present disclosure can be made, even if such combinations or combinations are not expressly recited in the present disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present disclosure may be made without departing from the spirit or teaching of the present disclosure. All such combinations and/or associations are within the scope of the present disclosure.
The embodiments of the present disclosure have been 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 separately above, this does not mean that the measures in the embodiments cannot be used in advantageous combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be devised by those skilled in the art without departing from the scope of the present disclosure, and such alternatives and modifications are intended to be within the scope of the present disclosure.

Claims (10)

1. An application version verification method, comprising:
acquiring test environment transaction data and non-test environment transaction data, wherein the test environment transaction data is data obtained by executing each test transaction in a test server, and the non-test environment transaction data is data obtained by executing each normal transaction in a normal server; running a test version of an application program in the test server, and running a non-test version of the application program in the normal server, wherein the non-test version is a version before upgrading of the test version;
inputting the test environment transaction data into a result statistical model, and outputting a test environment index result;
inputting the transaction data of the non-testing environment into the result statistical model, and outputting a non-testing environment index result;
and determining that the test version of the application program passes verification under the condition that the test environment index result and the non-test environment index result meet preset judgment conditions.
2. The method of claim 1, wherein:
the test environment transaction data includes at least one of: executing transaction result data, transaction response time data and transaction type data obtained by each test transaction in the test version of the application program;
the non-test environment transaction data includes at least one of: executing transaction result data, transaction response time data and transaction type data obtained by each normal transaction in the pre-upgrade version of the application program;
the test environment indicator result includes at least one of: the success rate, the average response time and the transaction type number of the test transaction;
the non-test environment indicator results include at least one of: the success rate of the normal transaction, the average response time and the number of transaction types.
3. The method according to claim 1, wherein the preset discrimination condition includes: and the absolute difference value of the test environment index result and the non-test environment index result is less than or equal to a preset threshold value.
4. The method of claim 1, further comprising, in the event that the test environment indicator result and the non-test environment indicator result do not satisfy a preset discrimination condition:
increasing a transaction type of the test transaction; or
And switching the test transaction from the test server to the normal server for execution.
5. The method of claim 1, further comprising, after the test version of the application program is validated:
switching the normal transaction from the normal server to the test server for execution;
updating the non-test version of the application program in the normal server to be the test version of the application program; and
and switching the normal transaction and the test transaction from the test server to the normal server for execution.
6. The method of claim 1, the obtaining test environment transaction data and non-test environment transaction data comprising:
collecting transaction logs of the test server and the normal server;
and acquiring the test environment transaction data and the non-test environment transaction data from the transaction log.
7. An application version verification apparatus comprising:
the system comprises an acquisition module, a processing module and a processing module, wherein the acquisition module is used for acquiring test environment transaction data and non-test environment transaction data, the test environment transaction data is obtained by executing each test transaction in a test server, and the non-test environment transaction data is obtained by executing each normal transaction in a normal server; running a test version of an application program in the test server, and running a non-test version of the application program in the normal server, wherein the non-test version is a version before upgrading of the test version;
the first calculation module is used for inputting the test environment transaction data into a result statistical model and outputting a test environment index result;
the second calculation module is used for inputting the transaction data of the non-testing environment into the result statistical model and outputting a non-testing environment index result;
and the determining module is used for determining that the test version of the application program passes the verification under the condition that the test environment index result and the non-test environment index result meet the preset judgment condition.
8. An electronic device, comprising:
one or more processors;
a memory for storing one or more programs,
wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the method of any of claims 1-6.
9. A computer readable storage medium having stored thereon executable instructions which, when executed by a processor, cause the processor to carry out the method of any one of claims 1 to 6.
10. A computer program product comprising computer executable instructions for implementing the method of any one of claims 1 to 6 when executed.
CN202111168166.0A 2021-09-30 2021-09-30 Application program version verification method and device, electronic equipment and storage medium Pending CN113900940A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111168166.0A CN113900940A (en) 2021-09-30 2021-09-30 Application program version verification method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111168166.0A CN113900940A (en) 2021-09-30 2021-09-30 Application program version verification method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN113900940A true CN113900940A (en) 2022-01-07

Family

ID=79190423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111168166.0A Pending CN113900940A (en) 2021-09-30 2021-09-30 Application program version verification method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113900940A (en)

Similar Documents

Publication Publication Date Title
US11151024B2 (en) Dynamic automation of DevOps pipeline vulnerability detecting and testing
US9710257B2 (en) System and method to map defect reduction data to organizational maturity profiles for defect projection modeling
CN110532185B (en) Test method, test device, electronic equipment and computer readable storage medium
US20100077257A1 (en) Methods for disaster recoverability testing and validation
US11656959B2 (en) Disaster recovery region recommendation system and method
CN112799940A (en) Regression testing method, device, computer system and computer readable storage medium
CN108763051B (en) Electronic device, transaction software running risk early warning method and storage medium
CN114462532A (en) Model training method, device, equipment and medium for predicting transaction risk
CN114238993A (en) Risk detection method, apparatus, device and medium
CN111930629A (en) Page testing method and device, electronic equipment and storage medium
CN111858377A (en) Quality evaluation method and device for test script, electronic device and storage medium
CN113900940A (en) Application program version verification method and device, electronic equipment and storage medium
CN107229487B (en) Code processing method and device
CN113656314A (en) Pressure test processing method and device
CN114461499A (en) Abnormal information detection model construction method and gray scale environment abnormal detection method
CN115203178A (en) Data quality inspection method and device, electronic equipment and storage medium
CN113656313A (en) Automatic test processing method and device
CN114708081A (en) Credit risk prediction method and device, electronic equipment and readable storage medium
CN113760675A (en) Load prediction method and apparatus, electronic device, and computer-readable storage medium
KR20150032606A (en) System and method for testing of credit authorization terminal
CN113127284A (en) Server pressure testing method and system, electronic equipment and storage medium
CN113485930B (en) Business process verification method, device, computer system and readable storage medium
CN114817073A (en) Automated testing method, apparatus, device, medium, and program product
CN112948269A (en) Information processing method, information processing apparatus, electronic device, and readable storage medium
CN114201410A (en) Method, device, equipment and medium for monitoring executed degree of test case

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