Software development test system

By integrating deep collaboration of test case management, automated testing, defect management and other modules, the problems of fragmented and poorly connected links in traditional software development and testing models have been solved, and full-process automation and intelligence have been achieved, thereby improving software development efficiency and quality, reducing costs and risks, and helping enterprises gain an invincible position in the market.

CN120670307APending Publication Date: 2025-09-19WUHAN FENGYONG TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510778377.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-11
Publication Date
2025-09-19

AI Technical Summary

Technical Problem

Traditional software development and testing models have problems such as chaotic test case management, low level of automated testing, untimely defect tracking, complex test environment setup, unsmooth CI/CD processes, difficulty in obtaining test data, inaccurate report analysis, and insufficient security testing coverage, which affect software development efficiency and quality.

Method used

Design a comprehensive software development and testing system that integrates a test case management module, an automated testing module, a defect management module, a test environment management module, a CI/CD integration module, a test data management module, a report analysis module, and a security testing module. Through the deep integration and collaborative work of each module, it realizes automated management of test cases, efficient execution of automated testing, intelligent tracking and handling of defects, rapid construction and management of the test environment, full automation of the CI/CD process, secure acquisition and management of test data, in-depth analysis and visual display of test reports, and intelligent enhancement of AI technology.

Benefits of technology

It has achieved automation and intelligence in the entire process from test case design to software delivery, significantly shortening the development cycle, ensuring software quality, reducing development costs and risks, enhancing corporate competitiveness, quickly responding to market changes, and delivering high-quality software products.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120670307A_ABST
    Figure CN120670307A_ABST
Patent Text Reader

Abstract

The invention relates to a software development test system, which belongs to the technical field of software development, and comprises a user layer and a support layer, the output end of the user layer is in signal connection with a function module layer, and the function module layer is in bidirectional signal connection with the support layer. The function module layer comprises a test case management module, an automatic test module, a defect management module, a test environment management module, a CI / CD integration module, a test data management module, a report analysis module, a safety test module and an AI enhancement module. According to the software development test system, through deep integration and cooperation of all the modules, the problems that all links are scattered and unsmooth in connection in a traditional development test mode are effectively solved, automation and intelligentization of the whole process from test case design to software delivery are achieved, the development period is greatly shortened, meanwhile, the software quality is ensured, and the development efficiency is improved. And enterprises can quickly respond to market changes and deliver high-quality software products, so that the advantage of improving the development efficiency and quality is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of software development, and in particular to a software development and testing system. Background Art

[0002] Driven by today's wave of digitalization, the software industry has experienced explosive growth. Software products are widely used in various fields such as finance, healthcare, education, and e-commerce, becoming a vital force in promoting social development and economic progress. With users' ever-increasing demands for software quality, functionality, and performance, and increasingly fierce market competition, software companies face enormous challenges. Rapidly delivering high-quality software products, shortening development cycles, reducing development costs, and ensuring software security and stability have become key to the survival and development of software companies.

[0003] Traditional software development and testing models have many drawbacks, such as chaotic test case management, low level of automated testing, untimely defect tracking, complex test environment setup, unsmooth CI / CD processes, difficulty in obtaining test data, inaccurate report analysis, insufficient security test coverage, and lack of intelligent support. These problems seriously affect the efficiency and quality of software development.

[0004] In order to solve the problems existing in the above-mentioned existing technologies, improve the efficiency and quality of software development, and reduce development costs and risks, it is of great practical significance to develop a comprehensive software development and testing system that integrates a test case management module, an automated testing module, a defect management module, a test environment management module, a CI / CD integration module, a test data management module, a report analysis module, a security testing module and an AI enhancement module.

[0005] Through deep integration and collaborative work among modules, this system will achieve automated management of test cases, efficient execution of automated tests, intelligent tracking and handling of defects, rapid construction and management of test environments, full automation of CI / CD processes, secure acquisition and management of test data, in-depth analysis and visual display of test reports, comprehensive coverage of security tests, and intelligent enhancement of AI technology. It will provide software companies with one-stop software development and testing solutions, help them improve their core competitiveness, and remain invincible in the fierce market competition. Summary of the Invention

[0006] In view of the deficiencies in the prior art, the present invention provides a software development and testing system, which has the advantages of high development efficiency, low development cost and high development quality, and solves the problems raised in the above background technology.

