Application software continuous integration testing system and method

By integrating control terminals and distributed testing units, the problem of low testing efficiency in existing technologies is solved, enabling rapid and automated continuous integration testing of application software, supporting parallel testing of multiple projects and a stable network environment.

CN122309337APending Publication Date: 2026-06-30CHINA ELECTRONICS CYBERSPACE RESEARCH INSTITUTE CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CHINA ELECTRONICS CYBERSPACE RESEARCH INSTITUTE CO LTD
Filing Date
2024-12-30
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

Existing system-based software testing methods suffer from inconsistent testing environments and rely on multiple components and modules, making continuous integration testing impossible and resulting in low testing efficiency.

Method used

It employs a control terminal, test host, integrated test module, and distributed test unit to construct an automated test process that executes multiple test tasks in parallel, including page characters, layout, media performance, navigation functions, refresh updates, and traffic and power consumption tests, supporting real-time feedback and a stable network environment.

Benefits of technology

It enables rapid and automated complex testing in a continuous integration environment, significantly improving testing efficiency, supporting parallel testing of multiple projects, and enhancing test success rate and network stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122309337A_ABST
    Figure CN122309337A_ABST
Patent Text Reader

Abstract

This invention provides a continuous integration testing system and method for application software, relating to the field of software testing technology. A control terminal constructs test tasks based on the code to be tested and a pre-configured test process, sends them to a test host, and the test host initiates the code to be tested and executes the test tasks through an integration testing module. The integration testing module integrates distributed testing units, which execute corresponding test tasks and output test results. The distributed testing units include page character testing units, page layout testing units, media performance testing units, navigation function testing units, refresh update testing units, and traffic / power testing units. A test result feedback module receives test results from the distributed testing units and feeds them back to the test host. This invention solves the problem that current testing systems can only test individual projects one by one, which is inconvenient for continuous integration testing and results in low testing efficiency, thus improving software testing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of software testing technology, and in particular to a continuous integration testing system and method for application software. Background Technology

[0002] Application software is a program developed to meet specific needs. It can run on various operating systems and hardware platforms, such as smartphones, tablets, and personal computers. Application software is diverse in type and function, covering various fields and industries. Both individual users and enterprises rely on the support of application software. Before release, application software needs to undergo comprehensive testing, and optimization and updates based on the test results to ensure software quality and stability, thereby providing a better user experience. Therefore, employing excellent application software testing is crucial.

[0003] Currently, system-based software testing methods have a wider range of applications and demands compared to traditional software testing methods. System-based software testing includes: testing to check and verify whether the software works as designed, compatibility testing with different computers and external devices, and security and usability testing from the user's perspective.

[0004] However, current system-based software testing is inconvenient for continuous integration testing due to inconsistent testing environments and the need to rely on multiple components and modules. It can only test individual projects one by one, resulting in low testing efficiency. Summary of the Invention

[0005] In view of this, embodiments of the present invention provide an application software continuous integration testing system and method to eliminate or improve one or more defects existing in the prior art. It can solve the problem that current testing systems can only perform individual project-by-project testing, which is inconvenient for continuous integration testing and results in low testing efficiency.

[0006] One aspect of the present invention provides an application software continuous integration testing system, the system comprising: a control terminal, a test host, an integration testing module, and a test result feedback module;

[0007] The control terminal is connected to the test host. The control terminal is used to construct test tasks based on the code to be tested and the pre-configured test process when the application software code to be tested is detected to be submitted; and to send the test tasks to the test host.

[0008] The test host connects to the integration test module. Upon receiving a test task, the test host starts the code to be tested and executes the test task through the integration test module. The integration test module integrates distributed test units, which execute corresponding test tasks and output test results. These distributed test units include page character testing, page layout testing, media performance testing, navigation function testing, refresh and update testing, and traffic and power consumption testing. The page character testing unit performs page detection and character recognition tests; the page layout testing unit performs page display and layout tests; the media performance testing unit performs image and animation tests; the navigation function testing unit performs navigation tests; the refresh and update testing unit performs software refresh and update tests; and the traffic and power consumption testing unit performs traffic and power consumption statistics.

[0009] The output of the distributed test unit is connected to the test result feedback module, which is also connected to the test host. The test result feedback module is used to feed back the test results to the test host when it receives the test results sent by the distributed test unit.

[0010] In some embodiments of the present invention, the page character testing unit includes a character recognition and detection module and a page overview detection module;

