CN117111907A - Software development system - Google Patents

Software development system Download PDF

Info

Publication number
CN117111907A
CN117111907A CN202311023961.XA CN202311023961A CN117111907A CN 117111907 A CN117111907 A CN 117111907A CN 202311023961 A CN202311023961 A CN 202311023961A CN 117111907 A CN117111907 A CN 117111907A
Authority
CN
China
Prior art keywords
target
test
package
module
software package
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311023961.XA
Other languages
Chinese (zh)
Inventor
周立功
杨韬
李柯
王程
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Zhiyuan Electronics Co Ltd
Original Assignee
Guangzhou Zhiyuan Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Zhiyuan Electronics Co Ltd filed Critical Guangzhou Zhiyuan Electronics Co Ltd
Priority to CN202311023961.XA priority Critical patent/CN117111907A/en
Publication of CN117111907A publication Critical patent/CN117111907A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Abstract

The application discloses a software development system, which is characterized in that a developer can create a target item on a package management module and bind the target item with a data storage module. And then, a target project code corresponding to the target project can be created on the project code creation module, after the target project code is subjected to preliminary test, an automatic test script is created, and the target project code and the automatic test script are pushed to the data storage module. When the test deployment module detects that the target project code and the corresponding automatic test script are newly added in the data storage module, a target software package corresponding to the target project code can be constructed according to the automatic test script, the target software package is subjected to simulation test to generate a test result, the test result is pushed to a target address, and the target software package is uploaded to the package management module for release. The application solves the technical problem of low development efficiency in the process of developing embedded software in the prior art.

Description

