CN107451058B - Software development method and device - Google Patents

Software development method and device Download PDF

Info

Publication number
CN107451058B
CN107451058B CN201710642487.7A CN201710642487A CN107451058B CN 107451058 B CN107451058 B CN 107451058B CN 201710642487 A CN201710642487 A CN 201710642487A CN 107451058 B CN107451058 B CN 107451058B
Authority
CN
China
Prior art keywords
software
version
test
target software
test result
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.)
Active
Application number
CN201710642487.7A
Other languages
Chinese (zh)
Other versions
CN107451058A (en
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.)
Beijing Testin Information Technology Co Ltd
Original Assignee
Beijing Testin Information Technology 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 Beijing Testin Information Technology Co Ltd filed Critical Beijing Testin Information Technology Co Ltd
Priority to CN201710642487.7A priority Critical patent/CN107451058B/en
Publication of CN107451058A publication Critical patent/CN107451058A/en
Application granted granted Critical
Publication of CN107451058B publication Critical patent/CN107451058B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The application discloses a software development method and device. The method comprises the following steps: the method comprises the steps that a software development platform determines target software of a first version developed based on the software development platform; the software development platform tests the first version of target software; if the test result is not passed, repeating the test steps until the second version of target software with the test result passed is obtained; the testing step is used for receiving and testing the adjusted first version of target software, and the adjusted first version of target software is obtained by adjusting the first version of target software according to the testing result. The software development and the software test in the embodiment of the application are realized based on the same software development platform, and compared with the technical scheme that the development and the test are mutually independent in the prior art, the method has the advantage of improving the software development efficiency.

Description