[0011] The character recognition and detection module is used to capture software page images during the execution of the code to be tested on the test host; recognize the characters in the software page images to obtain the recognized text; and perform text verification tests and content verification tests on the recognized text. The text verification tests include spelling tests and grammar tests; the content verification tests include tests on the correctness of the text content of the recognized text.

[0012] The page overview detection module is used to compare the software page image with the preset page image to obtain the image comparison result, which is used to indicate whether the software page image and the preset page image are consistent.

[0013] In some embodiments of the present invention, the page layout testing unit includes a page layout testing module and a page display testing module;

[0014] The page layout testing module is used to compare the preset page design specifications with the actual detected page layout during the execution of the code to be tested on the test host, and obtain the page layout comparison results; the page layout comparison results are used to indicate whether the page layout is consistent with the preset page design specifications.

[0015] The page display test module is used to perform visibility and interactive function tests on page elements in the software page while the test host is executing the code to be tested, and obtain the page display test results.

[0016] In some embodiments of the present invention, the media performance testing unit includes an image testing module and an animation testing module;

[0017] The image testing module is used to perform visibility tests on images on the software page during the execution of the code under test on the test host, and obtain image test results; the image test results are used to indicate whether the images on the software page are displayed correctly.

[0018] The animation testing module is used to test the playback of animations on the software page and obtain the playback test results; the playback test results are used to indicate whether the animations on the software page play normally.

[0019] In some embodiments of the present invention, the refresh and update test unit includes a refresh simulation detection module and an update simulation detection module;

[0020] The refresh simulation detection module is used to test the refresh function of the software page while the code to be tested is being executed on the test host.

[0021] Update the simulation testing module to test the application software's version update functionality.

[0022] In some embodiments of the present invention, before sending the test task to the test host, the control terminal is further configured to generate test environment configuration information and test task scheduling information based on the test task; and send the test environment configuration information and test task scheduling information to the test host.

[0023] The test host is also used to configure the test environment according to the test environment configuration after receiving the test environment configuration information and test task scheduling information; and to schedule the execution of test tasks according to the test task scheduling information during the execution of test tasks.

[0024] In some embodiments of the present invention, the test host is further configured to initialize the test environment upon receiving test results sent by the test result feedback module.

[0025] In some embodiments of the present invention, the system further includes a 10 Gigabit optical module, which is connected to the test host and is used to provide network services to the test host during the execution of test tasks.

[0026] In some embodiments of the present invention, the test host includes a virtual machine or a physical host.

[0027] Another aspect of the present invention provides an application software continuous integration testing method, applied to the aforementioned application software continuous integration testing system, the method comprising the following steps:

[0028] Upon detecting the submission of code to be tested via the control terminal, a test task is constructed based on the code to be tested and the pre-configured test process, and the test task is sent to the test host.

[0029] The test host receives test tasks, starts the code to be tested, and executes the test tasks through the integration test module to test the code to be tested; the integration test module integrates distributed test units;

[0030] The distributed testing units execute corresponding test tasks and output test results to the test result feedback module. These units include a page character testing unit, a page layout testing unit, a media performance testing unit, a navigation function testing unit, a refresh and update testing unit, and a traffic and power consumption testing unit. The page character testing unit performs page detection and character recognition tests; the page layout testing unit performs page display and layout tests; the media performance testing unit performs image and animation tests; the navigation function testing unit performs navigation tests; the refresh and update testing unit performs software refresh and update tests; and the traffic and power consumption testing unit performs traffic and power consumption statistics.

[0031] The test results are received through the test result feedback module and then fed back to the test host.

[0032] The application software continuous integration testing system and method of this invention, by integrating a control terminal, a test host, an integration testing module, and a distributed testing unit, solves the problem that current testing systems can only test individual projects one by one, which is inconvenient for continuous integration testing and results in low testing efficiency. After detecting code submission, the control terminal automatically generates test tasks based on a pre-configured test process and sends them to the test host. The latter executes different types of test tasks in parallel through the integration testing module and the distributed testing unit, which greatly improves testing efficiency. At the same time, the distributed testing unit feeds back the test results to the test host and the feedback module, supporting real-time and comprehensive test feedback. This ensures that the system can quickly and automatically complete complex integration tests in a continuous integration environment, thereby significantly improving testing efficiency and supporting parallel testing of multiple projects.

[0033] In addition, during the testing process, the high transmission rate and low latency of the 10 Gigabit optical module improve the network transmission efficiency and network stability, thereby providing a stable network environment for the test, ensuring the test can proceed smoothly, and increasing the success rate of the test.