Software development system
Technical Field
The embodiment of the application relates to the field of software development, in particular to a software development system.
Background
At present, with the continuous development of technology, the improvement of embedded hardware resources and the increase of market demands, the requirement of embedded software development is higher and higher. The traditional embedded software development model mostly uses a waterfall model and a V model, but the V model and the waterfall model can generate a large number of design documents in the research and development process, and the project response speed can not meet the requirements of the embedded industry at the present stage and the rhythm of quick updating. Meanwhile, after the software is delivered, if the requirements change, a great amount of redundant documents are generated by incremental updating and redesigning, so that the development efficiency of the embedded software is low.
In summary, in the prior art, there is a technical problem of low development efficiency in the process of developing embedded software.
Disclosure of Invention
The embodiment of the application provides a software development system, which can improve the development efficiency of embedded software and solve the technical problem of low development efficiency in the process of developing the embedded software in the prior art.
The embodiment of the application provides a software development system, which comprises: the system comprises a package management module, a project creation module, a data storage module and a test deployment module;
the package management module is used for responding to the project creation instruction, creating a target project and binding the target project with the data storage module; and for issuing the target software package in response to the software issuing instruction;
the project code creation module is used for responding to code input operation, creating a target project code corresponding to the target project and carrying out preliminary test on the target project code; the data storage module is used for responding to a script creation instruction, creating an automatic test script and pushing the target project code and the automatic test script to a data storage module corresponding to the target project;
the data storage module is used for storing the target project codes and the automatic test scripts;
the test deployment module is used for acquiring the newly-added target project code and the corresponding automatic test script in the data storage module, constructing a target software package corresponding to the target project code according to the automatic test script, performing simulation test on the target software package to generate a test result, pushing the test result to a target address, and uploading the target software package to the package management module.
In the foregoing, the embodiment of the present application provides a software development system, where when a developer needs to develop a target project, the developer may create the target project on the package management module and bind the target project with the data storage module. And then, the developer can create a target project code corresponding to the target project on the project code creation module, and after preliminary testing is carried out on the target project code, an automatic test script is created, and the target project code and the automatic test script are pushed to the data storage module corresponding to the target project. After detecting that the target project code and the corresponding automatic test script are newly added in the data storage module, the test deployment module can construct a target software package corresponding to the target project code according to the automatic test script, simulate the target software package to generate a test result, push the test result to a target address, upload the target software package to the package management module, and then when the target software package needs to be released, a user can release the target software package on the package management module for other users to download. The software development system provided by the embodiment of the application meets the requirements of quick iteration, continuous integration and automatic test in the development of embedded software, can quickly respond to the requirements of users, can continuously deliver, can support different platforms (comprising different operating systems, programming languages and the like), greatly improves the development efficiency of the software, and solves the technical problem of low development efficiency in the development process of the embedded software in the prior art.
Drawings
Fig. 1 is a schematic diagram of a software development process using a V model in the prior art according to an embodiment of the present application.
Fig. 2 is a schematic structural diagram of a software development system according to an embodiment of the present application.
Fig. 3 is a schematic flow chart of a software development system according to an embodiment of the present application.
FIG. 4 is a schematic flow chart of a construction task and a test task in a sample execution stage according to an embodiment of the present application.
FIG. 5 is a schematic flow chart of a build task and a test task in a simulation phase or a production phase according to an embodiment of the present application.
Fig. 6 is a flowchart of another software development system according to an embodiment of the present application.
Reference numerals: package management module 10, project creation module 20, data storage module 30, test deployment module 40, project management module 50.
Detailed Description
The following description and the drawings sufficiently illustrate specific embodiments of the application to enable those skilled in the art to practice them. The embodiments represent only possible variations. Individual components and functions are optional unless explicitly required, and the sequence of operations may vary. Portions and features of some embodiments may be included in, or substituted for, those of others. The scope of embodiments of the application encompasses the full ambit of the claims, as well as all available equivalents of the claims. Embodiments may be referred to herein, individually or collectively, by the term "application" merely for convenience and without intending to voluntarily limit the scope of this application to any single application or inventive concept if more than one is in fact disclosed. Relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed. Various embodiments are described herein in a progressive manner, each embodiment focusing on differences from other embodiments, and identical and similar parts between the various embodiments are sufficient to be seen with each other. The structures, products and the like disclosed in the embodiments correspond to the parts disclosed in the embodiments, so that the description is relatively simple, and the relevant parts refer to the description of the method parts.
In the prior art, a waterfall model and a V model are mostly used as a traditional embedded software development model. When using the waterfall model, the development team needs to perform the work of each stage in the following order: 1. demand analysis, 2. Design, 3. Software coding, 4. Testing, 5. Acceptance. After each phase is completed, the team needs to go through a strict audit and validation to go to the next phase, and the document rather than the software is associated between each phase, and the final software can be generated only at the delivery phase. This approach results in software testing that can only be integrated in the final stage, and cannot advance, and software backtracking is difficult. Because the linear relation exists among all stages of the waterfall model, the waterfall model is only suitable for projects with definite requirements and little change, and has poor flexibility. The V model is evolved from a waterfall model, fig. 1 is a flowchart of software development using the V model, the flow of the V model is performed from top to bottom and from left to right, and each stage has a separate test stage to verify the developed result, and compared with the waterfall model, the V model can discover and solve the problem in the software development process as soon as possible, so that the problem traceability is stronger.
However, the V model and the waterfall model can generate a great amount of design documents in the research and development process, and the project response speed cannot meet the requirements of the embedded industry at the present stage and the rapid update rhythm. Meanwhile, after the software is delivered, the waterfall model and the V model redesign the software to generate a large amount of redundant documents when the demands of users change. In addition, in the process of developing the software, the research personnel and the users are difficult to communicate, and feedback can only be performed in the acceptance stage of the final software, and feedback is delayed. Meanwhile, most of the time, developers are processing repeated design documents, so that the development efficiency of software is low.
In summary, in order to solve the technical problem of low software development efficiency in the prior art, an embodiment of the present application provides a software development system, as shown in fig. 2, where the software development system provided by the embodiment of the present application includes: package administration module 10, project creation module 20, data storage module 30, and test deployment module 40.
The package management module is used for responding to the project creation instruction, creating a target project and binding the target project with the data storage module; and means for issuing the target software package in response to the software issuing instruction.
In this embodiment, the software development system includes a package management module, where when a user has a requirement for creating a project, the user may send a project creation instruction to the package management module, where the package management module is configured to create a target project in response to the project creation instruction, and bind the target project with the data storage module, so as to push source code of the target project to the bound data storage module subsequently. It should be further noted that, in this embodiment, a user may interact with the software development system through a graphical user interface, where the graphical user interface is an interface display format in which the user communicates with the electronic device, and the graphical user interface is formed by a window, a drop-down menu, a dialog box, and a corresponding control mechanism, where a target seen and operated by the user in the graphical user interface is a graphical object, and the user may interact with the software development system by operating the graphical object in the graphical user interface, so as to issue various instructions to the software development system. For example, a user may use an input device such as a mouse to manipulate graphical objects displayed on a graphical user interface to send project creation instructions to a software development system. In addition, after the software development system in this embodiment uploads the target software package to the package management module, the package management module is further configured to respond to a software issue instruction to issue the target software package, so that other users can download the target software package.
In one embodiment, the package management module is further configured to manage the target software package in response to a package management instruction.
In one embodiment, the user may also manage the target software package through the package management module. Specifically, when the user needs to manage the target software package, the user may package a management instruction to the package management module, so as to manage the target software package, for example, manage the authority of the target software package, manage the activity of the target software package, and so on. The software package management module may be constructed through an AXPI, which is a software package management server, and may be used for unified management of software packages, and software packages generated by development or maintenance in a software development process may be pushed to the AXPI at last, and a user may manage the software packages by logging in the AXPI. It should be noted that AXPI is a prior art technology that can be directly used. In one embodiment, the package management module is specifically configured to manage access control, version control, rights control, and plug-in of the target software package. Specifically, the AXPI has functions of access control, version control, authority control, plug-in management, activity management, user management, project management and the like for a software package, wherein the access control refers to management of a target which can be accessed by the software package, the version control refers to management of a version of the software package, the authority control refers to management of the authority of the software package, the plug-in management refers to management of a plug-in the software package, the activity management refers to management of the activity of the software package, the user management refers to management of a user using the software package, and the project management refers to management of a project which is currently developed.
The project code creation module is used for responding to the code input operation, creating a target project code corresponding to a target project and carrying out preliminary test on the target project code; and the data storage module is used for responding to the script creation instruction, creating an automatic test script and pushing the target project code and the automatic test script to the data storage module corresponding to the target project.
The software development system in this embodiment further includes a project code creation module, through which a user can create source code of a project. Specifically, after the user creates the target item in the package management module, the item code creation module receives the code input by the user in response to the code input operation of the user, and creates the source code corresponding to the target item, namely the target item code, in the item code creation module. After the development of the target project code is completed, the requirement of the integrated development environment on the target project can be realized in the project code creation module, and the target project code is subjected to preliminary test in a local place. After the preliminary test is completed, the user may further send a script creation instruction to the project code creation module, so that the project creation module creates an automated test script, and pushes the target project code and the automated test script to a data storage module bound with the target project for storage. In one embodiment, the project code creation module may obtain the data storage module bound to the target project from the package management module.
In ONE embodiment, the project code creation module may be implemented by AXIO-CLI, which is an embedded software command line build tool that supports various types of project build, test and release, and AXIO-ONE, which is capable of connecting to AXPI. AXIO-CLI supports rapid creation of project prototypes for different hardware and software platforms, which can create automation tasks by generating CI/CD scripts, i.e., automation test scripts, by command. AXIO-ONE is an embedded software integrated development environment. AXIO-CLI is integrated inside, various functions in the AXIO-CLI are displayed to a user in a graphical mode, the user can realize operations such as new project code establishment, automatic construction, graphical configuration and the like without interacting with the AXIO-CLI through commands and only by a light mouse, and meanwhile, the operations such as code editing, debugging and downloading can be performed. It will be appreciated that AXIO-CLI and AXIO-ONE are also prior art which can be used directly in this embodiment.
And the data storage module is used for storing the target project codes and the automatic test scripts.
The data storage module in this embodiment is configured to store the target project code pushed by the project code creation module and the automated test script. In one embodiment, the data storage module may employ a source code repository built by GitLab, which is an online code repository software implemented based on Git, which is a command-based version control system, full command operation, without a visualization interface, to provide a web visualization management interface.
The test deployment module is used for acquiring the newly-added target project code and the corresponding automatic test script in the data storage module, constructing a target software package corresponding to the target project code according to the automatic test script, performing simulation test on the target software package to generate a test result, pushing the test result to a target address, and uploading the target software package to the package management module.
The software development system in this embodiment further includes a test deployment module, where the test deployment module is configured to detect a change condition of data in the data storage module, and after detecting an automatic test script in which a target project code and a target test code are newly added in the data storage module, the test deployment module may obtain the newly added target project code and a corresponding automatic test script from the data storage module, and execute an automatic test task according to the automatic test script. Specifically, when an automatic test task is executed, the test deployment module constructs a corresponding target software package according to the target project code, generates a test result after performing simulation test on the target software package, pushes the test result to a target address, and uploads the target software package passing the simulation test to the package management server. The target address may be set in advance, for example, the target address may be a mail address of a developer or the like, and is not particularly limited in this embodiment.
In one embodiment, the test deployment module can be specifically realized by a building and test server cluster in the GitLab, wherein the building and test server cluster is responsible for continuous integration, and by associating different operating systems and hardware platforms, the functions of automatic building, automatic testing, automatic deployment and the like are realized. The pins in GitLab are used to implement automated build and automated test services. After the AXIO-CLI uploads the target project codes and the CI/CD scripts to the GitLab source code warehouse, the pins can be matched with a construction platform (comprising a hardware platform, an operating system and a test framework) appointed by the target project after detecting that the data in the GitLab source code warehouse changes and the CI/CD scripts, and an automatic test task is created according to the CI/CD scripts generated by the AXIO-CLI, so that a test result is generated. In one embodiment, the test result includes code coverage, wherein the code coverage is a measure in the software test and is used for describing the tested proportion and degree of the source code in the program, and the code coverage is used as an index for measuring the quality of the test software. After the automatic test task is completed, the target software package is uploaded to the AXPI by constructing and testing the server cluster, and then when the target software package needs to be released, a user can release the target software package on the package management module for other users to download. In one embodiment, the overall flow of developing software by a developer is shown in FIG. 3.
In the foregoing, the embodiment of the present application provides a software development system, where when a developer needs to develop a target project, the developer may create the target project on the package management module and bind the target project with the data storage module. And then, the developer can create a target project code corresponding to the target project on the project code creation module, and after preliminary testing is carried out on the target project code, an automatic test script is created, and the target project code and the automatic test script are pushed to the data storage module corresponding to the target project. After detecting that the target project code and the corresponding automatic test script are newly added in the data storage module, the test deployment module can construct a target software package corresponding to the target project code according to the automatic test script, simulate the target software package to generate a test result, push the test result to a target address and upload the target software package to the package management module. And when the target software package needs to be released later, the user can release the target software package on the package management module for other users to download. The software development system provided by the embodiment of the application meets the requirements of quick iteration, continuous integration and automatic test in the development of embedded software, can quickly respond to the requirements of users and continuously deliver, can support different platforms, greatly improves the development efficiency of the software, and solves the technical problem of low development efficiency in the development process of the embedded software in the prior art.
On the basis of the embodiment, the target item code carries branch type information, the branch type information comprises version information of the target item code, and the version information comprises any one of a main branch, a functional branch and a marked branch.
In this embodiment, according to the requirement of the software development and delivery process, the development process of the software can be divided into Review (sample stage), start (simulation stage) and product (product stage), and the software package of each stage is distributed on AXPI according to the delivery requirement, meanwhile, according to the different branch types of the project codes, the corresponding software stages are different, and table 1 is an explanation of each stage:
stage name Description and features of the application
review This stage is automatic trigger generation for compiling tests, equivalent to "sample"
staging The pre-release stage, the informal version of the production
production Formal products, which are preferentially displayed in AXPI and provide dependency downloads
TABLE 1
In this embodiment, the target item code carries branch type information, where the branch type information includes version information of the target item code, and the version information includes any one of a trunk branch, a functional branch, and a label branch, and a specific description of the version information is shown in table 2:
TABLE 2
The test deployment module is specifically configured to obtain branch type information of a target project code, determine a development stage where the target project code is currently located according to the branch type information, construct a target software package corresponding to the target project code according to the development stage and an automated test script, perform a simulation test on the target software package to generate a test result, push the test result to a target address, and upload the target software package to the package management module.
After the developer submits the target project code to the test deployment module, the test deployment module determines branch type information in the target project code, and determines the current development stage of the target project code according to the branch type information. Specifically, the CI/CD script generated by AXIO-CLI divides the target project code into corresponding product stages according to the branch type information of the target project code, so as to execute the automated construction of the CI script, and the development stages corresponding to different version information in the branch type information are shown in table 3:
TABLE 3 Table 3
After the development stage is determined, the test deployment module can further construct a target software package corresponding to the target project code according to the automatic test script and the development stage, and after the target software package is subjected to simulation test to generate a test result, the test result is pushed to a target address, and the target software package is uploaded to the package management module.
On the basis of the above embodiment, the test deployment module is specifically configured to execute, when the version information is a trunk branch or a functional branch, a construction task and a test task under a sample stage through an automated test script after determining that a development stage where the target project code is currently located is the sample stage through the automated test script.
In this embodiment, when the version information is a trunk branch or a functional branch, after determining that the development stage where the current target project code is located is a review sample stage through the CI/CD script, the test deployment module executes a construction task and a test task in the sample stage through the CI/CD script.
The test deployment module is specifically used for matching a test platform corresponding to the target project code through a construction script when a construction task under a sample stage is executed, constructing a target software package corresponding to the target project code on the test platform, sending the target software package to the package management module when the target software package is successfully constructed, and executing the test task, wherein the automatic test script comprises the construction script.
In this embodiment, the CI/CD scripts include CI scripts and CD scripts, where the CI scripts are construction scripts, the CI refers to continuous integration (Continuous Integration), and the continuous integration refers to automatic compiling, testing and packaging of the system after the code of the developer is submitted to the code warehouse, so as to ensure that the code can still run normally after integration. The CD script is a test script, and the CD refers to continuous delivery/continuous Deployment (Continuous Delivery/depoyment), which refers to automating the whole process of code from after integration to in the Deployment and operation environment, including building, testing, packaging, deployment, operation, and the like. The purpose of continuous delivery/continuous deployment is to enable a developer to rapidly, reliably and repeatedly deliver software changes to a user, and in the process of continuous delivery/continuous deployment, the developer can rapidly iterate and upgrade according to user feedback and business requirements.
When executing the build task in the sample stage, the test deployment module executes the build script, so that the build script executes a test platform (including a different operating system, programming language, etc.) corresponding to the target project code, and builds a target software package corresponding to the target project code on the test platform. And if the target software package is successfully constructed, the test deployment module sends the target software package to the package management module and executes the test task. If the construction fails, component failure information can be sent to the target address, so that development progress can be known by the developer.
The test deployment module is specifically used for performing simulation test on the target software package on the test platform through the test script when executing the test task in the sample stage, generating a test result, sending the test result to the target address, and the automatic test script comprises the test script.
When the test task is executed, the test deployment module executes the test script, so that the test script carries out simulation test on the target software package on the test platform, and a test result is generated. And then, the test deployment module can send the test result to a preset target address. In one embodiment, the specific process of the test deployment module performing the build tasks and test tasks in the sample phase is shown in FIG. 4.
On the basis of the above embodiment, the test deployment module is specifically configured to determine, through the automated test script, that the development stage where the target project code is currently located is a simulation stage or a product stage when the version information is a marker branch, and execute a build task and a test task under the simulation stage or the product stage according to the automated test script.
And when the version information of the target code is the marked branch, the test deployment module determines that the development stage where the current target project code is located is a starting simulation stage or a production product stage through the CI/CD script, and executes a construction task and a test task under the simulation stage or the production stage through the CI/CD script.
The test deployment module is specifically used for matching a test platform corresponding to the target project code through a construction script when a construction task under a simulation stage or a product stage is executed, constructing a target software package corresponding to the target project code on the test platform, and sending the target software package to the package management module and executing the test task when the target software package is successfully constructed; automating test scripts includes building scripts.
Similarly, when executing the build task in the simulation phase or the product phase, the test deployment module executes the build script, so that the build script executes a test platform (including a different operating system, a program language, etc.) corresponding to the target project code, and builds a target software package corresponding to the target project code on the test platform. And if the target software package is successfully constructed, the test deployment module sends the target software package to the package management module and executes the test task. If the construction fails, component failure information can be sent to the target address so that the research and development personnel can know the progress.
The test deployment module is specifically used for performing simulation test on the target software package on the test platform through the test script when executing the test task in the simulation stage or the product stage, generating a test result and sending the test result to the target address; when the test result is that the test passes, responding to a file issuing instruction, and uploading the target software package to the package management module for issuing; the automated test scripts comprise test scripts.
When the test task under the simulation stage or the product stage is executed, the test deployment module executes the test script, so that the test script performs simulation test on the target software package on the test platform, and a test result is generated. And then, the test deployment module can send the test result to a preset target address. In addition, after the test result is that the test passes, the test deployment module is also used for receiving a file issuing instruction sent by a user and responding, and uploading the target software package passing the test to the package management module so as to issue. In one embodiment, the specific process of the test deployment module performing build tasks and test tasks in the simulation phase or the production phase is shown in FIG. 5.
On the basis of the embodiment, the packet management module is further configured to transmit the target software packet to the target terminal in response to a download instruction of the target terminal.
In one embodiment, when a user needs to download a target software package, the user may send a download instruction to the package management module through the target terminal currently in use, where the download instruction includes related information, such as a name or an identifier, of the target software package to be downloaded, and the package management module may determine, after receiving the download instruction, the target software package pointed by the download instruction, and transmit the target software package to the target terminal.
On the basis of the above embodiment, the packet management module is further configured to receive feedback information in response to the information feedback instruction, and push the feedback information to the target address.
In one embodiment, after the user downloads the target software package and uses it, the user may feed back the usage of the target software package to the package management module. Specifically, the user can send an information feedback instruction to the packet management module through the currently used target terminal, and after receiving the information feedback instruction, the packet management module receives feedback information sent by the target terminal and pushes the feedback information to the target address. For example, after the target software package is released, the user may download the released target software package on the AXPI, and the user may upload the feedback information of the target software package on the problem feedback page of the AXPI according to the service condition of the target software package, where the feedback information includes the service condition and the problem of the target software package. And then, the AXPI automatically sends feedback information of the user to the research and development personnel in a mail mode to remind the research and development personnel to respond in time.
On the basis of the above embodiment, the software development system further includes a project management module, where the project management module is configured to manage development progress of the target software package.
In one embodiment, the software development system further comprises a project management module, wherein the project management module is used for managing development progress of the target software package. The project management module may be implemented by a Redmine software, where Redmine is web-based project management software developed by Ruby, and is a set of cross-platform project management system developed by using ROR framework, and specific principles may refer to the prior art, and will not be described in detail in this embodiment. During the development of the software, project manager can create a milestone task on the Redmine to be distributed to the research and development personnel, and project delivery takes the milestone task as a node to continuously deliver the product, as shown in fig. 6, and the project management module is 50 in fig. 6. Project manager can track the project progress through Redmine, manage project progress and quality, shorten the delivery cycle through dividing big project into the mode of small milestone node, increase the frequency of delivery for the delivery is advanced, and the effective risk of unified delivery that reduces.
The software development system provided by the embodiment of the application meets the requirements of rapid iteration, continuous integration and automatic test in the development of embedded software, can rapidly respond to the requirements of users, can continuously deliver, can support different platforms, greatly improves the development efficiency of the software, and solves the technical problem of low development efficiency in the process of developing the embedded software in the prior art. In addition, according to the embodiment of the application, a user can timely feed back the service condition of the target software package to the package management module according to the service condition, so that the timeliness of user feedback is improved, and the flexibility is high.
Note that the above is only a preferred embodiment of the present application and the technical principle applied. It will be understood by those skilled in the art that the embodiments of the present application are not limited to the particular embodiments described herein, but are capable of numerous obvious changes, rearrangements and substitutions without departing from the scope of the embodiments of the present application. Therefore, while the embodiments of the present application have been described in connection with the above embodiments, the embodiments of the present application are not limited to the above embodiments, but may include many other equivalent embodiments without departing from the spirit of the embodiments of the present application, and the scope of the embodiments of the present application is determined by the scope of the appended claims.