[0007] To achieve the above objectives, the present invention provides the following technical solution: a software development and testing system, comprising a user layer and a support layer, wherein an output terminal signal of the user layer is connected to a functional module layer, and the functional module layer is in bidirectional signal connection with the support layer, wherein the functional module layer includes a test case management module, an automated testing module, a defect management module, a test environment management module, a CI / CD integration module, a test data management module, a report analysis module, a security testing module, and an AI enhancement module; The test case management module is used to design comprehensive and detailed test cases covering various normal and abnormal scenarios; organize relevant personnel to review test cases to ensure their accuracy and effectiveness; update test cases in a timely manner as software is iterated; record the execution of test cases, track failed test cases, and promote problem resolution; The automated testing module is used to write scripts, simulate user operations, and perform automated testing on the software to improve testing efficiency and accuracy. It is also used to analyze automated testing results, generate detailed test reports, and quickly locate problems. The defect management module is used for defect submission and recording, classification and priority assessment, tracking and resolution; The test environment management module is used for environment construction and configuration as well as environment maintenance and monitoring; The CI / CD integration module is used to frequently integrate developers' code into a shared code repository, automatically build and test it, and promptly identify integration issues. After all tests pass, the code is automatically deployed to the production environment or other target environment to achieve rapid delivery. The test data management module is used for data generation and storage and data maintenance and update; The report analysis module is used to collect and analyze various data during the test process, generate intuitive and clear test reports, display test results and analysis conclusions, and provide a basis for project decision-making; The security testing module is used to scan the software for vulnerabilities, detect common security vulnerabilities, and evaluate the security of the software, making security improvement suggestions to ensure that the software meets security standards; The AI ​​enhancement module is used for intelligent test case generation, defect prediction and analysis, and test process optimization; The test case management module is bidirectionally signal-connected to the automated testing module, the automated testing module is bidirectionally signal-connected to the defect management module, the output end of the test case management module is signal-connected to the input end of the test environment management module, the output end of the automated testing module is signal-connected to the input end of the CI / CD integration module, the test environment management module is bidirectionally signal-connected to the CI / CD integration module, the CI / CD integration module is bidirectionally signal-connected to the test data management module, the output end of the test data management module is signal-connected to the input end of the defect management module, the input end of the test environment management module is signal-connected to the output end of the report analysis module, the output end of the CI / CD integration module is signal-connected to the input end of the security testing module, the report analysis module is bidirectionally signal-connected to the security testing module, the security testing module is bidirectionally signal-connected to the AI ​​enhancement module, and the output end of the AI ​​enhancement module is signal-connected to the input end of the test data management module; The user layer includes a user role module, and the user role module includes a development module, a testing module and a product manager module; The support layer includes a cloud service module, a K8s cluster module and a database module.

[0008] Furthermore, the test case management module includes a use case design module, a version module and a priority classification module. The execution status includes execution time, execution personnel and execution results. The use case design module is used to fully cover all aspects of software functions. The version module is used to track use case changes, manage different versions of use cases and promote use case reuse. The priority classification module is used to reasonably arrange testing time and resources. For high-priority use cases, testing is given priority to ensure that the core functions and key business scenarios of the software can be fully verified; for low-priority use cases, testing can be carried out if time permits.

[0009] Furthermore, the automated testing module includes a unit module, an interface module and a performance testing module. The unit module is used to verify the basic unit of the code, provide code quality feedback and support code reconstruction and expansion. The interface module is used to verify whether the interfaces between the modules in the software system can correctly transmit and interact with data. The performance testing module is used to evaluate the performance of the software, discover performance bottlenecks and support system capacity planning.

[0010] Furthermore, the defect management module includes a submission module, a tracking module and a closed-loop module. The submission module is used to enter detailed information of the discovered defects into the system. The tracking module is used to update and display the processing status of the defects in real time. Testers and developers can use this module to understand the progress of defect processing at any time, avoiding communication barriers and duplication of work caused by information opacity. The closed-loop module is used to verify the defects, re-execute the test according to the reproduction steps and environment recorded in the submission module, and confirm whether the defects have been truly fixed and whether new problems have been introduced after the repair.