[0034] Additional advantages, objects, and features of the invention will be set forth in part in the description which follows, and will also become apparent in part to those skilled in the art upon studying the description, or may be learned by practice of the invention. The objects and other advantages of the invention can be realized and obtained by means of the structures specifically pointed out in the description and drawings.

[0035] Those skilled in the art will understand that the objectives and advantages achievable with the present invention are not limited to those specifically described above, and that the above and other objectives achievable with the present invention will become clearer from the following detailed description. Attached Figure Description

[0036] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, are not intended to limit the scope of the invention. In the drawings:

[0037] Figure 1 This is a schematic diagram of the structure of an application software continuous integration testing system provided in an embodiment of the present invention;

[0038] Figure 2 This is a schematic diagram of the structure of a page character testing unit provided in an embodiment of the present invention;

[0039] Figure 3 This is a schematic diagram of the structure of a page layout testing unit provided in an embodiment of the present invention;

[0040] Figure 4 This is a schematic diagram of the structure of a media performance testing unit provided in an embodiment of the present invention;

[0041] Figure 5 This is a schematic diagram of the structure of a refresh and update test unit provided in an embodiment of the present invention;

[0042] Figure 6 This is a schematic diagram of the structure of a flow-energy testing unit provided in an embodiment of the present invention;

[0043] Figure 7 This is a schematic diagram of the structure of an application software continuous integration testing system provided in an embodiment of the present invention;

[0044] Figure 8 A flowchart of an application software continuous integration testing method provided in an embodiment of the present invention. Detailed Implementation

[0045] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the embodiments and accompanying drawings. Here, the illustrative embodiments and descriptions of this invention are used to explain the invention, but are not intended to limit the invention.

[0046] It should also be noted that, in order to avoid obscuring the invention with unnecessary details, only the structures and / or processing steps closely related to the solution according to the invention are shown in the accompanying drawings, while other details that are not closely related to the invention are omitted.

[0047] It should be emphasized that the term "including / comprises" as used herein refers to the presence of a feature, element, step, or component, but does not exclude the presence or addition of one or more other features, elements, steps, or components.

[0048] It should also be noted that, unless otherwise specified, the term "connection" in this article can refer not only to a direct connection, but also to an indirect connection involving an intermediary.

[0049] In the following description, embodiments of the invention will be illustrated with reference to the accompanying drawings. In the drawings, the same reference numerals represent the same or similar parts, or the same or similar steps.

[0050] like Figure 1 As shown, this is a schematic diagram of the structure of the application software continuous integration testing system provided in an embodiment of this application. Figure 1 It can be seen that the system includes a control terminal 110, a test host 120, an integrated test module 130, and a test result feedback module 140.

[0051] In some embodiments of the present invention, one test host 120 and one integrated test module 130 are used as examples for illustration. In actual implementation, the number of test hosts 120 and integrated test modules 130 can be two or at least two. This embodiment does not limit the number of test hosts 120 and integrated test modules 130.

[0052] In some embodiments of the present invention, the control terminal 110 is an electronic device that is communicatively connected to the test host and controls the test host to perform continuous integration testing of application software. The communication connection includes a wireless communication connection or a wired communication connection based on a network cable. The electronic device can be a mobile phone, computer, or tablet computer, etc. This embodiment does not limit the device type of the control terminal 110.

[0053] Test host 120 is a virtual machine or physical host used to perform continuous integration testing of application software. When test host 120 is a virtual machine, it can run on control terminal 110 or on a separate electronic device. This electronic device can be a mobile phone, computer, or tablet computer, etc.

[0054] In some embodiments of the present invention, whenever a developer submits the code to be tested to a code repository (such as GitHub, GitLab, etc.), the application software continuous integration testing system automatically triggers the build and testing process. The control terminal 110 builds a test task based on the submitted code to be tested and the pre-configured test process, and sends the built test task to the test host 120 for execution.

[0055] Specifically, the control terminal 110 is used to: construct a test task based on the test code and a pre-configured test process when the application software code to be tested is detected to be submitted; and send the test task to the test host 120.

[0056] In this context, pre-configured test processes refer to a series of automated test tasks pre-set by developers or operations personnel within a continuous integration / continuous deployment (CI / CD) tool. These tasks are used to automatically trigger subsequent build, test, and deployment operations when changes occur in the code repository. These processes are typically defined by configuration files in the CI / CD system (such as Jenkinsfile, .gitlab-ci.yml, circleci / config.yml, etc.), specifying the concrete steps to be executed when code is committed, merged, or triggered by other events.