Claims (10)

1. A software development system, comprising: the system comprises a package management module, a project creation module, a data storage module and a test deployment module;
the package management module is used for responding to the project creation instruction, creating a target project and binding the target project with the data storage module; and for issuing the target software package in response to the software issuing instruction;
the project code creation module is used for responding to code input operation, creating a target project code corresponding to the target project and carrying out preliminary test on the target project code; the data storage module is used for responding to a script creation instruction, creating an automatic test script and pushing the target project code and the automatic test script to a data storage module corresponding to the target project;
the data storage module is used for storing the target project codes and the automatic test scripts;
the test deployment module is used for acquiring the newly-added target project code and the corresponding automatic test script in the data storage module, constructing a target software package corresponding to the target project code according to the automatic test script, performing simulation test on the target software package to generate a test result, pushing the test result to a target address, and uploading the target software package to the package management module.
2. The software development system of claim 1 wherein said package management module is further configured to manage said target software package in response to package management instructions.
3. A software development system according to claim 2 wherein said package management module is specifically configured to manage access control, version control, rights control and plug-ins for said target software package.
4. The software development system of claim 1 wherein the target item code carries branch type information, the branch type information including version information of the target item code, the version information including any one of a backbone branch, a functional branch, and a marker branch;
the test deployment module is specifically configured to obtain branch type information of the target project code, determine a development stage where the target project code is currently located according to the branch type information, construct a target software package corresponding to the target project code according to the development stage and the automated test script, perform a simulation test on the target software package to generate a test result, send the test result to a target address, and upload the target software package to the package management module.
5. The software development system according to claim 4, wherein the test deployment module is specifically configured to execute, when the version information is the trunk branch or the functional branch, a build task and a test task under the sample phase through the automated test script after determining, by the automated test script, that a development phase in which the target project code is currently located is a sample phase;
the test deployment module is specifically configured to match a test platform corresponding to the target project code through a construction script when a construction task in the sample stage is executed, and construct a target software package corresponding to the target project code on the test platform, and send the target software package to a package management module and execute the test task when the target software package is successfully constructed; the automated test script comprises the build script;
the test deployment module is specifically configured to perform a simulation test on the target software package on the test platform through a test script when executing the test task in the sample stage, generate a test result, and send the test result to a target address, where the automated test script includes the test script.
6. The software development system according to claim 4, wherein the test deployment module is specifically configured to determine, when the version information is the marker branch, that a development stage in which the target project code is currently located is a simulation stage or a product stage through the automated test script, and execute a build task and a test task under the simulation stage or the product stage according to the automated test script;
the test deployment module is specifically configured to match a test platform corresponding to the target project code through a construction script when a construction task in the simulation stage or the product stage is executed, and construct a target software package corresponding to the target project code on the test platform, and send the target software package to a package management module and execute the test task when the target software package is successfully constructed; the automated test script comprises a build script;
the test deployment module is specifically configured to perform a simulation test on the target software package on the test platform through a test script when executing a test task in the simulation stage or the product stage, generate a test result, and send the test result to a target address; when the test result is that the test passes, responding to a file issuing instruction, and uploading the target software package to the package management module for issuing; the automated test scripts include the test scripts.
7. The software development system of claim 1, further comprising a project management module for managing development progress of the target software package.
8. A software development system according to claim 1 wherein said test results include code coverage.
9. The software development system of claim 1 wherein said package management module is further configured to transmit said target software package to a target terminal in response to a download instruction from said target terminal.
10. The software development system of claim 1 wherein said package management module is further configured to receive feedback information in response to an information feedback instruction and push said feedback information to said target address.
CN202311023961.XA 2023-08-14 2023-08-14 Software development system Pending CN117111907A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311023961.XA CN117111907A (en) 2023-08-14 2023-08-14 Software development system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311023961.XA CN117111907A (en) 2023-08-14 2023-08-14 Software development system