[0011] Furthermore, the test environment management module includes an environment deployment module and a simulation object module. The environment deployment module is used to automatically or semi-automatically complete the configuration of server, network and storage hardware resources, as well as the installation and setup of operating systems, middleware and database software. The simulation object module is used to isolate the system under test, improve test efficiency and enhance test controllability.

[0012] Furthermore, the CI / CD integration module includes a pipeline trigger module, which is used to respond to code changes and support timed triggering.

[0013] Furthermore, the test data management module includes a production module and a desensitizing module. The production module is used to obtain test data that is highly similar to the production environment data, and can be synchronized with the production environment data in real time or regularly to ensure that the test data is always kept up to date. It can provide test data covering normal business scenarios and abnormal business scenarios. The desensitizing module is used to protect the security of sensitive information, prevent data leakage, and ensure the independence of the test environment and improve the availability of test data.

[0014] Furthermore, the report analysis module includes a report module and an analysis module. The report module is used to generate test reports, display test results and statistical information, so that project team members can understand the testing status and quality status of the software. The analysis module is used to provide a basis for project decision-making. By analyzing the test data, it helps the team understand the quality status of the software and the effectiveness of the testing work, so as to make reasonable decisions.

[0015] Furthermore, the security testing module includes a retrieval module and an identification module. The retrieval module is used to discover vulnerabilities, threats, and risks in software applications and prevent malicious attacks from intruders, and determine all possible vulnerabilities and weaknesses in the software system. The identification module is used to identify threats in the system and measure its potential vulnerabilities so that the system does not stop running or is exploited, detect all possible security risks in the system, and help developers solve these problems through coding.

[0016] Furthermore, the AI ​​enhancement module includes a self-healing test module, which is used to help complete repetitive tasks in automation, allowing test engineers to focus on more complex business scenario testing.

[0017] Compared with the prior art, the present invention provides a software development and testing system with the following advantages: 1. This software development and testing system, through the deep integration and collaboration of various modules, effectively solves the problems of scattered links and poor connection in the traditional development and testing model, and realizes the automation and intelligence of the entire process from test case design to software delivery, significantly shortening the development cycle while ensuring software quality, enabling enterprises to quickly respond to market changes and deliver high-quality software products, thereby achieving the advantages of improving development efficiency and quality.

[0018] 2. This software development and testing system reduces manual operations and lowers labor costs through the optimized design of each module; it reduces failures and maintenance costs after the software is launched by discovering and solving potential problems in advance; the strict security testing module effectively reduces security risks and avoids losses to the enterprise due to security vulnerabilities, thereby achieving the advantage of reducing development costs and risks.

[0019] 3. This software development and testing system helps enterprises stand out in the fierce market competition through the comprehensive functions and efficient performance of each module. The rapid delivery of high-quality software products can improve customer satisfaction, establish a good corporate image, win more market share and business opportunities for the enterprise, and achieve the advantage of enhancing the competitiveness of the enterprise. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 A system block diagram of a software development and testing system according to the present invention; Figure 2 A system block diagram of a user layer of a software development and testing system of the present invention; Figure 3 This is a system block diagram of the support layer of a software development and testing system of the present invention. DETAILED DESCRIPTION

[0021] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0022] See also Figures 1 to 3In this embodiment, a software development and testing system includes a user layer and a support layer. The output end signal of the user layer is connected to the functional module layer. The functional module layer and the support layer have a bidirectional signal connection. The functional module layer includes a test case management module, an automated testing module, a defect management module, a test environment management module, a CI / CD integration module, a test data management module, a report analysis module, a security testing module, and an AI enhancement module. The test case management module is connected to the automated test module in a bidirectional signal manner, the automated test module is connected to the defect management module in a bidirectional signal manner, the output end of the test case management module is connected to the input end signal of the test environment management module, the output end of the automated test module is connected to the input end signal of the CI / CD integration module, the test environment management module is connected to the CI / CD integration module in a bidirectional signal manner, the CI / CD integration module is connected to the test data management module in a bidirectional signal manner, the output end of the test data management module is connected to the input end signal of the defect management module, the input end of the test environment management module is connected to the output end signal of the report analysis module, the output end of the CI / CD integration module is connected to the input end signal of the security testing module, the report analysis module is connected to the security testing module in a bidirectional signal manner, the security testing module is connected to the AI ​​enhancement module in a bidirectional signal manner, and the output end of the AI ​​enhancement module is connected to the input end signal of the test data management module.