[0057] In some embodiments of the present invention, when the code repository changes, the control terminal 110 constructs a test task according to a pre-configured test process and sends it to the test host 120; after receiving the test task, the test host 120 executes the corresponding test task through the integrated test module 130 and the various distributed test units integrated in the integrated test module 130 to obtain the test results.

[0058] Specifically, the test host 120 is used to: after receiving a test task, start the code to be tested and execute the test task through the integrated test module 130; the integrated test module 130 integrates a distributed test unit, which executes the corresponding test tasks and outputs the test results respectively.

[0059] like Figure 1 As shown, the distributed test unit includes a page character test unit 1310, a page layout test unit 1320, a media performance test unit 1330, a navigation function test unit 1340, a refresh update test unit 1350, and a traffic and power test unit 1360.

[0060] The page character testing unit 1310 is used to perform page detection and character recognition testing tasks; the page layout testing unit 1320 is used to perform page display and page layout testing tasks; the media performance testing unit 1330 is used to perform image and animation testing tasks; the navigation function testing unit 1340 is used for navigation testing tasks; the refresh and update testing unit 1350 is used to perform software refresh and software update testing tasks; and the flow and power testing unit 1360 is used to perform flow and power consumption statistics tasks.

[0061] like Figure 2 As shown, in some embodiments of the present invention, the page character testing unit 1310 includes a character recognition and detection module 1311 and a page overview detection module 1312. The character recognition and detection module 1311 is used to detect the accuracy of character recognition, including whether there are spelling or grammatical errors; or, to detect whether the text content is reliable, i.e., whether it is credible or misrepresented.

[0062] Specifically, the character recognition and detection module 1311 is used to: capture a software page image during the execution of the code to be tested by the test host; recognize the characters in the software page image to obtain recognized text; perform text verification testing and content verification testing on the recognized text; the text verification test includes spelling testing and grammar testing; the content verification test includes the correctness test of the text content of the recognized text.

[0063] The spelling test refers to the test to detect whether there are spelling errors in the identified text. It can be implemented through dictionary comparison algorithms or tools, such as Hunspell or Aspell; it can also be implemented through error correction algorithms, including the Levenshtein distance algorithm or the Damerau-Levenshtein distance algorithm. This embodiment does not limit the implementation method of the spelling test.

[0064] Grammar testing ensures that the identified text is grammatically correct and conforms to the language's grammatical rules. Grammar testing can be implemented using rule-based parsers, which utilize predefined grammatical rules to check the correctness of the text's grammatical structure. For example, natural language processing libraries (such as SpaCy and NLTK) can be used to parse the grammatical structure of sentences and check for compliance with the corresponding language's grammatical rules. Alternatively, it can be implemented based on parse trees, which are constructed to check the correctness of the relationships between sentence components. For example, this can be used to check the subject-verb-object structure of English sentences or the word order of Chinese sentences.

[0065] The purpose of text content correctness testing is to ensure that the identified text content is correct, that is, that the semantics and actual content of the text are correct. This can be done by comparing it with a database or reference document to check whether the text content is correct. For example, if the identified text is a description of a product, the identified text can be compared with the standard description of the product to ensure that the content is consistent. Alternatively, the correctness of the text can be verified by analyzing the context of the identified text. For example, natural language understanding technology can be used to determine whether the objects mentioned in the text match the images, buttons, links, etc. on the page. Or, for product descriptions, it can be checked whether they meet the preset product characteristics, such as product name, specifications, price, etc.

[0066] In some embodiments of the present invention, the page overview detection module 1322 is used to detect whether the page conforms to the design, to ensure that each page of the application software is consistent with the design draft, and to avoid page confusion caused by development or rendering differences.

[0067] Specifically, the page overview detection module 1312 is used to: compare the software page image with the preset page image to obtain the image comparison result, which is used to indicate whether the software page image and the preset page image are consistent.

[0068] If the image comparison results show that the two are consistent, it means that the application software's page meets the expected design and no further adjustments are needed. If the image comparison results show that there are differences between the two, the image comparison results also include the specific differences marked, such as missing page elements, changes in position, inconsistent colors, etc., and generate a difference report so that developers can check and fix the problems based on the difference report.