Publications (1)

Publication Number Publication Date
CN117111907A true CN117111907A (en) 2023-11-24

Family

ID=88803185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311023961.XA Pending CN117111907A (en) 2023-08-14 2023-08-14 Software development system

Country Status (1)

Country Link
CN (1) CN117111907A (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180253296A1 (en) * 2015-10-30 2018-09-06 Hewlett Packard Enterprise Development Lp Software kit release management
CN109408106A (en) * 2018-09-27 2019-03-01 华东计算技术研究所(中国电子科技集团公司第三十二研究所) Agile software development continuous integration method and system
CN111443940A (en) * 2020-05-08 2020-07-24 南京大学 Complete software life cycle management method and platform based on DevOps
CN113791977A (en) * 2021-09-09 2021-12-14 上海仙塔智能科技有限公司 Code development processing method and device, electronic equipment and storage medium
CN114756454A (en) * 2022-03-29 2022-07-15 润芯微科技(江苏)有限公司 Code management, continuous integration and delivery working method and system for embedded software development
CN115098063A (en) * 2022-05-13 2022-09-23 广州博冠信息科技有限公司 Project development method and device and electronic equipment
CN116029680A (en) * 2023-02-09 2023-04-28 浙江浩瀚能源科技有限公司 Processing system and method for service platform information
CN116302034A (en) * 2023-01-03 2023-06-23 重庆长安汽车股份有限公司 Processing method, device, equipment and medium for software release

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180253296A1 (en) * 2015-10-30 2018-09-06 Hewlett Packard Enterprise Development Lp Software kit release management
CN109408106A (en) * 2018-09-27 2019-03-01 华东计算技术研究所(中国电子科技集团公司第三十二研究所) Agile software development continuous integration method and system
CN111443940A (en) * 2020-05-08 2020-07-24 南京大学 Complete software life cycle management method and platform based on DevOps
CN113791977A (en) * 2021-09-09 2021-12-14 上海仙塔智能科技有限公司 Code development processing method and device, electronic equipment and storage medium
CN114756454A (en) * 2022-03-29 2022-07-15 润芯微科技(江苏)有限公司 Code management, continuous integration and delivery working method and system for embedded software development
CN115098063A (en) * 2022-05-13 2022-09-23 广州博冠信息科技有限公司 Project development method and device and electronic equipment
CN116302034A (en) * 2023-01-03 2023-06-23 重庆长安汽车股份有限公司 Processing method, device, equipment and medium for software release
CN116029680A (en) * 2023-02-09 2023-04-28 浙江浩瀚能源科技有限公司 Processing system and method for service platform information

Similar Documents

Publication Publication Date Title
CN109960643B (en) Code testing method and device
US10572249B2 (en) Software kit release management
US8745585B2 (en) Meta-data for single development test environment
CN108388445B (en) Continuous integration method based on 'platform + application' mode
US20130174124A1 (en) Version numbering in single development and test environment
US11194550B2 (en) System and method for migrating legacy software to a system common architecture
CN108345532A (en) A kind of automatic test cases generation method and device
CN112711411A (en) CI/CD pipeline system based on Kubernetes and docker
CA2772228A1 (en) Single development test environment
CN114461269A (en) Software development release management method, device, equipment and storage medium
CN112596779A (en) Dual-version-compatible dependency package generation method, device, equipment and storage medium
CN114020273A (en) Complex system software integration method
CN113254054A (en) Intelligent contract one-stop development system and method
CN112882724A (en) Method for automatic deployment of OpenStack cloud platform pipeline
Cagnin et al. PARFAIT: Towards a framework-based agile reengineering process
CN117111907A (en) Software development system
EP2503450A2 (en) Version numbering in single development and test environment
CN110633077A (en) Rapid development system and method based on modularization
Raassina DevOps and test automation configuration for an analyzer project
CN112882700B (en) IOS application program construction method and device, electronic equipment and storage medium
CN114500268B (en) Method and device for deploying char resources, server and storage medium
Hegde et al. Package Management System in Linux
Pereira et al. Development of self-diagnosis tests system using a DSL for creating new test suites for integration in a cyber-physical system
Camci Implementation of integration testing for front-end development
EP2503451A2 (en) Metadata for single development test environment

Legal Events

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