[0023] In this embodiment, through the deep integration and collaboration of various modules, the problems of scattered links and poor connection in the traditional development and testing model are effectively solved, and the whole process from test case design to software delivery is automated and intelligent, which greatly shortens the development cycle. At the same time, the software quality is ensured, enabling enterprises to respond quickly to market changes and deliver high-quality software products, thereby achieving the advantages of improving development efficiency and quality.

[0024] In this embodiment, the test case management module is used to design comprehensive and detailed test cases that cover various normal and abnormal scenarios; organize relevant personnel to review the test cases to ensure their accuracy and effectiveness; update the test cases in a timely manner as the software iterates; record the execution status of the test cases, track failed test cases, and promote problem solving.

[0025] Specifically, for the product search function of e-commerce apps, design test cases including entering different keywords (such as popular products, non-existent products), using fuzzy search or search result sorting, and recording the execution status.

[0026] In this embodiment, the automated testing module is used to write scripts, simulate user operations, perform automated testing on the software, and improve testing efficiency and accuracy; it is also used to analyze automated testing results, generate detailed test reports, and quickly locate problems.

[0027] Specifically, use Selenium to write automated test scripts to perform automated testing on the login function of the e-commerce app, simulate the user entering the username and password, verify whether the login is successful, and generate a report.

[0028] In this embodiment, the defect management module is used for defect submission and recording: After discovering a defect, testers submit a defect report through this module, detailing the defect phenomenon and steps to reproduce it. Classification and priority assessment: Defects are categorized (e.g., functional defects, performance defects, and interface defects) and their severity and priority are assessed, allowing the development team to rationally arrange remediation efforts. Tracking and resolution: The progress of defect handling is tracked to ensure that developers promptly fix the defects and conduct verification.

[0029] Specifically, the tester discovered that the e-commerce app had an amount calculation error during the payment process and submitted a defect report. The developer fixed it based on the report, and the tester verified it again.

[0030] In this embodiment, the test environment management module is used for environment setup and configuration: building a suitable test environment based on software testing requirements, including the configuration of hardware devices, operating systems, databases, and middleware. Environment maintenance and monitoring: performing routine maintenance on the test environment to ensure its stability and availability; and real-time monitoring of the environment status to promptly identify and resolve issues.

[0031] Specifically, build a test environment for the e-commerce app, configure the server and database, install the operating system and necessary software, and regularly check the server performance and database connection.

[0032] In this embodiment, the CI / CD integration module is used to frequently integrate developers' code into a shared code library, automatically build and test it, and promptly detect integration problems; after passing all tests, the code is automatically deployed to the production environment or other target environment to achieve rapid delivery.

[0033] Specifically, after the developer submits the code, the CI / CD system automatically compiles, packages, and unit tests the code. If the test passes, the code is automatically deployed to the test environment for further testing.

[0034] In this embodiment, the test data management module is used for data generation and storage: generating and storing various types of test data, such as user information, product data, and order data, based on test requirements. Data maintenance and updating: regularly maintaining and updating test data to ensure its accuracy and validity.

[0035] Specifically, a large amount of user account and product data is generated for the e-commerce app and stored in the database for functional testing and performance testing.

[0036] In this embodiment, the report analysis module is used to collect and analyze various data during the testing process, such as the test case execution pass rate, the number of defects and the defect distribution; generate intuitive and clear test reports, display the test results and analysis conclusions, and provide a basis for project decision-making.

[0037] Specifically, a test report for the e-commerce app is generated, showing the functional test pass rate and performance test indicators, to help the team understand the software quality status.

[0038] In this embodiment, the security testing module is used to scan the software for vulnerabilities and detect common security vulnerabilities such as SQL injection and cross-site scripting (XSS); it is also used to evaluate the security of the software, make security improvement suggestions, and ensure that the software meets security standards.

[0039] Specifically, security testing is conducted on e-commerce apps to identify possible security vulnerabilities and provide repair suggestions.