[0069] like Figure 3 As shown, in some embodiments of the present invention, the page layout testing unit 1320 includes a page layout testing module 1321 and a page display testing module 1322; wherein, the page layout testing module 1321 is used to detect the accuracy of the page layout, such as the CSS styles, HTML layout structure or the display of scrollbars in the page list.

[0070] Specifically, the page layout testing module 1321 is used to: compare the preset page design specifications with the actual detected page layout during the execution of the code to be tested on the test host 120, and obtain the page layout comparison result; the page layout comparison result is used to indicate whether the page layout is consistent with the preset page design specifications.

[0071] In some embodiments of the present invention, the page display test module 1322 is used to detect whether the page elements in the page are displayed normally; including detecting whether the page elements are displayed normally after the page is refreshed, whether the page elements are displayed normally after the page is forward and backward, and whether the page elements in the page are fully displayed after the browser adjusts its page size, etc.

[0072] Specifically, the page display test module 1322 is used to: perform visibility tests and interactive function tests on page elements in the software page during the execution of the code to be tested on the test host, and obtain page display test results.

[0073] In some embodiments of the present invention, browser automation tools are used to simulate interactions with software pages, including page refresh, page forward, or page backward, and to obtain the state of the software page. These browser automation tools include, but are not limited to, Selenium, Playwright, Puppeteer, or Cypress.

[0074] During the process of checking whether page elements are displayed correctly, page elements are located using CSS selectors or text matching, and then checked using APIs provided by browser automation tools. Since page refreshes, page forward / backward navigation, and other interactions can affect page display, after each interaction, the APIs provided by browser automation tools can be used to check whether page elements are visible or rendered, as well as their position and size.

[0075] like Figure 4 As shown, in some embodiments of the present invention, the media performance testing unit 1330 includes an image testing module 1331 and an animation testing module 1332. The image testing module 1331 is used to detect whether the image is displayed correctly.

[0076] In some embodiments of the present invention, browser automation tools are used to simulate user access, location, and detection of images on a webpage, checking whether the images exist and whether they are displayed. For example, in webpages, images are generally used... The images are displayed using tags, so the first step is to locate these tags, check if their src attribute is valid, and whether the images are loaded correctly; alternatively, check the image's natural width and natural height to confirm whether the image has been loaded or has been fully loaded.

[0077] Specifically, the image testing module 1331 is used to: perform visibility tests on images on the software page during the execution of the code to be tested on the test host 120, and obtain image test results; the image test results are used to indicate whether the images on the software page are displayed normally. The animation testing module 1332 is used to detect whether the animation plays normally.

[0078] In some embodiments of the present invention, user interaction with the page is simulated using browser automation tools, such as triggering animations, waiting for animations to end, and checking the intermediate and final states of the animations. During testing, animation-related events are monitored to confirm whether the animation has started playing, including determining whether the animation completes within the expected time and plays normally by checking whether the animation duration matches the expectation, whether page elements undergo state changes (e.g., position, color, size, etc.) during the animation, and whether the animation loops.

[0079] Specifically, the animation test module 1332 is used to: perform playback tests on the animations in the software page and obtain playback test results; the playback test results are used to indicate whether the animations in the software page play normally.

[0080] In some embodiments of the present invention, the navigation function testing unit 1340 is used to test whether the navigation can be used normally, including but not limited to testing whether the links jump correctly, whether the navigation can be displayed correctly under different screen sizes, the keyboard navigation menu and selection, and whether the navigation menu and sub-menus can be expanded and collapsed normally.

[0081] like Figure 5 As shown, in some embodiments of the present invention, the refresh / update test unit 1350 includes a refresh simulation detection module 1351 and an update simulation detection module 1352. The refresh simulation detection module 1351 is used to test the refresh function of the software page during the execution of the code to be tested on the test host; the update simulation detection module 1352 is used to test the version update function of the application software.

[0082] like Figure 6 As shown, the flow and power testing unit 1360 includes a flow monitoring module 1361, a power monitoring module 1362, and a calculation module 1363. The flow monitoring module 1361 is used to monitor flow consumption; the power monitoring module 1362 is used to monitor power consumption; and the calculation module 1363 is used to calculate the flow and power consumed by the application software during the test.

[0083] like Figure 1In some embodiments of the present invention, after each distributed measurement unit completes its test task and obtains test results, the test results are sent to the test result feedback module 140. The test result feedback module 140 collects test results from multiple distributed measurement units, aggregates test data from different sources, and generates a visualized report, including statistics on test pass / fail, detailed error logs, screenshots, performance metrics, etc. The report format includes, but is not limited to, JUnit format, HTML, PDF, etc.