Software development method and device
Technical Field
The present disclosure relates to the field of software testing technologies, and in particular, to a software development method and apparatus.
Background
Software development is the process of building a software system or software parts in a system according to user requirements, and generally involves software requirement design, software model design, software code writing, software testing, etc.
Currently, different software development phases are often performed by software developers in different departments, for example: the software code writing stage is completed by a software developer of the research and development part, and the software testing stage is completed by a testing engineer of the quality management part or the testing department. Based on this software development mode, since the work between departments is independent from each other, it is possible that the process of one test-elimination of bug-retest requires several worship times, resulting in lower development efficiency.
How to improve the software development efficiency is a technical problem to be solved by the application.
Disclosure of Invention
The embodiment of the application provides a software development method and device, which are used for solving the problem of low development efficiency of the existing software development scheme.
The embodiment of the application provides a software development method, which comprises the following steps:
the method comprises the steps that a software development platform determines target software of a first version developed based on the software development platform;
the software development platform tests the first version of target software;
if the test result is not passed, repeating the test steps until the second version of target software with the test result passed is obtained; the testing step is used for receiving and testing the adjusted first version of target software, and the adjusted first version of target software is obtained by adjusting the first version of target software according to the testing result.
Optionally, the testing step includes:
receiving a target software of a next version obtained by adjusting the target software of a first version according to a test result corresponding to the target software of the first version;
testing the target software of the next version to obtain a test result corresponding to the target software of the next version;
and if the test result corresponding to the target software of the next version is not passed, determining the target software of the next version as the target software of the adjusted first version.
Optionally, the adjustment process includes a bug elimination process and/or a code optimization process.
Optionally, the testing the first version of the target software includes:
performing software function test on the first version of target software to obtain a first test result;
if the first test result is passed, performing a software performance test on the first version of target software to obtain a second test result;
and if the second test result is passing, confirming that the test result of the first version of target software is passing.
Optionally, if the first test result is failed, determining that the test result of the first version of the target software is failed;
The step of repeatedly executing the test step until the second version of target software with the passed test result is obtained comprises the following steps:
repeating the software function test step until a third version of target software with the first test result passing is obtained; the software function testing step is used for receiving the adjusted first version of target software and performing software function testing, and the adjusted first version of target software is obtained by adjusting according to the first test result;
performing software performance test on the third version of target software, and if the second test result is failed, repeating the software performance test step until obtaining the second version of target software with the second test result being passed; the software performance testing step is used for receiving the adjusted third version of target software and performing software performance testing, and the adjusted third version of target software is obtained by adjusting the third version of target software according to the second test result.
Optionally, if the first test result is passing and the second test result is not passing, determining that the test result of the target software of the first version is not passing;
The step of repeatedly executing the test step until the second version of target software with the passed test result is obtained comprises the following steps:
and repeating the software performance test step until a second version of target software with a second test result passing is obtained.
Optionally, the performing a software function test on the first version of the target software, and obtaining a first test result includes:
determining a functional module to be tested of the first version of target software and a test script corresponding to the functional module to be tested;
performing software function test on the functional module to be tested based on a test script corresponding to the functional module to be tested, and obtaining a test result corresponding to the functional module to be tested;
and acquiring a first test result according to the test result corresponding to the functional module to be tested.
Optionally, the performing a software performance test on the first version of the target software, and obtaining a second test result includes:
determining a test script corresponding to the software performance test;
transmitting the test script to the tested equipment connected to the software development platform so as to enable the tested equipment to execute the test script;
Determining an execution result of the tested equipment, and acquiring a second test result according to the execution result;
the tested device is a device provided with the third version of target software.
The embodiment of the application also provides a software development device, which comprises:
the determining unit is used for determining target software of a first version developed based on the software development platform;
the first testing unit is used for testing the first version of target software;
the second test unit is used for repeatedly executing the test steps if the test result is failed, until the target software of a second version with the test result being passed is obtained; the testing step is used for receiving and testing the adjusted first version of target software, and the adjusted first version of target software is obtained by adjusting the first version of target software according to the testing result.
Optionally, the first test unit is configured to perform a software function test on the first version of target software, to obtain a first test result; if the first test result is passed, performing a software performance test on the first version of target software to obtain a second test result; and if the second test result is passing, confirming that the test result of the first version of target software is passing.
The above-mentioned at least one technical scheme that this application embodiment adopted can reach following beneficial effect:
determining a first version of target software developed by a developer based on the same software development platform; then testing the target software of the first version to obtain a test result, and feeding back the test result to the research personnel; receiving an adjusted first version of target software generated by an adjusting process of a developer on the first version of target software based on a test result; and then testing the adjusted first version of target software. This test-tuning-retest process is repeated until a second version of the target software is obtained for which the test result is a pass. Therefore, the embodiment of the application can basically realize the full-automatic operation of research and development-test correlation-mutual triggering, and can effectively improve the software development efficiency compared with the scheme that research and development and test are mutually independent in the prior art, and the process of one test-bug elimination-retest possibly requires a plurality of worship times.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiments of the application and together with the description serve to explain the application and do not constitute an undue limitation to the application. In the drawings:
Fig. 1 is a flow chart of a software development method provided in embodiment 1 of the present application;
FIG. 2 is a schematic flow chart of the test procedure provided in embodiment 1 of the present application;
FIG. 3 is a schematic flow chart of the test procedure provided in embodiment 2 of the present application;
fig. 4 is a schematic flow chart of a software function test provided in embodiment 2 of the present application;
FIG. 5 is a schematic flow chart of the software performance test provided in embodiment 2 of the present application;
fig. 6 is a flow chart of a software development method provided in embodiment 3 of the present application;
fig. 7 is a schematic structural diagram of a software development device provided in embodiment 4 of the present application;
fig. 8 is a schematic structural diagram of an electronic device according to embodiment 5 of the present application.
Detailed Description
For the purposes, technical solutions and advantages of the present application, the technical solutions of the present application will be clearly and completely described below with reference to specific embodiments of the present application and corresponding drawings.
In some of the flows described in the specification and claims of the present invention and in the foregoing figures, a plurality of operations occurring in a particular order are included, but it should be understood that the operations may be performed out of order or performed in parallel, with the order of operations such as 11, 12, etc., being merely used to distinguish between the various operations, the order of the operations themselves not representing any order of execution. In addition, the flows may include more or fewer operations, and the operations may be performed sequentially or in parallel. It should be noted that, the descriptions of "first" and "second" herein are used to distinguish different messages, devices, modules, etc., and do not represent a sequence, and are not limited to the "first" and the "second" being different types.
It will be apparent that the described embodiments are only some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
It will be readily understood by those skilled in the art that the software presented hereinafter may be a collection of computer data and instructions organized in a particular order. Generally, software is divided into system software, application software, and middleware interposed therebetween. In addition, software is not limited to computer programs that can be run on a computer (a computer is referred to herein as a broad sense of computer), and documents related to such computer programs are generally considered to be part of the software.
The software development platform is a platform for developing software and comprises a client and a server, a researcher can log in the client to perform research and development operation, the researched and developed software is uploaded to the server, a test task is triggered by the server, the test task is pushed to a corresponding tester, and a test prompt is sent. The tester may then log in the client to set test conditions for the software developed by the researcher, for example: test scripts, test rules, etc., and then the server side tests the software based on the test conditions. The software development comprises software development and software testing, wherein the software development is completed by a developer, and the software testing is completed by a tester.
The following describes in detail the technical solutions provided by the embodiments of the present application with reference to the accompanying drawings.
Example 1
Fig. 1 is a flow chart of a software development method provided in embodiment 1 of the present application, referring to fig. 1, the method is executed by a software development platform, and specifically includes the following steps:
step 12, the software development platform determines target software of a first version developed based on the software development platform;
it should be noted that, a developer logs on a client of the software development platform, and then selects to enter a corresponding development environment, for example: developer laboratory, etc. To perform the task of developing source code to develop target software. After the research and development personnel complete the research and development work of the target software, the target software is uploaded to the server side, so that the server side determines the first version of the target software after the research and development is completed.
In addition, the research and development personnel can upload the research and development progress to the server side for storage so as to continue research and development work after logging in next time.
Step 14, the software development platform tests the first version of target software;
it should be noted that, after detecting that the developer completes the development work, or after the developer uploads the developed target software to the server side of the software development platform, the test task is triggered. The server side pushes the test tasks to corresponding testers according to the pre-established work arrangement, the testers set pre-established test conditions, and the server side tests the target software based on the test conditions. In addition, the server side can also periodically remind the testers so that the testers can process the test tasks as soon as possible; and open the communication between developer and the tester to the tester, make the staff on the different posts of two different departments communicate the development progress or test progress or adjust the progress of processing etc. through the communication in real time, so that the relevant personnel who develop the goal software can both follow up the development progress of the goal software in real time, and supervise each other.
The recording test script can be implemented in various ways, for example, as follows:
firstly, after the research and development work is completed, the tester records the corresponding test script based on the data packet of the target software transmitted by the server side. This process is similar to the prior art, and therefore, will not be described in detail.
Secondly, in the research and development process, a tester checks the research and development progress uploaded to the server by the research and development personnel to acquire a completed functional module recorded in the research and development progress, and then records a corresponding test script based on the parameters of the completed functional module, such as functions, operation logic, indexes and the like recorded in the PRD product demand document of the target software, so that the research and development are performed almost synchronously with the recorded test script. Furthermore, after the development work is completed, the test script can be recorded basically and synchronously. The server terminal can test the target software in a nearly seamless connection mode based on the target software uploaded by the research personnel and the test script recorded by the tester, so as to achieve the purpose of further improving the development efficiency.
Based on a predetermined work arrangement, the server side sets rights for related personnel developing target software, so that the related personnel have the related rights, and the non-related personnel do not have the related rights of checking, testing, developing and the like.
Thirdly, after the product design of the target software is completed, recording a test script based on the PRD product demand document of the target software. The process may be prior to or during or after the development effort.
In the second and third schemes, the tester performs functional analysis on the target software based on the PRD of the software to obtain each functional module to be tested and the identification thereof. The functional module to be tested may be each functional module of the software. And determining a test script required to be recorded by the functional module to be tested based on the identification of the functional module to be tested and the PRD.
The PRD product demand document is used for indexing and technically converting the content in the BRD business demand document and the MRD market demand document corresponding to the product design so as to define the functions and the performances of the product.
If the test result is passed, determining that the target software of the first version is the target software of the second version, and ending the task; if the test result is not passed, executing step 16;
step 16, if the test result is failed, repeating the test step until the second version of target software with the test result being passed is obtained; the testing step is used for receiving and testing the adjusted first version of target software, and the adjusted first version of target software is obtained by adjusting the first version of target software according to the testing result.
It should be noted that, the test results are generally displayed to related personnel in the form of test reports, the test reports are used for writing the test process and results into documents, analyzing the found problems and defects, providing a basis for correcting the quality problems of the software, and laying a foundation for software acceptance and delivery. Thus, the developer can conduct targeted adjustment work against the test report.
Referring to fig. 2, the testing steps may be performed by the server, and specifically include:
step 22, receiving a next version of target software obtained by adjusting the first version of target software according to a test result corresponding to the first version of target software by a researcher; wherein the tuning process includes eliminating bug and/or optimizing code, although other processes for source code are within the scope of tuning process.
It should be noted that, when the test result is failed, the server side will feed back the test result to the developer, and the developer will adjust the target software based on the test report to solve the problems and defects found in the test report, and upload the target software after the adjustment process as the target software of the next version to the server side.
Step 24, testing the target software of the next version to obtain a test result corresponding to the target software of the next version;
and step 26, if the test result corresponding to the target software of the next version is failed, determining the target software of the next version as the target software of the adjusted first version.
It will be appreciated that repeating steps 22-26 described above, i.e., performing the test-eliminate bug or optimize code-retest operations multiple times, may result in the second version of the target software being passed as a test result.
It can be seen that, in this embodiment, the software development and the software test are integrated on the same software development platform, so as to determine the target software of the first version developed by the developer; then testing the target software of the first version to obtain a test result, and feeding back the test result to a tester; receiving an adjusted first version of target software generated by adjusting the first version of target software by a tester based on a test result; and then testing the adjusted target software of the first version, and repeating the process until the target software of the second version, the test result of which is passed, is obtained. Compared with the scheme that the research and development and the test are mutually independent in the prior art, the process of one test-elimination of bug-retest can take several worship time, the software development efficiency can be effectively improved.
Example 2
This embodiment includes the whole content of embodiment 1, and referring to fig. 3, this embodiment further defines step 14, and specifically includes:
step 32, performing a software function test on the first version of target software (which may be simply referred to as version 1.1) to obtain a first test result; the function test is to verify each function of the product, test item by item according to the function test case, and check whether the product reaches the function required by the user.
Referring to fig. 4, step 32 specifically includes:
step 42, determining a functional module to be tested of the first version of target software and a test script corresponding to the functional module to be tested;
step 44, performing a software function test on the functional module to be tested based on a test script corresponding to the functional module to be tested, and obtaining a test result corresponding to the functional module to be tested;
and step 46, acquiring a first test result according to the test result corresponding to the functional module to be tested.
It should be noted that, dividing the functional modules of the first version of the target software based on the PRD or other rules of the target software, obtaining each functional module to be tested, then obtaining a test script corresponding to each functional module to be tested based on the recorded test script, and testing each functional module to be tested based on the corresponding test script.
The process of recording the test script is similar to that of embodiment 1, and therefore, the description thereof is omitted herein.
Step 34, judging whether the first test result is passed or not, if not, executing step 36; if yes, go to step 310;
step 36, repeatedly executing the software function test step until the third version of target software with the first test result passing is obtained; the software function testing step is used for receiving the adjusted first version of target software and performing software function testing, and the adjusted first version of target software is obtained by adjusting according to the first test result;
the software function test steps may be exemplified by: receiving 1.2 version of target software, and performing software function test on the 1.2 version of target software; the 1.2 version of target software is obtained by adjusting the 1.1 version of target software by a researcher based on a test result corresponding to the 1.1 version of target software. And sequentially testing 1.1-1.N version target software until the test result of the software function test is passed 1.n version target software, and the test result is called third version target software (which can be simply called 3.0 version).
Step 38, performing a software performance test on the third version of target software to obtain a second test result; among these, software performance testing is a term commonly used when alternating load and force testing. The ideal software performance test (and other types of tests) should be defined in a requirements document or quality assurance, test plan. Software performance testing generally includes load testing and software stress testing.
Referring to fig. 5, step 38 specifically includes:
step 52, determining a test script corresponding to the software performance test;
step 54, the test script is sent to the tested equipment connected to the software development platform, so that the tested equipment executes the test script;
step 56, determining an execution result of the tested equipment, and acquiring a second test result according to the execution result; the tested device is a device provided with the third version of target software.
It should be noted that, in the process of executing the software performance test, the test script may be recorded by a tester based on the complete target software, or may be recorded by a tester for at least one functional module after the developer completes the at least one functional module, and then the tester uploads the at least one functional module to the server. And then, the research and development personnel construct a test task based on the test script and the target software, and upload the test task to a server side of the platform for execution. The process of executing the test task at the server side is similar to remote real machine debugging, compatibility test and the like, so that the description thereof is omitted here. And then, the server side displays the test result to a tester, and the tester forwards the test result to a research and development personnel, or the server side directly returns the test result to the tester and the research and development personnel.
Step 310, performing a software performance test on the first version of target software to obtain a second test result;
step 312, determining whether the second test result is passed, if so, executing step 316; if not, go to step 314;
step 314, based on the test results of step 38 and step 310, if it is determined that the second test result is failed, repeating the software performance test step until obtaining the target software of the second version whose second test result is passed; the software performance testing step is used for receiving the adjusted third version/first version of target software and performing software performance testing, and the adjusted third version/first version of target software is obtained by adjusting the third version/first version of target software according to the second testing result.
Wherein after receiving the adjusted third/first version of the target software and before performing the software performance test, the method further comprises:
performing software function test on the adjusted third version/first version target software, and if the result of the software function test is passing, allowing software performance test;
And if the result of the software function test is not passed, repeating the software function test step until the result of the software function test is obtained as the passed target software of the adjusted third version/first version.
It should be noted that, since the software performance test step is similar to the software function test step, only the software performance test step and the software function test step will be briefly described with the 3.1 version of the target software and the 3.2 version of the target software.
When the test result of the software performance test on the 3.1 version of target software is not passed, returning the test result to a research and development personnel, executing the tasks of bug elimination/code optimization and the like by the research and development personnel to obtain the 3.2 version of target software, then performing the software function test on the 3.2 version of target software, if the test result is not passed, performing the tasks of bug elimination/code optimization and the like by the research and development personnel again to obtain the 3.2.1 version of target software, and sequentially performing the software function test on the 3.2.1-3.2.n version of target software until the test result of the software function test is obtained as the passed version of target software, and calling the software as the 3.2 version of target software, and then performing the software performance test on the 3.2 version of target software.
Step 316, determining that the test result of the first version/third version of the target software is passing, and determining the first version/third version of the target software passing the test as the second version of the target software, i.e. the online version of the target software.
It should be noted that, in either the software function test stage or the software performance test stage, each time the developer performs an adjustment process, a new version of the target software is generated, and accordingly, the test script is correspondingly updated. I.e. the test script used for each test, the number of tests and the version of the target software are corresponding, for example: the first software functional test, the version target software of the 1.1 edition and the test script used for the first software functional test correspond to each other, and the nth software functional test, the 1.N edition target software and the test script used for the nth software functional test correspond to each other.
In addition, it will be understood that the presence of versions 1.1, 2.1 and 3.1 in the various embodiments is not necessarily an upgrade to version 2.1, and that version 3.1 is an upgrade to version 2.1, for distinction purposes only.
It can be seen that, in this embodiment, on the basis of embodiment 1, the development-software function test-software performance test in the software development process is further integrated into the same software development system, and after the development work is completed, the software function test step is circularly performed to obtain the software meeting the function requirement; and then circularly performing software performance, namely steps to further acquire the software meeting the functional requirements and the performance requirements, and taking the software as an online version, so that a near full-automatic research and development mode of software research and development-test-online is realized, and the efficiency of software development can be effectively improved.
Example 3
Fig. 6 is a flow chart of a software development method provided in embodiment 3 of the present application, referring to fig. 6, the method may be implemented by a software development platform, and specifically includes the following steps:
step 61, the research personnel, the testers and the like log in through a client system of the software development platform;
step 62, a developer performs the task of developing source code to develop the target software or eliminate BUGs or optimization code in the target software, etc., and creates a daily build.
Daily construction means that the whole code tree is automatically, daily and completely constructed. (the translator presses the code tree, the original text is the source tree, which means that the positions of the catalogues and the subdirectories of the source codes of the whole project and the files are fixed as far as possible in advance, so that the relative positions among all the files are not confused in the development process.
Step 63, the research personnel perform self-test joint debugging on the developed target software to detect the correctness of interfaces among all functional modules of the target software, whether the data flow and the control flow among all functional modules realize functions according to the design, and the correctness of the integrated overall functions. Step 64 is triggered after the joint debugging is completed.
And 64, performing edition-issuing processing by taking the target software passing through the self-test joint debugging as the target software of the first edition, triggering a software development platform to construct a test task, and pushing the test task to a corresponding tester.
Step 65, the testers record corresponding test scripts based on the product requirement document of the target software, and perform software function test on the target software. The test scripts in the step focus on basic function scripts, regression test scripts and core function cases, and are less in use for variable parameter data, safety test scripts, historical failure cases and the like.
Step 66, judging whether the software function test is passed, if so, executing step 67; if not, constructing an acceptance result (test report) based on the test result, returning the acceptance result to the tester, and performing the task of eliminating bug/optimizing code and the like based on the problem recorded in the acceptance result by the tester to construct 1.2 edition of target software. The above test-remove bug/optimize code-retest operations are repeated until the target software that passed the software functional test is obtained, referred to as the third version of the target software.
Step 67, triggering a test task for performing software performance test on the third version;
And 68, calling test data and test scripts corresponding to the 3.1 version of target software by the API server, uploading the test data and the test scripts to the automation platform as test instructions, and sending the test instructions to tested equipment through an upper computer by a server carried on the automation platform, wherein the tested equipment executes the test instructions.
Wherein the database callable by the API server comprises: the system comprises a script library, a test database and a version library, wherein the script library can store test scripts, the version library can store version information of tested software, the test database can store tested logic and the like. The tested target software of each version can have the corresponding test script and test logic based on the script library, the test database and the version library.
Step 69, detecting a test result of the tested equipment, correcting the test result to obtain an acceptance result, judging whether the 3.1 edition of target software passes the test based on the acceptance result, and if so, taking the target software as an online edition; if not, returning the acceptance result to the research staff, performing the work of eliminating bug/optimizing code and the like based on the acceptance result by the research staff, then obtaining 3.2 version of target software, performing software performance test again on 3.2 version of target software, and repeating the process of software performance test-eliminating bug/optimizing code and software performance test until the version of target software passing the software performance test is obtained.
The correction process is to reject some non-coding errors in the test result, for example, problems caused by network problems or problems influenced by test tools.
Step 610, determining the target software passing the software performance test as an online version.
The embodiments of the present application correspond to the embodiments 1-2, so the description is simpler, and the corresponding points are referred to the detailed description in the embodiments 1-2.
In addition, the first version of the target software may be a test version of the target software, and the second version of the target software may be a stable version of the target software.
It can be seen that, in this embodiment, the software development and the software test are integrated on the same software development platform, so as to determine the target software of the first version developed by the developer; then testing the target software of the first version to obtain a test result, and feeding back the test result to a tester; receiving an adjusted first version of target software generated by adjusting the first version of target software by a tester based on a test result; and then testing the adjusted target software of the first version, and repeating the process until the target software of the second version, the test result of which is passed, is obtained. Compared with the scheme that the research and development and the test are mutually independent in the prior art, the process of one test-elimination of bug-retest can take several worship time, the software development efficiency can be effectively improved.
For the method embodiments described above, the series of combinations of actions are described for simplicity of description, but it should be appreciated by those skilled in the art that the embodiments of the present invention are not limited by the order of actions described, as some steps may occur in other orders or concurrently in accordance with the embodiments of the present invention. Further, those skilled in the art will recognize that the embodiments described in the specification are all preferred embodiments, and that the actions involved are not necessarily required for the embodiments of the present invention.
Example 4
Fig. 7 is a schematic structural diagram of a software development device provided in embodiment 5 of the present application, referring to fig. 7, the device includes: a determination unit 71, a first test unit 72 and a second test unit 73, wherein:
a determining unit 71 for determining a first version of target software developed based on the software development platform;
a first test unit 72, configured to test the first version of the target software;
a second test unit 73, configured to repeatedly execute the test steps if the test result is failed, until a second version of the target software with the test result being passed is obtained; the testing step is used for receiving and testing the adjusted first version of target software, and the adjusted first version of target software is obtained by adjusting the first version of target software according to the testing result.
It should be noted that, the determining unit 71 detects the development source code work performed by the developer on the software development platform, and sends an instruction for triggering the software function test task to the first test unit 72 when determining that the developer completes the development work or partially completes the development work; the first test unit 72 pushes the test task to the corresponding tester, tests based on the test script and the test rule selected by the tester and corresponding to the first version of the target software, if the test fails, tests the 1.2 version of the target software again after receiving the target software after the first version of the target software is adjusted by the developer based on the test result, and so on, tests the 1.1-1.N version of the target software in sequence until the version of the target software passing the test is obtained, and is called as the second version of the target software.
The working principle of each functional unit in the embodiment of the present application is described in detail below:
the first test unit 72 operates as follows:
performing software function test on the first version of target software to obtain a first test result; if the first test result is passed, performing a software performance test on the first version of target software to obtain a second test result; and if the second test result is passing, confirming that the test result of the first version of target software is passing.
The principle of the first test unit 72 performing the software function test includes:
determining a functional module to be tested of the first version of target software and a test script corresponding to the functional module to be tested; performing software function test on the functional module to be tested based on a test script corresponding to the functional module to be tested, and obtaining a test result corresponding to the functional module to be tested; and acquiring a first test result according to the test result corresponding to the functional module to be tested.
The principles of the first test unit 72 performing the software performance test include:
determining a test script corresponding to the software performance test; transmitting the test script to the tested equipment connected to the software development platform so as to enable the tested equipment to execute the test script; determining an execution result of the tested equipment, and acquiring a second test result according to the execution result; the tested device is a device provided with the third version of target software.
And if one of the first test result and the second test result is failed, determining that the test result for testing the target software is failed. Accordingly, the second test unit 73 operates as follows:
If the first test result is failed, repeating the software function test step until the third version of target software with the first test result being passed is obtained; the software function testing step is used for receiving the adjusted first version of target software and performing software function testing, and the adjusted first version of target software is obtained by adjusting according to the first test result; performing software performance test on the third version of target software, and if the second test result is failed, repeating the software performance test step until obtaining the second version of target software with the second test result being passed; the software performance testing step is used for receiving the adjusted third version of target software and performing software performance testing, and the adjusted third version of target software is obtained by adjusting the third version of target software according to the second test result.
And if the first test result is passing and the second test result is not passing, repeating the software performance test step until the target software of which the second test result is passing is obtained.
In a possible embodiment, the apparatus further comprises: a third test unit;
the third test unit is used for performing joint debugging test on the target software of the test version; and if the joint debugging test is passed, triggering a software function test of the target software of the test version.
It can be seen that, in this embodiment, the software development and the software test are integrated on the same software development platform, so as to determine the target software of the first version developed by the developer; then testing the target software of the first version to obtain a test result, and feeding back the test result to a tester; receiving an adjusted first version of target software generated by adjusting the first version of target software by a tester based on a test result; and then testing the adjusted target software of the first version, and repeating the process until the target software of the second version, the test result of which is passed, is obtained. Compared with the scheme that the research and development and the test are mutually independent in the prior art, the process of one test-elimination of bug-retest can take several worship time, the software development efficiency can be effectively improved.
For the device embodiments described above, the description is relatively simple as it is substantially similar to the method embodiments, as relevant points are found in the partial description of the method embodiments. It should be noted that, among the respective components of the apparatus of the present invention, the components thereof are logically divided according to functions to be realized, but the present invention is not limited thereto, and the respective components may be re-divided or combined as needed.
Example 5
Fig. 8 is a schematic structural diagram of an electronic device provided in embodiment 5 of the present application, and referring to fig. 8, in a hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a nonvolatile memory, and may include hardware required by other services. The processor reads the corresponding computer program from the nonvolatile memory into the memory and then runs, and forms a software development device on a logic level. Of course, other implementations, such as logic devices or combinations of hardware and software, are not excluded from the present application, that is, the execution subject of the following processing flows is not limited to each logic unit, but may be hardware or logic devices.
The processor, network interface, and memory may be interconnected by an internal bus, which may be an ISA (Industry Standard Architecture ) bus, a PCI (Peripheral Component Interconnect, peripheral component interconnect standard) bus, or EISA (Extended Industry Standard Architecture ) bus, among others. The buses may be classified as address buses, data buses, control buses, etc. For ease of illustration, only one bi-directional arrow is shown in FIG. 8, but not only one bus or type of bus.
The memory is used for storing programs. In particular, the program may include program code including computer-operating instructions. The memory may include read only memory and random access memory and provide instructions and data to the processor. The Memory may comprise a Random-Access Memory (RAM) or may further comprise a non-volatile Memory (non-volatile Memory), such as at least 1 disk Memory.
The processor is used for executing the program stored in the memory and specifically executing:
the method comprises the steps that a software development platform determines target software of a first version developed based on the software development platform;
the software development platform tests the first version of target software;
if the test result is not passed, repeating the test steps until the second version of target software with the test result passed is obtained; the testing step is used for receiving and testing the adjusted first version of target software, and the adjusted first version of target software is obtained by adjusting the first version of target software according to the testing result.
The methods performed by the software development devices or manager (Master) nodes described above and disclosed in the embodiments of fig. 1, 3 and 7 of the present application may be applied to or implemented by a processor. The processor may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware in a processor or by instructions in the form of software. The processor may be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU), a network processor (Network Processor, NP), etc.; but also digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), field programmable gate arrays (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. The disclosed methods, steps, and logic blocks in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of a method disclosed in connection with the embodiments of the present application may be embodied directly in hardware, in a decoded processor, or in a combination of hardware and software modules in a decoded processor. The software modules may be located in a random access memory, flash memory, read only memory, programmable read only memory, or electrically erasable programmable memory, registers, etc. as well known in the art. The storage medium is located in a memory, and the processor reads the information in the memory and, in combination with its hardware, performs the steps of the above method.
The software development device may also perform the method of fig. 1 and implement the method performed by the manager node.
Example 6
Based on the same inventive concept, the present application also provides a computer-readable storage medium storing one or more programs, which when executed by an electronic device comprising a plurality of application programs, cause the electronic device to perform the software development method provided in embodiment 1.
It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by a computing device. Computer-readable media, as defined herein, does not include transitory computer-readable media (transmission media), such as modulated data signals and carrier waves.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article or apparatus that comprises the element.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The foregoing is merely exemplary of the present application and is not intended to limit the present application. Various modifications and changes may be made to the present application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc. which are within the spirit and principles of the present application are intended to be included within the scope of the claims of the present application.

Claims (6)

1. A method of software development, comprising:
the method comprises the steps that a software development platform determines target software of a first version developed based on the software development platform;
the software development platform tests the first version of target software;
if the test result is not passed, repeating the test steps until the second version of target software with the test result passed is obtained; the testing step is used for receiving and testing the adjusted target software of the first version, and the adjusted target software of the first version is obtained by adjusting the target software of the first version according to the testing result;
Wherein the testing of the first version of the target software includes:
performing software function test on the first version of target software to obtain a first test result;
if the first test result is passed, performing a software performance test on the first version of target software to obtain a second test result;
if the second test result is passing, confirming that the test result of the first version of target software is passing;
if the first test result is failed, determining that the test result of the first version of target software is failed;
the step of repeatedly executing the test step until the second version of target software with the passed test result is obtained comprises the following steps:
repeating the software function test step until a third version of target software with the first test result passing is obtained; the software function testing step is used for receiving the adjusted first version of target software and performing software function testing, and the adjusted first version of target software is obtained by adjusting according to the first test result;
performing software performance test on the third version of target software, and if the second test result is failed, repeating the software performance test step until obtaining the second version of target software with the second test result being passed; the software performance testing step is used for receiving the adjusted third version of target software and performing software performance testing, and the adjusted third version of target software is obtained by adjusting the third version of target software according to the second test result;
If the first test result is passing and the second test result is not passing, determining that the test result of the first version of target software is not passing;
the step of repeatedly executing the test step until the second version of target software with the passed test result is obtained comprises the following steps:
and repeating the software performance test step until a second version of target software with a second test result passing is obtained.
2. The method of claim 1, wherein the testing step comprises:
receiving a target software of a next version obtained by adjusting the target software of a first version according to a test result corresponding to the target software of the first version;
testing the target software of the next version to obtain a test result corresponding to the target software of the next version;
and if the test result corresponding to the target software of the next version is not passed, determining the target software of the next version as the target software of the adjusted first version.
3. The method of claim 2, wherein the adjustment process comprises an elimination bug process and/or a code optimization process.
4. The method of claim 1, wherein performing a software functional test on the first version of the target software, obtaining a first test result comprises:
determining a functional module to be tested of the first version of target software and a test script corresponding to the functional module to be tested;
performing software function test on the functional module to be tested based on a test script corresponding to the functional module to be tested, and obtaining a test result corresponding to the functional module to be tested;
and acquiring a first test result according to the test result corresponding to the functional module to be tested.
5. The method of claim 1, wherein performing a software performance test on the first version of the target software, obtaining a second test result comprises:
determining a test script corresponding to the software performance test;
transmitting the test script to the tested equipment connected to the software development platform so as to enable the tested equipment to execute the test script;
determining an execution result of the tested equipment, and acquiring a second test result according to the execution result;
the tested device is a device provided with the third version of target software.
6. A software development device, comprising:
the determining unit is used for determining target software of a first version developed based on the software development platform;
the first testing unit is used for testing the first version of target software;
the second test unit is used for repeatedly executing the test steps if the test result is failed, until the target software of a second version with the test result being passed is obtained; the testing step is used for receiving and testing the adjusted target software of the first version, and the adjusted target software of the first version is obtained by adjusting the target software of the first version according to the testing result;
the first test unit is used for performing software function test on the first version of target software to obtain a first test result; if the first test result is passed, performing a software performance test on the first version of target software to obtain a second test result; if the second test result is passing, confirming that the test result of the first version of target software is passing;
the second test unit is used for:
if the first test result is failed, repeating the software function test step until the third version of target software with the first test result being passed is obtained; the software function testing step is used for receiving the adjusted first version of target software and performing software function testing, and the adjusted first version of target software is obtained by adjusting according to the first test result; performing software performance test on the third version of target software, and if the second test result is failed, repeating the software performance test step until obtaining the second version of target software with the second test result being passed; the software performance testing step is used for receiving the adjusted third version of target software and performing software performance testing, and the adjusted third version of target software is obtained by adjusting the third version of target software according to the second test result;
And if the first test result is passing and the second test result is not passing, repeating the software performance test step until the target software of which the second test result is passing is obtained.
CN201710642487.7A 2017-07-31 2017-07-31 Software development method and device Active CN107451058B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710642487.7A CN107451058B (en) 2017-07-31 2017-07-31 Software development method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710642487.7A CN107451058B (en) 2017-07-31 2017-07-31 Software development method and device

Publications (2)

Publication Number Publication Date
CN107451058A CN107451058A (en) 2017-12-08
CN107451058B true CN107451058B (en) 2023-05-30

Family

ID=60489303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710642487.7A Active CN107451058B (en) 2017-07-31 2017-07-31 Software development method and device

Country Status (1)

Country Link
CN (1) CN107451058B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108776640A (en) * 2018-05-07 2018-11-09 深圳壹账通智能科技有限公司 Distributed test method, device, computer equipment and storage medium
CN109324961A (en) * 2018-08-14 2019-02-12 中国平安人寿保险股份有限公司 System automatic test approach, device, computer equipment and storage medium
CN110309067A (en) * 2019-06-14 2019-10-08 吉旗(成都)科技有限公司 Fixed scene method for testing pressure and device based on android system
CN112817872A (en) * 2021-02-26 2021-05-18 苏州挚途科技有限公司 Development test system and method
CN115544465B (en) * 2022-11-25 2023-02-28 卓望数码技术(深圳)有限公司 Security management and control method and device for third-party component for software construction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014200551A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Identifying the introduction of a software failure
CN106502888A (en) * 2016-10-13 2017-03-15 杭州迪普科技股份有限公司 The method of testing of software and device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2715141Y (en) * 2003-06-30 2005-08-03 北京金铠星科技有限公司 Smoke detector for light-duty diesel vehicle under loaded and speed-down operating mode
CN103268289B (en) * 2013-06-18 2016-04-06 北京云测信息技术有限公司 Record the method and system of application testing script on mobile terminals
CN106201856A (en) * 2015-05-04 2016-12-07 阿里巴巴集团控股有限公司 A kind of multi version performance test methods and device
CN104978270A (en) * 2015-07-03 2015-10-14 上海触乐信息科技有限公司 Automatic software testing method and apparatus
US10346140B2 (en) * 2015-08-05 2019-07-09 General Electric Company System and method for model based technology and process for safety-critical software development
CN106528399A (en) * 2015-09-15 2017-03-22 腾讯科技(深圳)有限公司 Test case determination method and apparatus
CN105117348A (en) * 2015-09-28 2015-12-02 佛山市朗达信息科技有限公司 Method for monitoring test execution progress of software
CN106547555A (en) * 2016-10-26 2017-03-29 安徽扬远信息科技有限公司 A kind of Test driver method based on Scrum Agile Software Developments
CN106775911A (en) * 2016-11-25 2017-05-31 努比亚技术有限公司 A kind of method of testing and device for application and development

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014200551A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Identifying the introduction of a software failure
CN106502888A (en) * 2016-10-13 2017-03-15 杭州迪普科技股份有限公司 The method of testing of software and device

Also Published As

Publication number Publication date
CN107451058A (en) 2017-12-08

Similar Documents

Publication Publication Date Title
CN107451058B (en) Software development method and device
CN109474488B (en) Interface testing method and device and computer equipment
CN109614324B (en) Test case generation method and device
CN108459962B (en) Code normalization detection method and device, terminal equipment and storage medium
CN107145437B (en) Java annotation test method and device
CN108628748B (en) Automatic test management method and automatic test management system
CN107526676B (en) Cross-system test method and device
US20140208297A1 (en) Validation of revised computer programs
CN112241360A (en) Test case generation method, device, equipment and storage medium
CN107480056B (en) Software testing method and device
CN111459509A (en) Container mirror image construction method and device and server
CN112540924A (en) Interface automation test method, device, equipment and storage medium
Grambow et al. Using application benchmark call graphs to quantify and improve the practical relevance of microbenchmark suites
CN111240987B (en) Method and device for detecting migration program, electronic equipment and computer readable storage medium
CN109376285B (en) Data sorting verification method based on json format, electronic device and medium
CN116016270A (en) Switch test management method and device, electronic equipment and storage medium
CN109933506A (en) Server big data method of evaluating performance, system and electronic equipment and storage medium
CN111008150B (en) Test report generation method, device and equipment
CN114168108A (en) Code merging method and device, electronic equipment and computer readable storage medium
CN110908903B (en) Test method based on editable YAML file
US11816022B2 (en) Snapshot simulation of service module responses
CN108845932B (en) Unit testing method and device of network library, storage medium and terminal
CN112286792A (en) Interface testing method, device, equipment and storage medium
CN111324526B (en) Interface test system, method and server
CN116304413A (en) Front-end page testing method and device, storage medium and processor

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
GR01 Patent grant
GR01 Patent grant