[0040] In this embodiment, the AI ​​enhancement module is used for intelligent test case generation: it uses AI algorithms to analyze software code and requirements, automatically generating some test cases, and improving the efficiency and quality of test case design. Defect prediction and analysis: it uses machine learning models to analyze historical defect data, predict potential defects, and analyze the causes of defects. Test process optimization: based on test results and data analysis, it automatically adjusts test strategies and resource allocation to optimize the test process.

[0041] Specifically, AI algorithms are used to analyze the code of e-commerce apps and automatically generate test cases for core functions. By learning from historical defect data, it is predicted that certain modules may have defects, and key tests are carried out in advance.

[0042] See also Figures 2 to 3 In this embodiment, the user layer includes a user role module, which includes a development module, a testing module, and a product manager module; the support layer includes a cloud service module, a K8s cluster module, and a database module.

[0043] Specifically, the K8s cluster module is a container orchestration platform consisting of multiple computing nodes. It is used to automatically deploy, scale, and manage containerized applications. Its core functions include: Container orchestration: scheduling and managing Docker / Containerd containers; Self-healing capability: automatically restart failed containers or nodes; Elastic scaling: automatically adjust resources based on load; Service discovery: Dynamically manage microservice communications.

[0044] See also Figure 1,The test case management module in this embodiment includes a ,case design module, a version module and a priority classification module, and ,the execution status includes the execution time, ,executors and execution results.

[0045] Specifically, the use case design module is used to fully cover all aspects of software functions, including normal functional processes, abnormal boundary conditions and special input combinations, in order to discover various defects that may exist in the software.

[0046] Specifically, the version module is used to track changes in test cases. With the iterative development of software, test cases also need to be continuously updated and improved. The version module can record every change to the test case, including the content of the change, the reason for the change, the time of the change, and the information of the person who made the change, so that testers can understand the historical evolution of the use case; manage different versions of use cases: For multiple versions of the software, the version module can save the corresponding test case sets respectively. Testers can select specific versions of use cases for testing as needed to ensure that the testing work is consistent with the software version; promote use case reuse: through version management, testers can easily view and reuse excellent test cases in historical versions, reduce the workload of repeatedly designing use cases, and improve the development efficiency of test cases.

[0047] Specifically, the priority classification module is used to reasonably arrange testing time and resources. High-priority use cases are tested first to ensure that the core functions and key business scenarios of the software can be fully verified; low-priority use cases can be tested if time permits.

[0048] See also Figure 1 The automated testing module in this embodiment includes a unit module, an interface module and a performance testing module.

[0049] Specifically, the unit module is used to verify the basic units of code: checking and verifying the smallest testable units in the software to ensure that each unit works as expected. These smallest testable units are usually functions, methods, or classes. Through unit testing, basic logical errors, syntax errors, and improper boundary condition handling in the code can be quickly discovered; providing code quality feedback: helping developers understand the quality status of the code, discovering and fixing problems in the early stages of development, and reducing later repair costs. If the pass rate of unit tests is low, it means that there may be many problems with the code, and developers can refactor and optimize the code in a timely manner; supporting code refactoring and expansion: when refactoring or expanding the code, unit testing can be an important means of regression testing to ensure that the modified code still meets the expected functions. By running unit tests, developers can quickly verify whether the refactored or expanded code has destroyed the original functions.

[0050] Specifically, the interface module verifies that the interfaces between modules in a software system can correctly transmit and interact with each other. The interface bridges the communication gap between different modules. Interface testing ensures that the input and output of the interface meet expectations, that the data format is correct, and that the communication protocol is functioning properly.

[0051] Specifically, the performance testing module is used to evaluate software performance, identify performance bottlenecks, and support system capacity planning. Evaluations include metrics such as response time, throughput, and the number of concurrent users. Performance testing allows you to understand how the software performs under varying loads and determine whether the system meets user performance requirements.

[0052] See also Figure 1 ,The defect management module in this embodiment includes a submission ,module, a tracking module and a closed-loop module.