[0084] The output of the distributed test unit is connected to the test result feedback module 140, which is also connected to the test host 120. The test result feedback module 140 is used to feed back the test result to the test host 120 when it receives the test result sent by the distributed test unit.

[0085] In actual implementation, in order to ensure that the test host 120 can correctly complete the test tasks, the control terminal 110 also needs to manage the configuration of different environments to ensure that the correct configuration can be used for each build and test; at the same time, the control terminal 110 also needs to manage the resources of the test host 120, schedule the execution of test tasks, and ensure the smooth progress of the test tasks.

[0086] Specifically, before sending the test task to the test host 120, the control terminal 110 is also used to generate test environment configuration information and test task scheduling information based on the test task; and send the test environment configuration information and test task scheduling information to the test host 120.

[0087] The test environment configuration information includes detailed information on hardware, software, network, test tools, data, and environment deployment to ensure that the test is conducted in a suitable environment. The test task scheduling information includes task definition, planning, resource allocation, priority, progress tracking, dependencies, and report generation to ensure that the test tasks can be executed efficiently and in an orderly manner.

[0088] Accordingly, the test host 120 is also used to configure the test environment according to the test environment configuration after receiving the test environment configuration information and the test task scheduling information; and to schedule the execution of the test task according to the test task scheduling information during the execution of the test task.

[0089] In addition, after completing the testing task, the test host 120 also needs to initialize the test environment to ensure the isolation and repeatability of each test. Specifically, the test host 120 is also used to initialize the test environment upon receiving the test results sent by the test result feedback module.

[0090] In addition, such as Figure 7As shown, the application software continuous integration testing system also includes a 10 Gigabit optical module 150, which is connected to the test host 120. During the test, the 10 Gigabit optical module 150 improves network transmission efficiency and network stability through its high transmission rate and low latency characteristics, thereby providing a stable network environment for the test host 150 and ensuring the stable execution of the test task.

[0091] Specifically, the 10 Gigabit optical module 150 is used to provide network services to the test host 120 during the execution of test tasks.

[0092] In summary, the application software continuous integration testing system provided in this embodiment, by integrating a control terminal, a test host, an integration testing module, and a distributed testing unit, solves the problem that current testing systems can only test individual projects one by one, making continuous integration testing inconvenient and inefficient. After detecting a code submission, the control terminal automatically generates test tasks based on a pre-configured test process and sends them to the test host. The test host then executes different types of test tasks in parallel through the integration testing module and the distributed testing unit, significantly improving testing efficiency. Simultaneously, the distributed testing unit feeds back test results to the test host and the feedback module, supporting real-time and comprehensive test feedback. This ensures that the system can quickly and automatically complete complex integration tests in a continuous integration environment, thereby significantly improving testing efficiency and supporting parallel testing of multiple projects.

[0093] In addition, during the testing process, the high transmission rate and low latency of the 10 Gigabit optical module improve the network transmission efficiency and network stability, thereby providing a stable network environment for the test, ensuring the test can proceed smoothly, and increasing the success rate of the test.

[0094] This embodiment provides a method for continuous integration testing of application software, such as... Figure 8 As shown, the method includes at least steps S801 to S804:

[0095] Step S801: Upon detecting the submission of the code to be tested via the control terminal, a test task is constructed based on the code to be tested and the pre-configured test process, and the test task is sent to the test host.

[0096] In some embodiments of the present invention, before sending the test task to the test host, the method further includes: generating test environment configuration information and test task scheduling information through a control terminal; sending the test environment configuration information and test task scheduling information to the test host; receiving the test environment configuration information and test task scheduling information through the test host, configuring the test environment according to the test environment configuration, and scheduling the execution of the test task according to the test task scheduling information during the execution of the test task.

[0097] Step S802: Receive the test task through the test host, start the code to be tested, and execute the test task through the integration test module to test the code to be tested; the integration test module integrates distributed test units.

[0098] Step S803: The corresponding test tasks are executed by the distributed test units and the test results are output to the test result feedback module.

[0099] The distributed testing unit includes a page character testing unit, a page layout testing unit, a media performance testing unit, a navigation function testing unit, a refresh and update testing unit, and a traffic and power consumption testing unit. The page character testing unit is used to perform page detection and character recognition testing tasks; the page layout testing unit is used to perform page display and page layout testing tasks; the media performance testing unit is used to perform image and animation testing tasks; the navigation function testing unit is used for navigation testing tasks; the refresh and update testing unit is used to perform software refresh and software update testing tasks; and the traffic and power consumption testing unit is used to perform traffic and power consumption statistics tasks.

[0100] In some embodiments of the present invention, the page character testing unit includes a character recognition detection module and a page overview detection module.

[0101] The character recognition and detection module is used to capture software page images during the execution of the code to be tested on the test host; recognize the characters in the software page images to obtain the recognized text; and perform text verification tests and content verification tests on the recognized text. The text verification tests include spelling tests and grammar tests; the content verification tests include tests on the correctness of the text content of the recognized text.

[0102] The page overview detection module is used to compare the software page image with the preset page image to obtain the image comparison result, which is used to indicate whether the software page image and the preset page image are consistent.

[0103] In some embodiments of the present invention, the page layout testing unit includes a page layout testing module and a page display testing module.

[0104] The page layout testing module is used to compare the preset page design specifications with the actual detected page layout during the execution of the code to be tested on the test host, and obtain the page layout comparison results; the page layout comparison results are used to indicate whether the page layout is consistent with the preset page design specifications.

[0105] The page display test module is used to perform visibility and interactive function tests on page elements in the software page while the test host is executing the code to be tested, and obtain the page display test results.

[0106] In some embodiments of the present invention, the media performance testing unit includes an image testing module and an animation testing module.

[0107] The image testing module is used to perform visibility tests on images on the software page during the execution of the code under test on the test host, and obtain image test results; the image test results are used to indicate whether the images on the software page are displayed correctly.

[0108] The animation testing module is used to test the playback of animations on the software page and obtain the playback test results; the playback test results are used to indicate whether the animations on the software page play normally.

[0109] In some embodiments of the present invention, the refresh and update test unit includes a refresh simulation detection module and an update simulation detection module.

[0110] The refresh simulation detection module is used to test the refresh function of the software page while the code to be tested is being executed on the test host.

[0111] Update the simulation testing module to test the application software's version update functionality.

[0112] Step S804: Receive the test results through the test result feedback module and send the test results back to the test host.

[0113] When the test host receives the test results sent by the test result feedback module, it controls the test host to initialize the test environment.

[0114] In summary, the application software continuous integration testing method provided in this embodiment, by integrating a control terminal, a test host, an integration test module, and a distributed test unit, can solve the problem that current testing systems can only test individual projects one by one, which is inconvenient for continuous integration testing and results in low testing efficiency. After detecting code submission, the control terminal automatically generates test tasks based on a pre-configured test process and sends them to the test host. The latter executes different types of test tasks in parallel through the integration test module and the distributed test unit, which greatly improves testing efficiency. At the same time, the distributed test unit feeds back the test results to the test host and the feedback module, supporting real-time and comprehensive test feedback. This ensures that the system can quickly and automatically complete complex integration tests in a continuous integration environment, thereby significantly improving testing efficiency and supporting parallel testing of multiple projects.

[0115] In addition, during the testing process, the high transmission rate and low latency of the 10 Gigabit optical module improve the network transmission efficiency and network stability, thereby providing a stable network environment for the test, ensuring the test can proceed smoothly, and increasing the success rate of the test.

[0116] Those skilled in the art will understand that the exemplary components, systems, and methods described in conjunction with the embodiments disclosed herein can be implemented in hardware, software, or a combination of both. Whether implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this invention. When implemented in hardware, it can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this invention are programs or code segments used to perform the desired tasks. The programs or code segments can be stored in a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried in a carrier wave.

[0117] It should be clarified that the present invention is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present invention is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of the present invention.

[0118] In this invention, features described and / or illustrated for one embodiment may be used in the same or similar manner in one or more other embodiments, and / or combined with or in place of features of other embodiments.

[0119] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, various modifications and variations of the embodiments of the present invention are possible. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. An application software continuous integration testing system, characterized in that, The system includes: a control terminal, a test host, an integrated test module, and a test result feedback module; The control terminal is connected to the test host. The control terminal is used to construct a test task based on the application software code to be tested and a pre-configured test process when the application software code to be tested is detected to be submitted; and to send the test task to the test host. The test host is connected to the integrated test module. Upon receiving the test task, the test host starts the code to be tested and executes the test task through the integrated test module. The integrated test module integrates distributed test units, which execute corresponding test tasks and output test results. The distributed test units include a page character test unit, a page layout test unit, a media performance test unit, a navigation function test unit, a refresh and update test unit, and a traffic and power consumption test unit. The page character test unit performs page detection and character recognition test tasks; the page layout test unit performs page display and page layout test tasks; the media performance test unit performs image and animation test tasks; the navigation function test unit performs navigation test tasks; the refresh and update test unit performs software refresh and software update test tasks; and the traffic and power consumption test unit performs traffic and power consumption statistics tasks. The output of the distributed testing unit is connected to the test result feedback module, which is also connected to the test host. The test result feedback module is used to feed back the test result to the test host when it receives the test result sent by the distributed testing unit.