[0053] Specifically, the submission module is used to enter detailed information about discovered defects into the system, including the environment in which the defect occurred (such as the operating system version, browser type and version), a defect description (clearly describing the defect's symptoms), and reproduction steps (step-by-step instructions on how to trigger the defect). This accurate information is the basis for subsequent developers to locate and fix the defect.

[0054] For example, during a software test, the tester discovered that the page layout of a certain function was disordered under a specific browser. When submitting the defect, the tester would record in detail the name and version number of the browser used, describe the specific manifestations of the disordered page layout, such as overlapping buttons or incomplete text display, and list the specific operating steps from opening the software to the occurrence of the disordered layout.

[0055] Specifically, the tracking module provides real-time updates and displays of defect status. Common statuses include New, Assigned, In Progress, Resolved, and Verified. This module allows testers and developers to stay informed of defect progress, avoiding communication barriers and duplication of work caused by information opacity.

[0056] For example, when a developer starts working on a defect, the status will be updated to "In Progress". When the tester sees this status, he will know that he does not need to submit the defect again and can expect verification after a period of time.

[0057] Specifically, the closed-loop module is used to verify defects. According to the reproduction steps and environment recorded in the submission module, the test is re-executed to confirm whether the defect has been truly fixed and whether the fix has introduced new problems.

[0058] For example, after the developer fixes a defect that causes slow page loading, the tester verifies it according to the original test method in the closed-loop module to ensure that the page loading speed meets the expected requirements and no other abnormal situations occur.

[0059] See also Figure 1 The test environment management module in this embodiment includes an environment deployment module and a simulation object module. The environment deployment module is used to automatically or semi-automatically complete the configuration of server, network and storage hardware resources, as well as the installation and setting of operating system, middleware and database software.

[0060] For example, for a Web application developed based on Java, the environment deployment module can quickly install the specified version of the Linux operating system, Tomcat server and MySQL database, and configure the corresponding network parameters, greatly shortening the time to set up the environment.

[0061] Specifically, the mock object module is used to isolate the system under test, improve test efficiency, and enhance test controllability. The mock object module can create simulated implementations of these external dependencies, limiting the test scope to the system under test and preventing test results from being affected by unstable or unavailable external systems. For example, when testing the order payment function of an e-commerce website, a mock object can be used to simulate the response of a third-party payment interface without actually calling the payment interface to make an actual payment. Compared to calling a real external system, the mock object's response speed is faster, significantly shortening test execution time. Using mock objects can significantly improve test efficiency, especially when conducting large-scale automated testing.

[0062] For example, in a test scenario that requires a large number of data queries and operations, using a mock database object can quickly return test data without waiting for the query results of the real database.

[0063] Specifically, the mock object module allows testers to customize the returned test data according to test requirements. It can simulate various normal and abnormal data conditions to fully test the functionality of the system under test.

[0064] For example, when testing a data validation function, you can use mock objects to return data in different formats and ranges to verify whether the system can process the data correctly.

[0065] See also Figure 1The CI / CD integration module in this embodiment includes a pipeline trigger module, which responds to code changes and supports scheduled triggering. When a developer submits new code to a code repository (such as GitLab or GitHub), the pipeline trigger module automatically detects this change and determines whether to start the CI / CD pipeline based on pre-set rules.

[0066] For example, in a web application project, as soon as a developer commits code to the master branch, the trigger module immediately starts the pipeline and begins building the new application version. This is like an automatic switch: once code "flows" into the repository, it automatically starts the subsequent build and deployment process. In addition to triggering based on code changes, the pipeline trigger module can also be configured with timed triggering rules.

[0067] For example, you can automatically trigger the pipeline at 2 a.m. every day to perform a comprehensive build and test of the project. This is very useful for projects that require regular data updates or system maintenance.

[0068] Specifically, timed triggering can ensure that the project is kept up to date at a specific point in time, and it can also facilitate some periodic quality inspection tasks such as code scanning and performance testing.

[0069] See also Figure 1 The test data management module in this embodiment includes a production module and a desensitizing module. The production module is used to obtain test data that is highly similar to the production environment data. It can be synchronized with the production environment data in real time or regularly to ensure that the test data is always kept up to date. It can provide test data covering normal business scenarios and abnormal business scenarios. These data are as close to the real scenario as possible in terms of data distribution, data magnitude and data correlation.

[0070] For example, in the testing of an e-commerce system, the test data provided by the production module includes various user behavior data, such as the purchase frequency, purchase amount range, and browsed product types of different users. This is consistent with the user data characteristics in the actual production environment, which helps to more accurately test the performance and functionality of the system in real situations.

[0071] Specifically, the desensitizing module is used to protect the security of sensitive information, prevent data leakage, and ensure the independence of the test environment and improve the availability of test data. During the test process, if real sensitive data in the production environment is directly used, such as the user's ID number, bank card number and password, once the data is leaked, it will bring serious security risks to the user. The desensitizing module can process these sensitive data and convert them into virtual desensitized data that does not contain real information, thereby effectively preventing data leakage. For example, the user's ID number is partially hidden or replaced with a randomly generated number, and the bank card number is encrypted or replaced with a card number dedicated to the test.

[0072] See also Figure 1 ,The report and analysis module in this embodiment includes a reporting ,module and an analysis module. The reporting module is used to generate ,test reports, display test results and statistical information, ,allowing project team members to understand the testing status and quality ,status of the software.

[0073] For example, a report can include the number of test case executions, execution pass rate, number of defects, and defect distribution.

[0074] Specifically, the analysis module is used to provide a basis for project decision-making. By analyzing test data, it helps the team understand the quality status of the software and the effectiveness of testing work, so as to make reasonable decisions.

[0075] See also Figure 1 The security testing module in this embodiment includes a retrieval module and an identification module. The retrieval module is used to discover vulnerabilities, threats, and risks in software applications and prevent malicious attacks from intruders. It identifies all possible vulnerabilities and weaknesses in the software system, which may lead to loss of information and revenue, and damage the reputation of employees or external personnel of the organization. For example, it detects common security vulnerabilities such as SQL injection attacks, file upload vulnerabilities, permission vulnerabilities, brute force attacks, denial of service attacks, sensitive information leakage, business logic vulnerabilities, cross-site scripting attacks (XSS), and cross-site request forgery (CSRF).

[0076] Specifically, the identification module is used to identify threats in the system and measure its potential vulnerabilities so that the system does not stop running or be exploited, detect all possible security risks in the system, and help developers solve these problems through coding.

[0077] See also Figure 1 The AI ​​enhancement module in this embodiment includes a self-healing test module, which is used to help complete repetitive tasks in automation, allowing test engineers to focus on more complex business scenario testing.

[0078] For example, automatically create test cases, run tests, and analyze results, saving time and effort.

[0079] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.

[0080] While embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions, and variations may be made to these embodiments without departing from the principles and spirit of the invention, and that the scope of the invention is defined by the appended claims and their equivalents.

Claims

1. A software development and testing system, comprising a user layer and a support layer, characterized in that: The output end signal of the user layer is connected to the functional module layer, and the functional module layer is bidirectionally connected to the support layer. The functional module layer includes a test case management module, an automated testing module, a defect management module, a test environment management module, a CI / CD integration module, a test data management module, a report analysis module, a security testing module and an AI enhancement module; The test case management module is used to design comprehensive and detailed test cases, covering various normal and abnormal scenarios; organize relevant personnel to review the test cases to ensure their accuracy and effectiveness; Update test cases in a timely manner as the software iterates; Record the execution of test cases, track failed test cases, and promote problem solving; The automated testing module is used to write scripts, simulate user operations, and perform automated testing on the software to improve testing efficiency and accuracy; It is also used to analyze automated test results, generate detailed test reports, and quickly locate problems; The defect management module is used for defect submission and recording, classification and priority assessment, tracking and resolution; The test environment management module is used for environment construction and configuration as well as environment maintenance and monitoring; The CI / CD integration module is used to frequently integrate developers' code into a shared code repository, automatically build and test it, and promptly identify integration issues. After all tests pass, the code is automatically deployed to the production environment or other target environment to achieve rapid delivery. The test data management module is used for data generation and storage and data maintenance and update; The report analysis module is used to collect and analyze various data during the test process, generate intuitive and clear test reports, display test results and analysis conclusions, and provide a basis for project decision-making; The security testing module is used to scan the software for vulnerabilities, detect common security vulnerabilities, and evaluate the security of the software, making security improvement suggestions to ensure that the software meets security standards; The AI ​​enhancement module is used for intelligent test case generation, defect prediction and analysis, and test process optimization; The test case management module is bidirectionally signal-connected to the automated testing module, the automated testing module is bidirectionally signal-connected to the defect management module, the output end of the test case management module is signal-connected to the input end of the test environment management module, the output end of the automated testing module is signal-connected to the input end of the CI / CD integration module, the test environment management module is bidirectionally signal-connected to the CI / CD integration module, the CI / CD integration module is bidirectionally signal-connected to the test data management module, the output end of the test data management module is signal-connected to the input end of the defect management module, the input end of the test environment management module is signal-connected to the output end of the report analysis module, the output end of the CI / CD integration module is signal-connected to the input end of the security testing module, the report analysis module is bidirectionally signal-connected to the security testing module, the security testing module is bidirectionally signal-connected to the AI ​​enhancement module, and the output end of the AI ​​enhancement module is signal-connected to the input end of the test data management module; The user layer includes a user role module, and the user role module includes a development module, a testing module and a product manager module; The support layer includes a cloud service module, a K8s cluster module and a database module.

2. A software development and testing system according to claim 1, characterized in that: The test case management module includes a use case design module, a version module and a priority classification module. The execution status includes execution time, execution personnel and execution results. The use case design module is used to fully cover all aspects of software functions. The version module is used to track use case changes, manage different versions of use cases and promote use case reuse. The priority classification module is used to reasonably arrange testing time and resources. For high-priority use cases, testing is given priority to ensure that the core functions and key business scenarios of the software can be fully verified; for low-priority use cases, testing can be carried out if time permits.

3. A software development and testing system according to claim 1, characterized in that: The automated testing module includes a unit module, an interface module and a performance testing module. The unit module is used to verify the basic units of the code, provide code quality feedback and support code reconstruction and expansion. The interface module is used to verify whether the interfaces between the modules in the software system can correctly perform data transmission and interaction. The performance testing module is used to evaluate the performance of the software, discover performance bottlenecks and support system capacity planning.

4. A software development and testing system according to claim 1, characterized in that: The defect management module includes a submission module, a tracking module and a closed-loop module. The submission module is used to enter the detailed information of the discovered defects into the system. The tracking module is used to update and display the processing status of the defects in real time. Testers and developers can use this module to understand the progress of defect processing at any time, avoiding communication barriers and duplication of work caused by information opacity. The closed-loop module is used to verify the defects, re-execute the test according to the reproduction steps and environment recorded in the submission module, and confirm whether the defects have been truly fixed and whether new problems have been introduced after the repair.

5. A software development and testing system according to claim 1, characterized in that: The test environment management module includes an environment deployment module and a simulation object module. The environment deployment module is used to automatically or semi-automatically complete the configuration of server, network and storage hardware resources, as well as the installation and setup of operating systems, middleware and database software. The simulation object module is used to isolate the system under test, improve test efficiency and enhance test controllability.

6. A software development and testing system according to claim 1, characterized in that: The CI / CD integration module includes a pipeline trigger module, which is used to respond to code changes and support timed triggering.

7. A software development and testing system according to claim 1, characterized in that: The test data management module includes a production module and a desensitizing module. The production module is used to obtain test data that is highly similar to the production environment data, and can be synchronized with the production environment data in real time or regularly to ensure that the test data is always kept up to date. It can provide test data covering normal business scenarios and abnormal business scenarios. The desensitizing module is used to protect the security of sensitive information, prevent data leakage, and ensure the independence of the test environment and improve the availability of test data.

8. A software development and testing system according to claim 1, characterized in that: The report analysis module includes a report module and an analysis module. The report module is used to generate test reports, display test results and statistical information, so that project team members can understand the testing status and quality status of the software. The analysis module is used to provide a basis for project decision-making. By analyzing the test data, it helps the team understand the quality status of the software and the effectiveness of the testing work, so as to make reasonable decisions.

9. A software development and testing system according to claim 1, characterized in that: The security testing module includes a retrieval module and an identification module. The retrieval module is used to discover vulnerabilities, threats, and risks in software applications and prevent malicious attacks from intruders, and determine all possible vulnerabilities and weaknesses in the software system. The identification module is used to identify threats in the system and measure its potential vulnerabilities so that the system does not stop running or is exploited, detect all possible security risks in the system, and help developers solve these problems through coding.

10. A software development and testing system according to claim 1, characterized in that: The AI ​​enhancement module includes a self-healing test module, which is used to help complete repetitive tasks in automation, allowing test engineers to focus on more complex business scenario testing.