2. The application software continuous integration testing system according to claim 1, characterized in that, The page character testing unit includes a character recognition and detection module and a page overview detection module; The character recognition and detection module is used to capture software page images during the execution of the code to be tested on the test host; and to recognize the characters in the software page images to obtain the recognized text. The identified text is subjected to text verification testing and content verification testing; the text verification testing includes spelling testing and grammar testing; the content verification testing includes testing the correctness of the text content of the identified text. The page overview detection module is used to compare the software page image with a preset page image to obtain an image comparison result, which is used to indicate whether the software page image and the preset page image are consistent.

3. The application software continuous integration testing system according to claim 1, characterized in that, The page layout testing unit includes a page layout testing module and a page display testing module; The page layout testing module is used to compare the preset page design specifications with the actual detected page layout during the execution of the code to be tested on the test host, and obtain the page layout comparison result. The page layout comparison results are used to indicate whether the page layout is consistent with the preset page design specifications. The page display test module is used to perform visibility tests and interactive function tests on page elements in the software page during the execution of the code to be tested on the test host, and obtain page display test results.

4. The application software continuous integration testing system according to claim 1, characterized in that, The media performance testing unit includes an image testing module and an animation testing module; The image testing module is used to perform a visibility test on the images on the software page during the execution of the code to be tested on the test host, and obtain the image test result; the image test result is used to indicate whether the images on the software page are displayed normally. The animation testing module is used to perform playback tests on the animations on the software page and obtain playback test results; the playback test results are used to indicate whether the animations on the software page play normally.

5. The application software continuous integration testing system according to claim 1, characterized in that, The refresh and update test unit includes a refresh simulation detection module and an update simulation detection module; The refresh simulation detection module is used to test the refresh function of the software page during the execution of the code to be tested on the test host. The update simulation detection module is used to test the version update function of the application software.

6. The application software continuous integration testing system according to claim 1, characterized in that, Before sending the test task to the test host, the control terminal is further configured to generate test environment configuration information and test task scheduling information based on the test task; and send the test environment configuration information and the test task scheduling information to the test host. The test host is further configured to configure the test environment according to the test environment configuration after receiving the test environment configuration information and the test task scheduling information; and to schedule the execution of the test task according to the test task scheduling information during the execution of the test task.

7. The application software continuous integration testing system according to claim 6, characterized in that, The test host is also used to initialize the test environment upon receiving the test results sent by the test result feedback module.

8. The application software continuous integration testing system according to claim 1, characterized in that, The system also includes a 10 Gigabit optical module, which is connected to the test host and is used to provide network services to the test host during the execution of the test task.

9. The application software continuous integration testing system according to claim 1, characterized in that, The test host can be a virtual machine or a physical host.

10. A method for continuous integration testing of application software, characterized in that, Applied to the application software continuous integration testing system according to any one of claims 1 to 9, the method includes the following steps: Upon detecting the submission of code to be tested via the control terminal, a test task is constructed based on the code to be tested and the pre-configured test process, and the test task is sent to the test host. The test host receives the test task, starts the code to be tested, and executes the test task through the integration test module to test the code to be tested; the integration test module integrates a distributed test unit. The distributed testing units execute corresponding test tasks and output test results to the test result feedback module. The distributed testing units include a page character testing unit, a page layout testing unit, a media performance testing unit, a navigation function testing unit, a refresh update testing unit, and a traffic and power consumption testing unit. The page character testing unit is used to execute page detection and character recognition test tasks. The page layout testing unit is used to perform page display and page layout testing tasks; the media performance testing unit is used to perform image and animation testing tasks; the navigation function testing unit is used for navigation testing tasks; and the refresh and update testing unit is used to perform software refresh and software update testing tasks. The flow and power testing unit is used to perform flow and power consumption statistics tasks; The test results are received by the test result feedback module and then fed back to the test host.