CN104778032A - Method and equipment used for carrying out continuous integration - Google Patents

Method and equipment used for carrying out continuous integration Download PDF

Info

Publication number
CN104778032A
CN104778032A CN201410010763.4A CN201410010763A CN104778032A CN 104778032 A CN104778032 A CN 104778032A CN 201410010763 A CN201410010763 A CN 201410010763A CN 104778032 A CN104778032 A CN 104778032A
Authority
CN
China
Prior art keywords
case
target detection
order
test
detection use
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
CN201410010763.4A
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.)
Alcatel Optical Networks Israel Ltd
Original Assignee
Alcatel Optical Networks Israel 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 Alcatel Optical Networks Israel Ltd filed Critical Alcatel Optical Networks Israel Ltd
Priority to CN201410010763.4A priority Critical patent/CN104778032A/en
Priority to PCT/IB2015/000148 priority patent/WO2015104635A2/en
Publication of CN104778032A publication Critical patent/CN104778032A/en
Pending legal-status Critical Current

Links

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

Abstract

The invention aims to provide a method and equipment used for carrying out continuous integration. Specifically, the method comprises the following steps: according to a continuous integration request, executing a corresponding first-level target test case to a target code corresponding to the continuous integration request, wherein the first-level target test case corresponds to the test precision of a first-level test corresponding to the continuous integration request; when the first-level target test case is successfully executed, combining the target code to a corresponding first target combination code; and according to the continuous integration request, executing a second-level target test case to the first target combination code, wherein the second-level target test case corresponds to the test precision of a second-level test corresponding to the first target combination code. Compared with the prior art, the method causes whole software development and continuous integration processes to be highly automated through a test case framework based on multi-test precision and effective flow detection and control, improves continuous integration efficiency and enhances product development quality.

Description

A kind of method and apparatus for carrying out continuous integrating
Technical field
The present invention relates to software development and technical field of measurement and test, particularly relating to a kind of technology for carrying out continuous integrating.
Background technology
Continuous integrating (CI, Continuous Integration) is an important component part of agile development (Agiledevelopment), and it is vital for having high-quality effective product development.But, existing CI system mainly provides the general framework (framework) about test, as provided General guidance (as " continuous integrating " of one of the founder Martin Fowler online publishing of agile development method, http://martinfowler.com/articles/continuousIntegration.html) about continuous integrating or framework (a kind of continuous integrating instrument Hudson as developed based on Java).In these CI systems, be only absorbed in test foundation structure or platform.Unit testing (unit test), feature integrated (featureintegration) are separate design, artificial selection, formation and triggering with the system integration (system integration), seldom have to provide in a system and be integrated with the conceptual solutions that the integrated and quality of automatic software exploitation, Test Sample Design and selection, multiresolution (multi-resolution) strengthens process, therefore, how to realize the increasingly automated of overall software development and integrating process, and effectively to improve software quality be problem demanding prompt solution.
Summary of the invention
The object of this invention is to provide a kind of method and apparatus for carrying out continuous integrating.
According to an aspect of the present invention, provide a kind of method for carrying out continuous integrating, wherein, the method comprises:
A is according to continuous integrating request, corresponding first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested;
B when described first order target detection use-case be performed by time, described one or more object code is merged into corresponding first object and merges code;
C is according to described continuous integrating request, and merge code to described first object and perform corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested.
According to a further aspect in the invention, additionally provide a kind of integrated equipment for carrying out continuous integrating, wherein, this integrated equipment comprises:
First order proving installation, for according to continuous integrating request, corresponding first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested;
First merges device, for be performed when described first order target detection use-case by time, described one or more object code is merged into corresponding first object merging code;
Second level proving installation, for according to described continuous integrating request, merge code to described first object and perform corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested.
According to a further aspect of the invention, additionally provide a kind of continuous integrating equipment for software development, wherein, this continuous integrating equipment comprises as the aforementioned integrated equipment for carrying out continuous integrating according to a further aspect of the present invention.
Compared with prior art, the invention provides and integrate the conceptual solutions that the integrated and quality of automatic software exploitation, Test Sample Design and selection, multiresolution (multi-resolution) strengthens process.First, the present invention performs corresponding first order target detection use-case to the object code corresponding to continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested, when described first order target detection use-case be performed pass through time, object code is merged into corresponding first object and merges code, corresponding second level target detection use-case is performed to merge code to first object, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested, by the test case framework based on many measuring accuracies, carry out the automatic selection of test case, adjustment and execution, make overall software development and continuous integrating process automation, improve continuous integrating efficiency, and, the present invention is before performing described first order target detection use-case to object code, also can detect whether to meet and carry out the test availability trigger condition of testing according to described first order target detection use-case, realize the process check automatically carrying out product to be measured (software and hardware etc.) in test process, to ensure higher development quality.
In addition, the present invention also can provide user interface flexibly to allow to carry out continuous integrating at different measuring accuracy or different test-types based on user's request, to improve continuous integrating efficiency and user's continuous integrating operating experience.
Accompanying drawing explanation
By reading the detailed description done non-limiting example done with reference to the following drawings, other features, objects and advantages of the present invention will become more obvious:
Fig. 1 illustrates the equipment schematic diagram for carrying out continuous integrating according to one aspect of the invention;
Fig. 2 illustrates the graphic user interface schematic diagram of continuous integration system of the present invention;
Fig. 3 illustrates continuous integration system schematic diagram of the present invention;
Fig. 4 illustrates test case configuration diagram of the present invention;
Fig. 5 illustrates the logic testing environment schematic with two targets and a test set;
Fig. 6 illustrates the equipment schematic diagram for carrying out continuous integrating in accordance with a preferred embodiment of the present invention;
Fig. 7 illustrates the method flow diagram for carrying out continuous integrating according to a further aspect of the present invention;
Fig. 8 illustrates the method flow diagram for carrying out continuous integrating in accordance with a preferred embodiment of the present invention.
In accompanying drawing, same or analogous Reference numeral represents same or analogous parts.
Embodiment
Below in conjunction with accompanying drawing, the present invention is described in further detail.
Fig. 1 illustrates the integrated equipment 1 for carrying out continuous integrating according to one aspect of the invention, and wherein, integrated equipment 1 comprises first order proving installation 11, first and merges device 12 and second level proving installation 13.Particularly, first order proving installation 11 is according to continuous integrating request, corresponding first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested; When described first order target detection use-case be performed by time, first merges device 12 is merged into corresponding first object and merges code by described one or more object code; Second level proving installation 13 is according to described continuous integrating request, code is merged to described first object and performs corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested.At this, integrated equipment 1 comprises for developing member's test, integrated source code with the continuous integration system or the platform that help project team member to find project risk and quality problems as early as possible for team in practice of software, and it can be realized by the mutually integrated equipment formed of network by the network equipment, subscriber equipment or the network equipment and subscriber equipment.At this, the described network equipment includes but not limited to as network host, single network server, multiple webserver collection or the realization such as set of computers based on cloud computing.At this, cloud is formed by based on a large amount of main frame of cloud computing (CloudComputing) or the webserver, and wherein, cloud computing is the one of Distributed Calculation, the super virtual machine be made up of a group loosely-coupled computing machine collection.At this, described subscriber equipment can be that any one can to carry out the electronic product of man-machine interaction, such as desk-top computer, PC, MAC, PDA etc. with user by modes such as keyboard, touch pad, touch-screens.Described network includes but not limited to internet, wide area network, Metropolitan Area Network (MAN), LAN (Local Area Network), VPN, wireless self-organization network (Ad Hoc network) etc.Those skilled in the art will be understood that above-mentioned integrated equipment 1 is only citing; other network equipments that are existing or that may occur from now on or subscriber equipment are as being applicable to the present invention; also within scope should being included in, and this is contained at this with way of reference.At this, the network equipment and subscriber equipment include a kind of can according in advance setting or the instruction stored, automatically carry out the electronic equipment of numerical evaluation and information processing, its hardware includes but not limited to microprocessor, special IC (ASIC), programmable gate array (FPGA), digital processing unit (DSP), embedded device etc.
Particularly, first order proving installation 11, first by the application programming interfaces (API) that such as continuous integrating equipment provides, obtains continuous integrating request, or, the application programming interfaces (API) that the user interface (as command line user interface, graphic user interface etc.) provided by continuous integrating equipment is corresponding, obtain the startup continuous integrating operation that user performs in the user interface, to obtain described continuous integrating request, or the communication mode of being arranged by http, https etc., obtains described continuous integrating request, then, again according to continuous integrating request, determine the first order target detection use-case of the one or more object codes corresponded to corresponding to described continuous integrating request, as from be pre-created in as described in filter out first order target detection use-case in test case under file directory corresponding to object code, or, according to the mapping relations between described object code and described first order target detection use-case, described first order target detection use-case is obtained from test case library matching inquiry, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested, then, then to this one or more object code described first order target detection use-case is performed.
At this, described object code comprises and stores from source code the source code controlling to change because of renewal, change, correction etc. in storehouse (source controlrepository) and/or Source code management (SCM, Source Code Management) system.At this, described source code stores control storehouse and source code management system can be arranged in integrated equipment 1, also can be arranged in the server be connected by network with integrated equipment 1.Those skilled in the art will be understood that above-mentioned object code is only citing, and other object codes that are existing or that may occur from now on, as being applicable to the present invention, within also should being included in scope, and are contained in this at this with way of reference.
At this, described first order test comprises unit testing, feature integration testing, and wherein, unit testing and feature integration testing include the test of different accuracy, namely test from the corresponding test case of different fine degree object code.At this, how described measuring accuracy reflects the corresponding measuring accuracy tested, the test of different measuring accuracy realizes by corresponding test case usually, wherein, described measuring accuracy includes but not limited to following at least any one: 1) the first measuring accuracy, and refer to and carry out basic test to verify its fundamental characteristics to object code, this accuracy test is shorter for usual working time, therefore, code only runs this accuracy test under merging front default condition usually; 2) the second measuring accuracy, refer to and test to determine further that the strong test of the problem that object code is possible is as pressure test, abnormality test, analytical test etc. to object code, this accuracy test is longer for usual working time; 3) by that analogy, test such as special test, static analysis test, the code coverage test etc. of other non-time critical can be classified as the 3rd measuring accuracy, and these tests need cost longer time, usually overnight or resource can with time run.Those skilled in the art will be understood that the foundation of above-mentioned measuring accuracy and division thereof is only citing; the foundation of other measuring accuracies that are existing or that may occur from now on and division thereof is as being applicable to the present invention; also within scope should being included in, and this is contained at this with way of reference.
Particularly, first order proving installation 11, first by the application programming interfaces (API) that such as continuous integrating equipment provides, obtains continuous integrating request; Or, the application programming interfaces (API) that the user interface (as command line user interface, graphic user interface etc.) provided by continuous integrating equipment is corresponding, obtain the startup continuous integrating operation that user performs in the user interface, to obtain described continuous integrating request; Or the communication mode of being arranged by http, https etc., obtains described continuous integrating request.Such as, suppose that user A take part in the exploitation of software project as software w1, the component of software project software w1 is split as multiple sub-project, it is responsible for the exploitation of sub-project sub-item t1, after the source code source code c1 completing sub-project sub-item t1 as user A has developed, or in debug process, source code source code c1 is revised, it is wished by continuous integration system as CI1 carries out integrated so that determine whether can integrated success to source code source code c1, suppose that user A have selected the button " beginning " starting continuous integrating operation at the graphic user interface (as shown in Figure 2) of continuous integration system as CI1, then first order proving installation 11 first by continuous integration system as CI1 the application programming interfaces (API) that provide, just the startup continuous integrating operation that user performs in the user interface can be got, namely the continuous integrating request of user A is got.
Preferably, in graphic user interface as shown in Figure 2, available different colours represents success or the failure of execution result, performs failure as represented by redness, and green expression runs succeeded.
Preferably, when the user interface of continuous integration system CI1 is command line user interface, usually, CI1 can prompt command capable of (as by selecting Yes/No) whether running unit test (UT), feature integrated (FI), the system integration (SI), code merging etc. of informing that user selects length by length.Such as, once certain step is selected, continuous integration system CI1 should occur that prompt command is capable of the configuration parameter allowing user to specify this step further.
Those skilled in the art will be understood that the mode of above-mentioned acquisition continuous integrating request is only citing; the mode of other acquisition continuous integrating that is existing or that may occur from now on requests is as being applicable to the present invention; also within scope should being included in, and this is contained at this with way of reference.
Then, first order proving installation 11 can according to this continuous integrating request, determine to correspond to this object code corresponding to continuous integrating request and the first order target detection use-case of source code source code c1, such as, connect example, after supposing that user A have selected the button starting continuous integrating operation at the graphic user interface (as shown in Figure 2) of continuous integration system as CI1, also have selected following option as: unit testing (is, first measuring accuracy and the second measuring accuracy, working time 14:00), then first order proving installation 11 can filter out first order target detection with such as 1 from the test case be pre-created in the file directory corresponding to object code and source code source code c1 stscale unit-test-cases, 2 stscale unit-test-cases, wherein, first order target detection use-case 1 stscale unit-test-cases is corresponding with the first measuring accuracy of the first order test corresponding to described continuous integrating request and unit testing, first order target detection use-case 2 stscale unit-test-cases is corresponding with the second measuring accuracy of the first order test corresponding to described continuous integrating request and unit testing.
Those skilled in the art will be understood that and above-mentionedly determine that the mode of described first order target detection use-case is only citing; described in other determinations that are existing or that may occur from now on, the mode of first order target detection use-case is as being applicable to the present invention; also within scope should being included in, and this is contained at this with way of reference.
Then, first order proving installation 11 performs described first order target detection use-case to target source code and source code source codec1 again, as first performed the first order target detection use-case 1 corresponding to the first measuring accuracy stscale unit-test-cases, and then perform the first order target detection use-case 2 corresponding to the second measuring accuracy stscale unit-test-cases; Or first first order proving installation 11 performs the first order target detection use-case 1 corresponding to the first measuring accuracy stregression test case in scale unit-test-cases, then performs the first order target detection use-case 1 corresponding to the first measuring accuracy stnew test case in scale unit-test-cases; Similarly, first order proving installation 11 is performing the first order target detection use-case 2 corresponding to the second measuring accuracy stduring scale unit-test-cases, first can perform first order target detection use-case 2 stregression test case in scale unit-test-cases, then performs first order target detection use-case 2 stnew test case in scale unit-test-cases.At this, at each test phase, if new test is passed through, if and do not specify other option, then new test case is using by the regression test tested as next round, preferably, under these use-cases will be automatically moved to corresponding regression test catalogue, without residue test case under new test catalogue.
Those skilled in the art will be understood that and are above-mentionedly only citing to the mode that object code performs described first order target detection use-case; other existing or may occur from now on the mode of described first order target detection use-case is performed as being applicable to the present invention to object code; also within scope should being included in, and this is contained at this with way of reference.
Preferably, first order proving installation 11 also can according to continuous integrating request, to the one or more object code corresponding to described continuous integrating request and the first order target detection use-case relying on code execution correspondence thereof, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested.At this, described dependence code comprises when described object code realizes that other depends on the code of this object code, such as, if object code is as checked out in structure dependence corresponding to source code source code c1, source code source code c2 and source code c3 depends on source code source code c1, then when first order proving installation 11 couples of source code source code c1 perform first order target detection use-case, also described first order target detection use-case is performed in the lump to the file destination of the source code source code c2 and source code c3 that depend on source code source code c1.Those skilled in the art will be understood that above-mentioned dependence code is only citing, and other dependence codes that are existing or that may occur from now on, as being applicable to the present invention, within also should being included in scope, and are contained in this at this with way of reference.
At this, first order proving installation 11 is to the one or more object code corresponding to described continuous integrating request and to rely on the mode that mode that code performs corresponding first order target detection use-case and aforementioned first order proving installation 11 perform corresponding first order target detection use-case to the one or more object codes corresponding to described continuous integrating request identical or substantially identical, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
Then, when described first order target detection use-case be performed by time, first merges device 12 is merged into corresponding first object and merges code by described one or more object code.At this, when described first order test is for unit testing, described first object merges the feature branch (feature branch) in the project development code of code corresponding to described object code; When described first order test is for feature integration testing, described first object merging code is the system branch (system branch) in the project development code corresponding to described object code.
Such as, for object code as source code source code c1, suppose that first order proving installation 11 couples of source code source code c1 perform the first order target detection use-case 1 corresponding to the first measuring accuracy stscale unit-test-cases and the first order target detection use-case 2 performed corresponding to the second measuring accuracy stscale unit-test-cases, first order target detection use-case 1 stscaleunit-test-cases and 2 stwhen scale unit-test-cases is all performed and passes through, because of selection after the operation of user A startup continuous integrating is unit testing, namely the test of the first order corresponding to continuous integrating request of user A is for unit testing, then first merges device 12 and source code source codec1 be merged into feature branch in the exploitation code of the software project software w1 corresponding to source code source code c1 as feature branch f1.
For another example, for object code as source code source code c1, what select after supposing the operation of user A startup continuous integrating is feature integration testing, its measuring accuracy is the first measuring accuracy, namely the test of the first order corresponding to continuous integrating request of user A is feature integration testing, and what first order proving installation 11 couples of source code source code c1 performed is that the first order target detection as corresponding in the first measuring accuracy with the measuring accuracy of feature integration testing uses such as 1 stscalefeature-test-cases, when this test case be performed by time, first merges device 12 is merged into system branch in the exploitation code of the software project software w1 corresponding to source code source code c1 as system branch b1 by source code source code c1.
Then, second level proving installation 13 is according to described continuous integrating request, merge code to described first object and perform corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested.At this, the test of the described second level comprises feature set and becomes test and System Integration Test, and wherein, feature integration testing and System Integration Test include the test of different accuracy, namely test from the corresponding test case of different fine degree object code.Preferably, when described first order test is for unit testing, the test of the described second level is feature integration testing; When described first order test is for feature integration testing, the test of the described second level is System Integration Test.At this, the measuring accuracy of second level test and the aforementioned first order measuring accuracy implication of testing and division thereof according to similar, for simplicity's sake, therefore do not repeat them here, and be contained in this with way of reference.
Particularly, second level proving installation 13 is first according to described continuous integrating request, determine that described first object merges the second level target detection use-case of code, as from be pre-created in as described in first object merge corresponding to code file directory under test case in filter out second level target detection use-case, or, the mapping relations between code and described second level target detection use-case are merged according to described first object, described second level target detection use-case is obtained from test case library matching inquiry, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested, then, then to this first object merging code described second level target detection use-case is performed.
At this, second level proving installation 13 determines that the mode of described second level target detection use-case and first order proving installation 11 determine that the mode of described first order target detection use-case is identical or substantially identical, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
At this, it is identical or substantially identical that second level proving installation 13 merges to described first object the executive mode that executive mode that code performs described second level target detection use-case and first order proving installation 11 perform described first order target detection use-case to described object code, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
Preferably, second level proving installation 13 also can according to described continuous integrating request, code is merged to described first object and performs corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested, and the measuring accuracy of described second level test is corresponding with the measuring accuracy that the described first order is tested.At this, the implication that the measuring accuracy of described second level test is corresponding with the measuring accuracy that the described first order is tested includes but not limited to following at least any one: 1) measuring accuracy tested of the measuring accuracy tested of the described second level and the described first order is identical, as when as described in the first order test measuring accuracy be the first measuring accuracy and the second measuring accuracy time, correspondingly, the measuring accuracy of described second level test also performs the second measuring accuracy; For another example, when the measuring accuracy that the described first order is tested is only the first measuring accuracy, the measuring accuracy of described second level test is also the first measuring accuracy; 2) measuring accuracy tested lower than the described first order of the measuring accuracy of described second level test, as described in the measuring accuracy tested of the first order high, and the measuring accuracy that the described second level is tested can be relatively lower.Those skilled in the art will be understood that the measuring accuracy the tested the second level described above implication corresponding with the measuring accuracy that the described first order is tested is only citing; the measuring accuracy of other described second level that are existing or that may occur the from now on tests implication corresponding with the measuring accuracy that the described first order is tested is as being applicable to the present invention; also within scope should being included in, and this is contained at this with way of reference.
Such as, for object code as source code source code c1, what select after supposing the operation of user A startup continuous integrating is unit testing, its measuring accuracy is the first measuring accuracy, namely the test of the first order corresponding to continuous integrating request of user A is unit testing, and first order proving installation 11 couples of source code source code c1 only perform the first order target detection use-case 1 corresponding with the first measuring accuracy of unit testing stscale unit-test-cases; And when this test case 1 stscale unit-test-cases be performed by time, first merges device 12 is merged into feature branch in the exploitation code of the software project software w1 corresponding to source code source code c1 as feature branch f1 by source code sourcecode c1; Because first order test is unit testing, then second level proving installation 13 can determine that this second level test corresponding to continuous integrating request is for feature integration testing, its measuring accuracy is identical with the measuring accuracy of unit testing, namely be also the first measuring accuracy, namely second level proving installation 13 can perform the second level target detection use such as 1 corresponding with measuring accuracy i.e. first measuring accuracy of second level test and feature integration testing to feature branch feature branch f1 stscale feature-test-cases.
Constant work between each device of integrated equipment 1.Particularly, first order proving installation 11 continues according to continuous integrating request, corresponding first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested; When described first order target detection use-case be performed by time, first merges device 12 continues described one or more object code to be merged into corresponding first object and merges code; Second level proving installation 13 continues according to described continuous integrating request, code is merged to described first object and performs corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested.At this, constantly carry out between each device that those skilled in the art are to be understood that " continuing " refers to integrated equipment 1 that first order target detection use-case is performed to the object code corresponding to continuous integrating request respectively, described object code be merged into corresponding first object and merge code, code is merged to described first object perform corresponding second level target detection use-case, until integrated equipment 1 stops the described continuous integrating request of acquisition in a long time.
Preferably, integrated equipment 1 also comprises pick-up unit (not shown).Particularly, the whether satisfied test availability trigger condition of carrying out testing according to described first order target detection use-case of pick-up unit detection; When meeting described test availability trigger condition, first order proving installation 11 performs described first order target detection use-case to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested.
Particularly, the whether satisfied test availability trigger condition of carrying out testing according to described first order target detection use-case of pick-up unit detection.At this, described test availability trigger condition include but not limited to as: 1), first order target detection use-case can be used; 2) allow to perform described first order target detection use-case to the one or more object codes corresponding to described continuous integrating request; 3) all mandatory file required when performing described first order target detection use-case to described object code is all available.Those skilled in the art will be understood that above-mentioned test availability trigger condition is only citing; other test availability trigger conditions that are existing or that may occur from now on are as being applicable to the present invention; also within scope should being included in, and this is contained at this with way of reference.
Such as, for object code as source code source code c1, what select after supposing the operation of user A startup continuous integrating is unit testing, its measuring accuracy is the first measuring accuracy, namely the test of the first order corresponding to continuous integrating request of user A is unit testing, and the first order target detection use-case corresponding with the first measuring accuracy of unit testing is 1 stscaleunit-test-cases, then pick-up unit is by checking first order target detection use-case 1 stamendment request (MR, the Modification Request) state of the document that scaleunit-test-cases is corresponding and source code respective design document determines whether to meet according to first order target detection use-case 1 stscale unit-test-cases carries out the described test availability trigger condition of testing, at this, described MR state comprises establishment (create), assigns (assign), submits (submit) to, closes (close) etc., only have when document MR state is for submitting to or closing, specification documents completes, supposes that pick-up unit is by checking first order target detection use-case 1 stthe document properties of the document that scale unit-test-cases is corresponding, finds first order target detection use-case 1 stthe MR state of the document that scale unit-test-cases is corresponding is for submitting to, then pick-up unit can judge to meet according to first order target detection use-case 1 stscale unit-test-cases carries out the test availability trigger condition of testing.
Those skilled in the art will be understood that whether above-mentioned detection meets the mode of carrying out the test availability trigger condition of testing according to described first order target detection use-case and be only citing; whether other detections that are existing or that may occur from now on meet is carried out the mode of the test availability trigger condition of testing as being applicable to the present invention according to described first order target detection use-case; also within scope should being included in, and this is contained at this with way of reference.
When meeting described test availability trigger condition, first order proving installation 11 performs described first order target detection use-case to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested.At this, when meeting described test availability trigger condition, the executive mode that first order proving installation 11 performs described first order target detection use-case executive mode to described object code and aforementioned first order proving installation 11 perform described first order target detection use-case to described object code is identical or substantially identical, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
Preferably, integrated equipment 1 also comprises the second merging device (not shown) and third level proving installation (not shown).Particularly, when described second level target detection use-case be performed by time, second merges device is merged into the second corresponding target and merges code by described object code; Third level proving installation is according to described continuous integrating request, code is merged to described second target and performs corresponding third level target detection use-case, wherein, described third level target detection use-case is corresponding with the measuring accuracy that the third level corresponding to described continuous integrating request is tested.
Particularly, when described second level target detection use-case be performed by time, second merges device is merged into the second corresponding target and merges code by described object code.At this, described second target merging code comprises the system branch (system branch) in the project development code corresponding to described object code, now, described first order test is unit testing, and described first object merges the feature branch (feature branch) in the project development code of code corresponding to described object code.
At this, second merges device is merged into merging mode and aforementioned first that the second corresponding target merges code and merges device 12 and described object code is merged into corresponding first object to merge the merging mode of code identical or substantially identical by described object code, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
Third level proving installation is according to described continuous integrating request, code is merged to described second target and performs corresponding third level target detection use-case, wherein, described third level target detection use-case is corresponding with the measuring accuracy that the third level corresponding to described continuous integrating request is tested.At this, described third level test comprises System Integration Test, now, described first order test is unit testing, the test of the described second level is feature integration testing, wherein, described System Integration Test comprises the test of different accuracy, namely tests from the corresponding test case of different fine degree object code.At this, the implication of the measuring accuracy that measuring accuracy, the second level that the measuring accuracy of described third level test and the described first order are tested are tested and division according to similar, for simplicity's sake, therefore do not repeat them here, and be contained in this with way of reference.
Particularly, third level proving installation is first according to described continuous integrating request, determine that described second target merges the third level target detection use-case of code, as from be pre-created in as described in the second target merge corresponding to code file directory under test case in filter out third level target detection use-case, or, the mapping relations between code and described third level target detection use-case are merged according to described second target, described third level target detection use-case is obtained from test case library matching inquiry, wherein, described third level target detection use-case is corresponding with the measuring accuracy that the third level corresponding to described continuous integrating request is tested, then, then to this second target merging code described third level target detection use-case is performed.
At this, third level proving installation determines that the mode of described third level target detection use-case and first order proving installation 11 determine that the mode of described first order target detection use-case is identical or substantially identical, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
At this, it is identical or substantially identical that third level proving installation merges to described second target the executive mode that executive mode that code performs described third level target detection use-case and first order proving installation 11 perform described first order target detection use-case to described object code, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
Preferably, for second level target detection use-case and third level target detection use-case, the present invention can perform similar above-mentioned detection equally and whether meet the testing mechanism carrying out the test availability trigger condition of testing according to described first order target detection use-case, namely before second level proving installation 13 performs described second level target detection use-case to described first object merging code, whether the present invention can detect to meet and carry out the test availability trigger condition of testing according to described second level target detection use-case, similarly, before third level proving installation performs described third level target detection use-case to described second target merging code, whether the present invention also can detect to meet and carry out the test availability trigger condition of testing according to described third level target detection use-case.
In a preferred embodiment, when the test of the described first order be unit testing, the test of the described second level for feature integration testing time, described third level test is System Integration Test, the test of each type includes the test case of corresponding different measuring accuracy, for dissimilar test (i.e. unit testing, feature integration testing, System Integration Test) and corresponding measuring accuracy, user carries out appointment selection by the user interface of integrated equipment 1 of the present invention, as when user's activation lasts is integrated, following option can be specified flexibly on a user interface:
1) unit testing (Yes/No, measuring accuracy, working time);
2) feature branch (Yes/No, branch's name, working time) is automatically merged into;
3) feature integration testing (Yes/No, measuring accuracy, working time);
4) system branch (Yes/No, working time) is automatically merged into;
5) System Integration Test (Yes/No, measuring accuracy, working time);
6) branch's (if specify, all dependence branches will run together) is relied on.
Namely, in integrated equipment 1 of the present invention, user specifies by user interface and carries out unit testing, feature integration testing and System Integration Test, and selects corresponding measuring accuracy etc.; Also only can specify as required on a user interface and carry out unit testing or feature integration testing, etc.; For the integrated configuration that user does not specify, can perform according to the default configuration of integrated equipment 1.As Fig. 3 illustrates continuous integration system schematic diagram of the present invention, preferably, in the present invention, the input of integrated equipment 1 is the source code collection based on changing in the code from source code control store storehouse checked by Source code management, as changed user, code in need is with after supporting a certain feature, he/her is integrated by the user interface activation lasts of integrated equipment 1 in the present invention, and integrated equipment 1 can complete continuous integrating automatically in the present invention, namely the test case automatically performing many accuracy tests is collected (or selection), unit testing, process check, object code is merged into feature branch, feature integration testing, object code is merged into system branch, System Integration Test.Preferably, integrated equipment 1 of the present invention is also by the test result of every one-phase is reported to user by report and announcement server automatically automatically.Preferably, at the every one-phase of robotization continuous integrating, before integrated equipment 1 of the present invention all will check and confirm to merge code, dependence test step is successfully completed, and whether the detection performed performed by similar pick-up unit meets according to target detection use-case (as first order target detection use-case, second level target detection use-case, third level target detection use-case) carry out the test availability trigger condition of testing detection operation, as shown in Figure 3, if any test or detecting step failure, then all corresponding main bodys are by automatic notified fault or problem, only after all faults and problem are removed (at least eliminating test failure and the problem of the first measuring accuracy), continuous integrating process is just proceeded, ensure that the development quality of product, avoid during agile development, important flow process such as document and examination are left in the basket, find early and solve the quality problems existed in performance history.If just find relevant issues and fault to the product item later stage, then cost of dealing with problems is very large, probably causes project delay or project failure.
Preferably, user also can, at the appointed time according to demand, select the unit testing/feature integration testing/System Integration Test of the different measuring accuracy of independent operating or code to merge.If it is selected " automatically to merge " option, file conflict occurs, and the owner of source code should be pointed out, and before continuous integrating advances, he/her needs to solve conflict.
At this, the present invention to allow to carry out continuous integrating at different measuring accuracy or different test-types based on user's request, improves continuous integrating efficiency and user's continuous integrating operating experience by providing user interface flexibly.
In a preferred embodiment, under normal circumstances, particularly for feature integration testing and System Integration Test, dissimilar integrated test case can be similar or or even identical.In this case, only need simply to increase the symbol file/directory link between System Integration Test use-case to the integrated test case of feature or between the integrated test case of feature to unit testing use-case, just enough.Similarly, an integrated test case of feature can be disparate modules design.In this case, only need under primary module catalogue, log on this test case file and increase respective symbol file chaining for remaining module in respective directories.At this, the present invention establishes the mapping structure between unit testing use-case, the integrated test case of feature and System Integration Test use-case, allows simple combination to construct all test cases.
In a preferred embodiment, target detection use-case of the present invention (as first order target detection use-case, second level target detection use-case, third level target detection use-case) includes regression test case and new test case, as shown in Figure 4, so that when performing the test of each type, all can perform regression test case and new test case to object code, when performing described regression test case and new test case to object code, the test case that can correspond to again different measuring accuracy is carried out stage by stage.At this, the numeral corresponding to the assembly in Fig. 4 only represents the sequence number of its corresponding assembly, but not the Reference numeral of this assembly.
In a further advantageous embodiment, target detection use-case of the present invention in the design process, for providing dirigibility and expansibility (being namely easy to extend in other similar products), write by all target detection use-case logic-based test environments.Fig. 5 illustrates the logic testing environment schematic with two targets and a testing apparatus, as shown in Figure 5, two target g1 and target g2 with annexation, wherein, target g1 and target g2 is connected back-to-back by 4 logic ports (port p1 is to port p4).Meanwhile, these two targets are connected to testing apparatus by another logic port respectively to (port p5 and port p6).At this, described testing apparatus comprises the testing apparatus of implementation of test cases, as integrated equipment 1 of the present invention.This logic testing environment does not rely on actual physics conduit and port etc.For each fc-specific test FC environment, the corresponding relation of mapping logic port and physical port can be carried out by the mapping table defined in configuration file as shown in the following Table 1.When physical environment changes, such as, because backboard problem conduit number changes, or, because institute's plate card characteristic changing causes port numbers to change, only need revise corresponding configuration mapping table and keep logic testing environment constant, then original test case will remain valid and normally work.
Target Logic port Physical port
Target g1 Port p1 Groove l1 port p1
Target g1 Port p2 Groove l1 port p2
Target g1 Port p3 Groove l3 port p5
Target g1 Port p4 Groove l3 port p6
Target g1 Port p5 Groove l1 port p3
Target g1 Port p6 Groove l1 port p4
Target g2 Port p1 Groove l2 port p1
Target g2 Port p2 Groove l2 port p2
Target g2 Port p3 Groove l2 port p3
Target g2 Port p4 Groove l2 port p4
Target g2 Port p5 Groove l4 port p1
Target g2 Port p6 Groove l4 port p2
Testing apparatus Port p1 Ixia board I1 port p3
Testing apparatus Port p2 Ixia board I1 port p4
Testing apparatus Port p3 Ixia board I2 port p9
Testing apparatus Port p4 Ixia board I2 port p10
Table 1
At this, those skilled in the art are to be understood that, target g1 and target g2 both can be the hardware product that two have annexation, if target g1 is network element n1, target g2 is network element n2, they are connected back-to-back by four different physical ports, and no matter how how the slot at physical port place and port numbers change, and the logical port number at their places remains unchanged; Target g1 and target g2 also can be two software modules with annexation.At this, the numeral corresponding to the port in Fig. 5 only represents the port sequence number of the port of its corresponding target or equipment, but not the Reference numeral of this port.
In a further advantageous embodiment, can by the above-mentioned integrated equipment 1 for carrying out continuous integrating, combine with existing continuous integrating instrument, form a kind of new continuous integrating instrument, existing continuous integrating instrument comprises CruiseControl and LuntBuild, Hudson etc. as OpenSource.
Fig. 6 illustrates the equipment schematic diagram for carrying out continuous integrating in accordance with a preferred embodiment of the present invention, wherein, integrated equipment 1 comprises first order proving installation 11 ', first and merges device 12 ' and second level proving installation 13 ', wherein, first order proving installation 11 ' comprises precision determining unit 111 ' and first order test cell 112 '.Particularly, precision determining unit 111 ' is determined and the measuring accuracy that the first order corresponding to continuous integrating request is tested; The measuring accuracy that first order test cell 112 ' is tested according to the described first order, corresponding first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the described first order is tested; When described first order target detection use-case be performed by time, first merges device 12 ' is merged into corresponding first object and merges code by described one or more object code; Second level proving installation 13 ' is according to described continuous integrating request, code is merged to described first object and performs corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested.At this, the first merging device 12 ' is identical or substantially identical with the content of corresponding intrument in Fig. 1 embodiment with second level proving installation 13 ', for simplicity's sake, therefore does not repeat them here, and comprises by reference therewith.
Particularly, precision determining unit 111 ' is determined and the measuring accuracy that the first order corresponding to continuous integrating request is tested.At this, precision determining unit 111 ' determines that the mode of described measuring accuracy includes but not limited to following at least any one:
1) relevant information of the one or more object codes corresponding to described continuous integrating request, determines the measuring accuracy that the described first order is tested.At this, described relevant information includes but not limited to following at least any one: i) the application type information of described object code, as the product for civilian use, Aerospace Products etc.; Ii) described object code is performed to the machine utilization information of the testing apparatus of described first order target detection use-case.Such as, for object code as source code sourcecode c1, what select after supposing the operation of user A startup continuous integrating is unit testing, but do not specify corresponding measuring accuracy, if the product item that source code source code c1 is corresponding is Aerospace Products, it is higher to product quality, safety requirements, then precision determining unit 111 ' can determining unit test measuring accuracy be multistage measuring accuracy, to ensure function and the robustness of product; For another example, suppose that the product item that source code source code c1 is corresponding is the product for civilian use, its product quality requires relatively low relative to the quality requirements of Aerospace Products, then precision determining unit 111 ' can the measuring accuracy of determining unit test be the first measuring accuracy, namely only performs substantially or the test of most rough grade.Also as, when suppose that user A starts continuous integrating operation, the equipment and the load of integrated equipment 1 that perform test are fuller, then precision determining unit 111 ' can the measuring accuracy tested of determining unit be the first measuring accuracy, namely now only carries out basic test; And for example, when supposing that user A starts continuous integrating operation, perform the equipment of test and the load of integrated equipment 1 less time, then precision determining unit 111 ' can the measuring accuracy of determining unit test be multistage measuring accuracy.
2) determine according to pre-defined rule the measuring accuracy that the described first order is tested.At this, described pre-defined rule comprise as: in the test of every one-level, (namely the first order is tested, the second level is tested, the third level is tested) common equipment resource on set up and correspond to the first in first out (FIFO of each measuring accuracy, First In First Out) queue, the test request of all same measuring accuracies is waited for by first in first out decision queue in the queue, after continuous integrating request starts, if the non-nominative testing precision of user and working time, then first perform the test set (namely performing basic test) corresponding to the first measuring accuracy, when after the test set end of run corresponding to the first measuring accuracy, start following algorithm: to same one-level test, if test set interval working time of the FIFO head of the queue that the i-th measuring accuracy is corresponding is T (i) (i is measuring accuracy rank), in the fifo queue that i-th-1 measuring accuracy is corresponding, test set interval working time to be tested such as all is T1 (i-1), T2 (i-1) ... Tn (i-1) (n is queue length), if T (i) is less than T1 (i-1) ∪ T2 (i-1) ∪ ... ∪ Tn (i-1), i.e. T (i) period, without any (i-1) class precision test that plan runs in common equipment resource, then automatically run this i-th accuracy test.Preferably, also in conjunction with the selection of user to measuring accuracy, described measuring accuracy can be determined.In above-mentioned algorithm, can also using priority as input parameter, preferentially to perform the test be badly in need of instant (time critical) and run according to user's request.
Those skilled in the art will be understood that and above-mentionedly determine that the mode of the measuring accuracy that the described first order is tested is only citing; described in other determinations that are existing or that may occur from now on, the mode of the measuring accuracy of first order test is as being applicable to the present invention; also within scope should being included in, and this is contained at this with way of reference.
The measuring accuracy that first order test cell 112 ' is tested according to the described first order, corresponding first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the described first order is tested.At this, the mode that first order test cell 112 ' performs corresponding first order target detection use-case to the mode of the first order target detection use-case of described object code execution correspondence and first order proving installation 11 ' in Fig. 1 to described object code is identical or substantially identical, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
At this, those skilled in the art are to be understood that, above-mentioned precision determining unit 111 ' determines that the mode of the measuring accuracy that the described first order is tested is applicable to the measuring accuracy determining that the described second level is tested equally, is also applicable to the measuring accuracy determining that the described third level is tested.
Fig. 7 illustrates the method flow diagram for carrying out continuous integrating according to a further aspect of the present invention.
Particularly, in step sl, integrated equipment 1 is according to continuous integrating request, corresponding first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested; When described first order target detection use-case be performed by time, in step s 2, described one or more object code is merged into corresponding first object and merges code by integrated equipment 1; In step s3, integrated equipment 1 is according to described continuous integrating request, merge code to described first object and perform corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested.At this, integrated equipment 1 comprises for developing member's test, integrated source code with the continuous integration system or the platform that help project team member to find project risk and quality problems as early as possible for team in practice of software, and it can be realized by the mutually integrated equipment formed of network by the network equipment, subscriber equipment or the network equipment and subscriber equipment.At this, the described network equipment includes but not limited to as network host, single network server, multiple webserver collection or the realization such as set of computers based on cloud computing.At this, cloud is formed by based on a large amount of main frame of cloud computing (Cloud Computing) or the webserver, and wherein, cloud computing is the one of Distributed Calculation, the super virtual machine be made up of a group loosely-coupled computing machine collection.At this, described subscriber equipment can be that any one can to carry out the electronic product of man-machine interaction, such as desk-top computer, PC, MAC, PDA etc. with user by modes such as keyboard, touch pad, touch-screens.Described network includes but not limited to internet, wide area network, Metropolitan Area Network (MAN), LAN (Local Area Network), VPN, wireless self-organization network (Ad Hoc network) etc.Those skilled in the art will be understood that above-mentioned integrated equipment 1 is only citing; other network equipments that are existing or that may occur from now on or subscriber equipment are as being applicable to the present invention; also within scope should being included in, and this is contained at this with way of reference.At this, the network equipment and subscriber equipment include a kind of can according in advance setting or the instruction stored, automatically carry out the electronic equipment of numerical evaluation and information processing, its hardware includes but not limited to microprocessor, special IC (ASIC), programmable gate array (FPGA), digital processing unit (DSP), embedded device etc.
Particularly, in step sl, integrated equipment 1, first by the application programming interfaces (API) that such as continuous integrating equipment provides, obtains continuous integrating request, or, the application programming interfaces (API) that the user interface (as command line user interface, graphic user interface etc.) provided by continuous integrating equipment is corresponding, obtain the startup continuous integrating operation that user performs in the user interface, to obtain described continuous integrating request, or the communication mode of being arranged by http, https etc., obtains described continuous integrating request, then, again according to continuous integrating request, determine the first order target detection use-case of the one or more object codes corresponded to corresponding to described continuous integrating request, as from be pre-created in as described in filter out first order target detection use-case in test case under file directory corresponding to object code, or, according to the mapping relations between described object code and described first order target detection use-case, described first order target detection use-case is obtained from test case library matching inquiry, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested, then, then to this one or more object code described first order target detection use-case is performed.
At this, described object code comprises and stores from source code the source code controlling to change because of renewal, change, correction etc. in storehouse (source controlrepository) and/or Source code management (SCM, Source Code Management) system.At this, described source code stores control storehouse and source code management system can be arranged in integrated equipment 1, also can be arranged in the server be connected by network with integrated equipment 1.Those skilled in the art will be understood that above-mentioned object code is only citing, and other object codes that are existing or that may occur from now on, as being applicable to the present invention, within also should being included in scope, and are contained in this at this with way of reference.
At this, described first order test comprises unit testing, feature integration testing, and wherein, unit testing and feature integration testing include the test of different accuracy, namely test from the corresponding test case of different fine degree object code.At this, how described measuring accuracy reflects the corresponding measuring accuracy tested, the test of different measuring accuracy realizes by corresponding test case usually, wherein, described measuring accuracy includes but not limited to following at least any one: 1) the first measuring accuracy, and refer to and carry out basic test to verify its fundamental characteristics to object code, this accuracy test is shorter for usual working time, therefore, code only runs this accuracy test under merging front default condition usually; 2) the second measuring accuracy, refer to and test to determine further that the strong test of the problem that object code is possible is as pressure test, abnormality test, analytical test etc. to object code, this accuracy test is longer for usual working time; 3) by that analogy, test such as special test, static analysis test, the code coverage test etc. of other non-time critical can be classified as the 3rd measuring accuracy, and these tests need cost longer time, usually overnight or resource can with time run.Those skilled in the art will be understood that the foundation of above-mentioned measuring accuracy and division thereof is only citing; the foundation of other measuring accuracies that are existing or that may occur from now on and division thereof is as being applicable to the present invention; also within scope should being included in, and this is contained at this with way of reference.
Particularly, in step sl, integrated equipment 1, first by the application programming interfaces (API) that such as continuous integrating equipment provides, obtains continuous integrating request; Or, the application programming interfaces (API) that the user interface (as command line user interface, graphic user interface etc.) provided by continuous integrating equipment is corresponding, obtain the startup continuous integrating operation that user performs in the user interface, to obtain described continuous integrating request; Or the communication mode of being arranged by http, https etc., obtains described continuous integrating request.Such as, suppose that user A take part in the exploitation of software project as software w1, the component of software project software w1 is split as multiple sub-project, it is responsible for the exploitation of sub-project sub-item t1, after the source code source code c1 completing sub-project sub-item t1 as user A has developed, or in debug process, source code source code c1 is revised, it is wished by continuous integration system as CI1 carries out integrated so that determine whether can integrated success to source code source code c1, suppose that user A have selected the button starting continuous integrating operation at the graphic user interface of continuous integration system as CI1, then in step sl, integrated equipment 1 first by continuous integration system as CI1 the application programming interfaces (API) that provide, just the startup continuous integrating operation that user performs in the user interface can be got, namely the continuous integrating request of user A is got.
Those skilled in the art will be understood that the mode of above-mentioned acquisition continuous integrating request is only citing; the mode of other acquisition continuous integrating that is existing or that may occur from now on requests is as being applicable to the present invention; also within scope should being included in, and this is contained at this with way of reference.
Then, in step sl, integrated equipment 1 can according to this continuous integrating request, determine to correspond to this object code corresponding to continuous integrating request and the first order target detection use-case of source code source code c1, such as, connect example, after supposing that user A have selected the button starting continuous integrating operation at the graphic user interface of continuous integration system as CI1, also have selected following option as: unit testing (is, first measuring accuracy and the second measuring accuracy, working time 14:00), then in step sl, integrated equipment 1 can filter out first order target detection with such as 1 from the test case be pre-created in the file directory corresponding to object code and source code source code c1 stscale unit-test-cases, 2 stscale unit-test-cases, wherein, first order target detection use-case 1 stscale unit-test-cases is corresponding with the first measuring accuracy of the first order test corresponding to described continuous integrating request and unit testing, first order target detection use-case 2 stscale unit-test-cases is corresponding with the second measuring accuracy of the first order test corresponding to described continuous integrating request and unit testing.
Those skilled in the art will be understood that and above-mentionedly determine that the mode of described first order target detection use-case is only citing; described in other determinations that are existing or that may occur from now on, the mode of first order target detection use-case is as being applicable to the present invention; also within scope should being included in, and this is contained at this with way of reference.
Then, in step sl, integrated equipment 1 performs described first order target detection use-case to target source code and source code sourcecode c1 again, as first performed the first order target detection use-case 1 corresponding to the first measuring accuracy stscale unit-test-cases, and then perform the first order target detection use-case 2 corresponding to the second measuring accuracy stscale unit-test-cases; Or in step sl, first integrated equipment 1 performs the first order target detection use-case 1 corresponding to the first measuring accuracy stregression test case in scale unit-test-cases, then performs the first order target detection use-case 1 corresponding to the first measuring accuracy stnew test case in scale unit-test-cases; Similarly, in step sl, integrated equipment 1 is performing the first order target detection use-case 2 corresponding to the second measuring accuracy stduring scale unit-test-cases, first can perform first order target detection use-case 2 stregression test case in scale unit-test-cases, then performs first order target detection use-case 2 stnew test case in scale unit-test-cases.At this, at each test phase, if new test is passed through, if and do not specify other option, then new test case is using by the regression test tested as next round, preferably, under these use-cases will be automatically moved to corresponding regression test catalogue, without residue test case under new test catalogue.
Those skilled in the art will be understood that and are above-mentionedly only citing to the mode that object code performs described first order target detection use-case; other existing or may occur from now on the mode of described first order target detection use-case is performed as being applicable to the present invention to object code; also within scope should being included in, and this is contained at this with way of reference.
Preferably, in step sl, integrated equipment 1 also can according to continuous integrating request, to the one or more object code corresponding to described continuous integrating request and the first order target detection use-case relying on code execution correspondence thereof, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested.At this, described dependence code comprises when described object code realizes that other depends on the code of this object code, such as, if object code is as checked out in structure dependence corresponding to source code source code c1, source code source code c2 and source code c3 depends on source code source codec1, then when in step sl, when integrated equipment 1 couple of source code source code c1 performs first order target detection use-case, also described first order target detection use-case is performed in the lump to the file destination of the source code sourcecode c2 and source code c3 that depend on source code source code c1.Those skilled in the art will be understood that above-mentioned dependence code is only citing, and other dependence codes that are existing or that may occur from now on, as being applicable to the present invention, within also should being included in scope, and are contained in this at this with way of reference.
At this, in step sl, integrated equipment 1 is to the one or more object code corresponding to described continuous integrating request and rely on code and perform the mode of corresponding first order target detection use-case and in step sl aforementioned, the mode that integrated equipment 1 performs corresponding first order target detection use-case to the one or more object codes corresponding to described continuous integrating request is identical or substantially identical, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
Then, when described first order target detection use-case be performed by time, in step s 2, described one or more object code is merged into corresponding first object and merges code by integrated equipment 1.At this, when described first order test is for unit testing, described first object merges the feature branch (feature branch) in the project development code of code corresponding to described object code; When described first order test is for feature integration testing, described first object merging code is the system branch (system branch) in the project development code corresponding to described object code.
Such as, for object code as source code source code c1, suppose in step sl, integrated equipment 1 couple of source code source code c1 performs the first order target detection use-case 1 to corresponding to the first measuring accuracy stscale unit-test-cases and the first order target detection use-case 2 performed corresponding to the second measuring accuracy stscale unit-test-cases, first order target detection use-case 1 stscale unit-test-cases and 2 stwhen scale unit-test-cases is all performed and passes through, because of selection after the operation of user A startup continuous integrating is unit testing, namely the test of the first order corresponding to continuous integrating request of user A is unit testing, then in step s 2, source code source code c1 is merged into feature branch in the exploitation code of the software project software w1 corresponding to source code source code c1 as feature branch f1 by integrated equipment 1.
For another example, for object code as source code source code c1, what select after supposing the operation of user A startup continuous integrating is feature integration testing, its measuring accuracy is the first measuring accuracy, namely the test of the first order corresponding to continuous integrating request of user A is feature integration testing, in step sl, what integrated equipment 1 couple of source code source code c1 performed is that the first order target detection as corresponding in the first measuring accuracy with the measuring accuracy of feature integration testing uses such as 1 stscale feature-test-cases, when this test case be performed pass through time, in step s 2, source code source code c1 is merged into system branch in the exploitation code of the software project software w1 corresponding to source code source code c1 as system branchb1 by integrated equipment 1.
Then, in step s3, integrated equipment 1, according to described continuous integrating request, merges code to described first object and performs corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested.At this, the test of the described second level comprises feature set and becomes test and System Integration Test, and wherein, feature integration testing and System Integration Test include the test of different accuracy, namely test from the corresponding test case of different fine degree object code.Preferably, when described first order test is for unit testing, the test of the described second level is feature integration testing; When described first order test is for feature integration testing, the test of the described second level is System Integration Test.At this, the measuring accuracy of second level test and the aforementioned first order measuring accuracy implication of testing and division thereof according to similar, for simplicity's sake, therefore do not repeat them here, and be contained in this with way of reference.
Particularly, in step s3, integrated equipment 1 is first according to described continuous integrating request, determine that described first object merges the second level target detection use-case of code, as from be pre-created in as described in first object merge corresponding to code file directory under test case in filter out second level target detection use-case, or, the mapping relations between code and described second level target detection use-case are merged according to described first object, described second level target detection use-case is obtained from test case library matching inquiry, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested, then, then to this first object merging code described second level target detection use-case is performed.
At this, in step s3, integrated equipment 1 mode of determining described second level target detection use-case with in step sl, integrated equipment 1 determines that the mode of described first order target detection use-case is identical or substantially identical, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
At this, in step s3, integrated equipment 1 to described first object merge executive mode that code performs described second level target detection use-case with in step sl, the executive mode that integrated equipment 1 performs described first order target detection use-case to described object code is identical or substantially identical, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
Preferably, in step s3, integrated equipment 1 also can according to described continuous integrating request, code is merged to described first object and performs corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested, and the measuring accuracy of described second level test is corresponding with the measuring accuracy that the described first order is tested.At this, the implication that the measuring accuracy of described second level test is corresponding with the measuring accuracy that the described first order is tested includes but not limited to following at least any one: 1) measuring accuracy tested of the measuring accuracy tested of the described second level and the described first order is identical, as when as described in the first order test measuring accuracy be the first measuring accuracy and the second measuring accuracy time, correspondingly, the measuring accuracy of described second level test also performs the second measuring accuracy; For another example, when the measuring accuracy that the described first order is tested is only the first measuring accuracy, the measuring accuracy of described second level test is also the first measuring accuracy; 2) measuring accuracy tested lower than the described first order of the measuring accuracy of described second level test, as described in the measuring accuracy tested of the first order high, and the measuring accuracy that the described second level is tested can be relatively lower.Those skilled in the art will be understood that the measuring accuracy the tested the second level described above implication corresponding with the measuring accuracy that the described first order is tested is only citing; the measuring accuracy of other described second level that are existing or that may occur the from now on tests implication corresponding with the measuring accuracy that the described first order is tested is as being applicable to the present invention; also within scope should being included in, and this is contained at this with way of reference.
Such as, for object code as source code source code c1, what select after supposing the operation of user A startup continuous integrating is unit testing, its measuring accuracy is the first measuring accuracy, namely the test of the first order corresponding to continuous integrating request of user A is unit testing, in step sl, integrated equipment 1 couple of source code source code c1 only performs the first order target detection use-case 1 corresponding with the first measuring accuracy of unit testing stscale unit-test-cases; And when this test case 1 stwhen scale unit-test-cases is performed and passes through, in step s 2, source code source code c1 is merged into feature branch in the exploitation code of the software project software w1 corresponding to source code source code c1 as feature branch f1 by integrated equipment 1; Because first order test is unit testing, then in step s3, integrated equipment 1 can determine that this second level test corresponding to continuous integrating request is for feature integration testing, its measuring accuracy is identical with the measuring accuracy of unit testing, namely be also the first measuring accuracy, namely in step s3, integrated equipment 1 can perform the second level target detection use such as 1 corresponding with measuring accuracy i.e. first measuring accuracy of second level test and feature integration testing to feature branch feature branch f1 stscalefeature-test-cases.
Constant work between each step of integrated equipment 1.Particularly, in step sl, integrated equipment 1 continues according to continuous integrating request, corresponding first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested; When described first order target detection use-case be performed by time, in step s 2, integrated equipment 1 continues described one or more object code to be merged into corresponding first object and merges code; In step s3, integrated equipment 1 continues according to described continuous integrating request, merge code to described first object and perform corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested.At this, constantly carry out between each step that those skilled in the art are to be understood that " continuing " refers to integrated equipment 1 that first order target detection use-case is performed to the object code corresponding to continuous integrating request respectively, described object code be merged into corresponding first object and merge code, code is merged to described first object perform corresponding second level target detection use-case, until integrated equipment 1 stops the described continuous integrating request of acquisition in a long time.
Preferably, integrated equipment 1 also to comprise step S4(not shown).Particularly, in step s 4 which, whether integrated equipment 1 detects to meet and carries out the test availability trigger condition of testing according to described first order target detection use-case; When meeting described test availability trigger condition, in step sl, integrated equipment 1 performs described first order target detection use-case to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested.
Particularly, in step s 4 which, whether integrated equipment 1 detects to meet and carries out the test availability trigger condition of testing according to described first order target detection use-case.At this, described test availability trigger condition include but not limited to as: 1), first order target detection use-case can be used; 2) allow to perform described first order target detection use-case to the one or more object codes corresponding to described continuous integrating request; 3) all mandatory file required when performing described first order target detection use-case to described object code is all available.Those skilled in the art will be understood that above-mentioned test availability trigger condition is only citing; other test availability trigger conditions that are existing or that may occur from now on are as being applicable to the present invention; also within scope should being included in, and this is contained at this with way of reference.
Such as, for object code as source code source code c1, what select after supposing the operation of user A startup continuous integrating is unit testing, its measuring accuracy is the first measuring accuracy, namely the test of the first order corresponding to continuous integrating request of user A is unit testing, and the first order target detection use-case corresponding with the first measuring accuracy of unit testing is 1 stscaleunit-test-cases, then in step s 4 which, integrated equipment 1 is by checking first order target detection use-case 1 stamendment request (MR, the Modification Request) state of the document that scale unit-test-cases is corresponding and source code respective design document determines whether to meet according to first order target detection use-case 1 stscale unit-test-cases carries out the described test availability trigger condition of testing, at this, described MR state comprises establishment (create), assigns (assign), submits (submit) to, closes (close) etc., only have when document MR state is for submitting to or closing, specification documents completes, suppose in step s 4 which, integrated equipment 1 is by checking first order target detection use-case 1 stthe document properties of the document that scale unit-test-cases is corresponding, finds first order target detection use-case 1 stthe MR state of the document that scale unit-test-cases is corresponding is for submitting to, then in step s 4 which, integrated equipment 1 can judge to meet according to first order target detection use-case 1 stscale unit-test-cases carries out the test availability trigger condition of testing.
Those skilled in the art will be understood that whether above-mentioned detection meets the mode of carrying out the test availability trigger condition of testing according to described first order target detection use-case and be only citing; whether other detections that are existing or that may occur from now on meet is carried out the mode of the test availability trigger condition of testing as being applicable to the present invention according to described first order target detection use-case; also within scope should being included in, and this is contained at this with way of reference.
When meeting described test availability trigger condition, in step sl, integrated equipment 1 performs described first order target detection use-case to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested.At this, when meeting described test availability trigger condition, in step sl, integrated equipment 1 performs the executive mode of described first order target detection use-case and in step sl aforementioned to described object code, the executive mode that integrated equipment 1 performs described first order target detection use-case to described object code is identical or substantially identical, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
Preferably, integrated equipment 1 also to comprise step S5(not shown) and step S6(not shown).Particularly, when described second level target detection use-case be performed by time, in step s 5, described object code is merged into the second corresponding target and merges code by integrated equipment 1; In step s 6, integrated equipment 1 is according to described continuous integrating request, merge code to described second target and perform corresponding third level target detection use-case, wherein, described third level target detection use-case is corresponding with the measuring accuracy that the third level corresponding to described continuous integrating request is tested.
Particularly, when described second level target detection use-case be performed by time, in step s 5, described object code is merged into the second corresponding target and merges code by integrated equipment 1.At this, described second target merging code comprises the system branch (system branch) in the project development code corresponding to described object code, now, described first order test is unit testing, and described first object merges the feature branch (feature branch) in the project development code of code corresponding to described object code.
At this, in step s 5, described object code is merged into the second corresponding target and merges the merging mode of code and in step s 2 aforementioned by integrated equipment 1, the merging mode that described object code is merged into corresponding first object merging code by integrated equipment 1 is identical or substantially identical, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
In step s 6, integrated equipment 1 is according to described continuous integrating request, merge code to described second target and perform corresponding third level target detection use-case, wherein, described third level target detection use-case is corresponding with the measuring accuracy that the third level corresponding to described continuous integrating request is tested.At this, described third level test comprises System Integration Test, now, described first order test is unit testing, the test of the described second level is feature integration testing, wherein, described System Integration Test comprises the test of different accuracy, namely tests from the corresponding test case of different fine degree object code.At this, the implication of the measuring accuracy that measuring accuracy, the second level that the measuring accuracy of described third level test and the described first order are tested are tested and division according to similar, for simplicity's sake, therefore do not repeat them here, and be contained in this with way of reference.
Particularly, in step s 6, integrated equipment 1 is first according to described continuous integrating request, determine that described second target merges the third level target detection use-case of code, as from be pre-created in as described in the second target merge corresponding to code file directory under test case in filter out third level target detection use-case, or, the mapping relations between code and described third level target detection use-case are merged according to described second target, described third level target detection use-case is obtained from test case library matching inquiry, wherein, described third level target detection use-case is corresponding with the measuring accuracy that the third level corresponding to described continuous integrating request is tested, then, then to this second target merging code described third level target detection use-case is performed.
At this, in step s 6, integrated equipment 1 mode of determining described third level target detection use-case with in step sl, integrated equipment 1 determines that the mode of described first order target detection use-case is identical or substantially identical, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
At this, in step s 6, integrated equipment 1 to described second target merge executive mode that code performs described third level target detection use-case with in step sl, the executive mode that integrated equipment 1 performs described first order target detection use-case to described object code is identical or substantially identical, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
Preferably, for second level target detection use-case and third level target detection use-case, the present invention can perform similar above-mentioned detection equally and whether meet the testing mechanism carrying out the test availability trigger condition of testing according to described first order target detection use-case, namely in step s3, before integrated equipment 1 performs described second level target detection use-case to described first object merging code, whether the present invention can detect to meet and carry out the test availability trigger condition of testing according to described second level target detection use-case, similarly, in step s 6, before integrated equipment 1 performs described third level target detection use-case to described second target merging code, whether the present invention also can detect to meet and carry out the test availability trigger condition of testing according to described third level target detection use-case.
In a preferred embodiment, when the test of the described first order be unit testing, the test of the described second level for feature integration testing time, described third level test is System Integration Test, the test of each type includes the test case of corresponding different measuring accuracy, for dissimilar test (i.e. unit testing, feature integration testing, System Integration Test) and corresponding measuring accuracy, user carries out appointment selection by the user interface of integrated equipment 1 of the present invention, as when user's activation lasts is integrated, following option can be specified flexibly on a user interface:
1) unit testing (Yes/No, measuring accuracy, working time);
2) feature branch (Yes/No, branch's name, working time) is automatically merged into;
3) feature integration testing (Yes/No, measuring accuracy, working time);
4) system branch (Yes/No, working time) is automatically merged into;
5) System Integration Test (Yes/No, measuring accuracy, working time);
6) branch's (if specify, all dependence branches will run together) is relied on.
Namely, in integrated equipment 1 of the present invention, user specifies by user interface and carries out unit testing, feature integration testing and System Integration Test, and selects corresponding measuring accuracy etc.; Also only can specify as required on a user interface and carry out unit testing or feature integration testing, etc.; For the integrated configuration that user does not specify, can perform according to the default configuration of integrated equipment 1.As Fig. 3 illustrates the continuous integration system schematic diagram of integrated equipment 1 of the present invention, preferably, in the present invention, the input of integrated equipment 1 is the source code collection based on changing in the code from source code control store storehouse checked by Source code management, as changed user, code in need is with after supporting a certain feature, he/her is integrated by the user interface activation lasts of integrated equipment 1 in the present invention, and integrated equipment 1 can complete continuous integrating automatically in the present invention, namely the test case automatically performing many accuracy tests is collected (or selection), unit testing, process check, object code is merged into feature branch, feature integration testing, object code is merged into system branch, System Integration Test.Preferably, integrated equipment 1 of the present invention is also by the test result of every one-phase is reported to user by report and announcement server automatically automatically.Preferably, at each test phase of robotization continuous integrating, before integrated equipment 1 of the present invention all will check and confirm to merge code, dependence test step is successfully completed, and perform in step s 4 which similar, whether the detection performed by integrated equipment 1 meets according to target detection use-case (as first order target detection use-case, second level target detection use-case, third level target detection use-case) carry out the test availability trigger condition of testing detection operation, as shown in Figure 3, if any test or detecting step failure, then all corresponding main bodys are by automatic notified fault or problem, only after all solid barriers and problem are removed (at least eliminating test failure or the problem of the first measuring accuracy), continuous integrating process is just proceeded, ensure that the development quality of product, avoid during agile development, important flow process such as document and examination are left in the basket, find early and solve the quality problems existed in performance history.If just find relevant issues and fault to the product item later stage, then cost of dealing with problems is very large, probably causes project delay or project failure.
Preferably, user also can, at the appointed time according to demand, select the unit testing/feature integration testing/System Integration Test of the different measuring accuracy of independent operating or code to merge.If it is selected " automatically to merge " option, file conflict occurs, and the owner of source code should be pointed out, and before continuous integrating advances, he/her needs to solve conflict.
At this, the present invention to allow to carry out continuous integrating at different measuring accuracy or different test-types based on user's request, improves continuous integrating efficiency and user's continuous integrating operating experience by providing user interface flexibly.
In a preferred embodiment, under normal circumstances, particularly for feature integration testing and System Integration Test, dissimilar integrated test case can be similar or or even identical.In this case, only need simply to increase the symbol file/directory link between System Integration Test use-case to the integrated test case of feature or between the integrated test case of feature to unit testing use-case, just enough.Similarly, an integrated test case of feature can be disparate modules design.In this case, only need under primary module catalogue, log on this test case file and increase respective symbol file chaining for remaining module in respective directories.At this, the present invention establishes the mapping structure between unit testing use-case, the integrated test case of feature and System Integration Test use-case, allows simple combination to construct all test cases.
In a preferred embodiment, target detection use-case of the present invention (as first order target detection use-case, second level target detection use-case, third level target detection use-case) includes regression test case and new test case, as shown in Figure 4, so that when performing the test of each type, all can perform regression test case and new test case to object code, object code is being performed to described regression test case and new test case, the test case that can correspond to again different measuring accuracy is carried out stage by stage.At this, the numeral corresponding to the assembly in Fig. 4 only represents the sequence number of its corresponding assembly, but not the Reference numeral of this assembly.
In a further advantageous embodiment, target detection use-case of the present invention in the design process, for providing dirigibility and expansibility (being namely easy to extend in other similar products), write by all target detection use-case logic-based test environments.Fig. 5 illustrates the logic testing environment schematic with two targets and a testing apparatus, as shown in Figure 5, two target g1 and target g2 with annexation, wherein, target g1 and target g2 is connected back-to-back by 4 logic ports (port p1 is to port p4).Meanwhile, these two targets are connected to testing apparatus by another logic port respectively to (port p5 and port p6).At this, described testing apparatus comprises the testing apparatus of implementation of test cases, as integrated equipment 1 of the present invention.This logic testing environment does not rely on actual physical configuration conduit and port etc.For each fc-specific test FC environment, the corresponding relation of mapping logic port and physical port can be carried out by the mapping table defined in configuration file as shown in the following Table 2.When physical environment changes, such as, because backboard problem conduit number changes, or, because institute's plate card characteristic changing causes port numbers to change, only need revise corresponding configuration mapping table and keep logic testing environment constant, then original test case will remain valid and normally work.
Target Logic port Physical port
Target g1 Port p1 Groove l1 port p1
Target g1 Port p2 Groove l1 port p2
Target g1 Port p3 Groove l3 port p5
Target g1 Port p4 Groove l3 port p6
Target g1 Port p5 Groove l1 port p3
Target g1 Port p6 Groove l1 port p4
Target g2 Port p1 Groove l2 port p1
Target g2 Port p2 Groove l2 port p2
Target g2 Port p3 Groove l2 port p3
Target g2 Port p4 Groove l2 port p4
Target g2 Port p5 Groove l4 port p1
Target g2 Port p6 Groove l4 port p2
Testing apparatus Port p1 Ixia board I1 port p3
Testing apparatus Port p2 Ixia board I1 port p4
Testing apparatus Port p3 Ixia board I2 port p9
Testing apparatus Port p4 Ixia board I2 port p10
Table 2
At this, those skilled in the art are to be understood that, target g1 and target g2 both can be the hardware product that two have annexation, if target g1 is network element n1, target g2 is network element n2, they are connected back-to-back by four different physical ports, and no matter how how the slot at physical port place and port numbers change, and the logical port number at their places remains unchanged; Target g1 and target g2 also can be two software modules with annexation.At this, the numeral corresponding to the port in Fig. 5 only represents the port sequence number of the port that its corresponding target or equipment have, but not the Reference numeral of this port.
Fig. 8 illustrates the method flow diagram for carrying out continuous integrating in accordance with a preferred embodiment of the present invention.
Wherein, the method comprising the steps of S1 ', step S2 ' and step S3 ', wherein, step S1 ' comprises step S11 ' and step S12 '.Particularly, in step S11 ', integrated equipment 1 is determined and the measuring accuracy that the first order corresponding to continuous integrating request is tested; In step S12 ', the measuring accuracy that integrated equipment 1 is tested according to the described first order, corresponding first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the described first order is tested; When described first order target detection use-case be performed by time, in step S2 ', described one or more object code is merged into corresponding first object and merges code by integrated equipment 1; In step S3 ', integrated equipment 1 is according to described continuous integrating request, merge code to described first object and perform corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested.At this, step S2 ' is identical or substantially identical with the content of corresponding step in Fig. 7 embodiment with step S3 ', for simplicity's sake, therefore does not repeat them here, and comprises by reference therewith.
Particularly, in step S11 ', integrated equipment 1 is determined and the measuring accuracy that the first order corresponding to continuous integrating request is tested.At this, in step S11 ', integrated equipment 1 determines that the mode of described measuring accuracy includes but not limited to following at least any one:
1) relevant information of the one or more object codes corresponding to described continuous integrating request, determines the measuring accuracy that the described first order is tested.At this, described relevant information includes but not limited to following at least any one: i) the application type information of described object code, as the product for civilian use, Aerospace Products etc.; Ii) described object code is performed to the machine utilization information of the testing apparatus of described first order target detection use-case.Such as, for object code as source code sourcecode c1, what select after supposing the operation of user A startup continuous integrating is unit testing, but do not specify corresponding measuring accuracy, if the product item that source code source code c1 is corresponding is Aerospace Products, it is higher to product quality, safety requirements, then in step S11 ', integrated equipment 1 can determining unit test measuring accuracy be multistage measuring accuracy, to ensure function and the robustness of product; For another example, suppose that the product item that source code source code c1 is corresponding is the product for civilian use, its product quality requires relatively low relative to the quality requirements of Aerospace Products, then in step S11 ', integrated equipment 1 can the measuring accuracy of determining unit test be the first measuring accuracy, namely only performs substantially or the test of most rough grade.Also as, when suppose that user A starts continuous integrating operation, the equipment and the load of integrated equipment 1 that perform test are fuller, then, in step S11 ', integrated equipment 1 can the measuring accuracy tested of determining unit be the first measuring accuracy, namely now only carries out basic test; And for example, when supposing that user A starts continuous integrating operation, perform the equipment of test and the load of integrated equipment 1 less time, then in step S11 ', integrated equipment 1 can the measuring accuracy of determining unit test be multistage measuring accuracy.
2) determine according to pre-defined rule the measuring accuracy that the described first order is tested.At this, described pre-defined rule comprise as: in the test of every one-level, (namely the first order is tested, the second level is tested, the third level is tested) common equipment resource on set up and correspond to the first in first out (FIFO of each measuring accuracy, First In First Out) queue, the test request of all same measuring accuracies is waited for by first in first out decision queue in the queue, after continuous integrating request starts, if the non-nominative testing precision of user and working time, then first perform the test set (namely performing basic test) corresponding to the first measuring accuracy, when after the test set end of run corresponding to the first measuring accuracy, start following algorithm: to same one-level test, if test set interval working time of the FIFO head of the queue that the i-th measuring accuracy is corresponding is T (i) (i is measuring accuracy rank), in the fifo queue that i-th-1 measuring accuracy is corresponding, test set interval working time to be tested such as all is T1 (i-1), T2 (i-1) ... Tn (i-1) (n is queue length), if T (i) is less than T1 (i-1) ∪ T2 (i-1) ∪ ... ∪ Tn (i-1), i.e. T (i) period, without any (i-1) class precision test that plan runs in common equipment resource, then automatically run this i-th accuracy test.Preferably, also in conjunction with the selection of user to measuring accuracy, described measuring accuracy can be determined.In above-mentioned algorithm, can also using priority as input parameter, preferentially to perform the test be badly in need of instant (time critical) and run according to user's request.
Those skilled in the art will be understood that and above-mentionedly determine that the mode of the measuring accuracy that the described first order is tested is only citing; described in other determinations that are existing or that may occur from now on, the mode of the measuring accuracy of first order test is as being applicable to the present invention; also within scope should being included in, and this is contained at this with way of reference.
In step S12 ', the measuring accuracy that integrated equipment 1 is tested according to the described first order, corresponding first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the described first order is tested.At this, in step S12 ', integrated equipment 1 to perform in the mode of corresponding first order target detection use-case and Fig. 7 in step S1 ' to described object code, the mode that integrated equipment 1 performs corresponding first order target detection use-case to described object code is identical or substantially identical, for simplicity's sake, therefore do not repeat them here, and comprise by reference therewith.
At this, those skilled in the art are to be understood that, above-mentioned in step S11 ', integrated equipment 1 determines that the mode of the measuring accuracy that the described first order is tested is applicable to the measuring accuracy determining that the described second level is tested equally, is also applicable to the measuring accuracy determining that the described third level is tested.
It should be noted that the present invention can be implemented in the assembly of software and/or software restraint, such as, special IC (ASIC), general object computing machine or any other similar hardware device can be adopted to realize.In one embodiment, software program of the present invention can perform to realize step mentioned above or function by processor.Similarly, software program of the present invention (comprising relevant data structure) can be stored in computer readable recording medium storing program for performing, such as, and RAM storer, magnetic or CD-ROM driver or flexible plastic disc and similar devices.In addition, steps more of the present invention or function can adopt hardware to realize, such as, as coordinating with processor thus performing the circuit of each step or function.
In addition, a part of the present invention can be applied to computer program, such as computer program instructions, when it is performed by computing machine, by the operation of this computing machine, can call or provide according to method of the present invention and/or technical scheme.And call the programmed instruction of method of the present invention, may be stored in fixing or moveable recording medium, and/or be transmitted by the data stream in broadcast or other signal bearing medias, and/or be stored in the working storage of the computer equipment run according to described programmed instruction.At this, comprise a device according to one embodiment of present invention, this device comprises the storer for storing computer program instructions and the processor for execution of program instructions, wherein, when this computer program instructions is performed by this processor, trigger this plant running based on the aforementioned method according to multiple embodiment of the present invention and/or technical scheme.
To those skilled in the art, obviously the invention is not restricted to the details of above-mentioned one exemplary embodiment, and when not deviating from spirit of the present invention or essential characteristic, the present invention can be realized in other specific forms.Therefore, no matter from which point, all should embodiment be regarded as exemplary, and be nonrestrictive, scope of the present invention is limited by claims instead of above-mentioned explanation, and all changes be therefore intended in the implication of the equivalency by dropping on claim and scope are included in the present invention.Any Reference numeral in claim should be considered as the claim involved by limiting.In addition, obviously " comprising " one word do not get rid of other unit or step, odd number does not get rid of plural number.Multiple unit of stating in device claim or device also can be realized by software or hardware by a unit or device.First, second word such as grade is used for representing title, and does not represent any specific order.

Claims (15)

1., for carrying out a method for continuous integrating, wherein, the method comprises:
A is according to continuous integrating request, corresponding first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested;
B when described first order target detection use-case be performed by time, described one or more object code is merged into corresponding first object and merges code;
C is according to described continuous integrating request, and merge code to described first object and perform corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested.
2. method according to claim 1, wherein, described step a comprises:
A1 determines and the measuring accuracy that the first order corresponding to continuous integrating request is tested;
-the measuring accuracy tested according to the described first order, corresponding first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the described first order is tested.
3. method according to claim 2, wherein, described step a1 comprises:
The relevant information of-one or more object codes corresponding to described continuous integrating request, determines the measuring accuracy that the described first order is tested.
4. according to the method in any one of claims 1 to 3, wherein, the method also comprises:
The whether satisfied test availability trigger condition of carrying out testing according to described first order target detection use-case of-detection;
Wherein, described step a comprises:
-when meeting described test availability trigger condition, described first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested.
5. method according to any one of claim 1 to 4, wherein, described step a comprises:
-according to continuous integrating request, to the one or more object code corresponding to described continuous integrating request and the first order target detection use-case relying on code execution correspondence thereof, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested.
6. method according to any one of claim 1 to 5, wherein, described step c comprises:
-according to described continuous integrating request, code is merged to described first object and performs corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested, and the measuring accuracy of described second level test is corresponding with the measuring accuracy that the described first order is tested.
7. method according to any one of claim 1 to 6, wherein, the method also comprises:
-when described second level target detection use-case be performed by time, described object code is merged into the second corresponding target and merges code;
-according to described continuous integrating request, merge code to described second target and perform corresponding third level target detection use-case, wherein, described third level target detection use-case is corresponding with the measuring accuracy that the third level corresponding to described continuous integrating request is tested.
8. for carrying out an integrated equipment for continuous integrating, wherein, this integrated equipment comprises:
First order proving installation, for according to continuous integrating request, corresponding first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested;
First merges device, for be performed when described first order target detection use-case by time, described one or more object code is merged into corresponding first object merging code;
Second level proving installation, for according to described continuous integrating request, merge code to described first object and perform corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested.
9. integrated equipment according to claim 8, wherein, described first order proving installation comprises:
Precision determining unit, for determining and the measuring accuracy that the first order corresponding to continuous integrating request is tested;
First order test cell, for the measuring accuracy tested according to the described first order, corresponding first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the described first order is tested.
10. integrated equipment according to claim 9, wherein, described precision determining unit is used for:
The relevant information of-one or more object codes corresponding to described continuous integrating request, determines the measuring accuracy that the described first order is tested.
Integrated equipment according to any one of 11. according to Claim 8 to 10, wherein, this integrated equipment also comprises:
Pick-up unit, carries out the test availability trigger condition of testing for detecting whether to meet according to described first order target detection use-case;
Wherein, described first order proving installation is used for:
-when meeting described test availability trigger condition, described first order target detection use-case is performed to the one or more object codes corresponding to described continuous integrating request, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested.
Integrated equipment according to any one of 12. according to Claim 8 to 11, wherein, described first order proving installation is used for:
-according to continuous integrating request, to the one or more object code corresponding to described continuous integrating request and the first order target detection use-case relying on code execution correspondence thereof, wherein, described first order target detection use-case is corresponding with the measuring accuracy that the first order corresponding to described continuous integrating request is tested.
Integrated equipment according to any one of 13. according to Claim 8 to 12, wherein, described second level proving installation is used for:
-according to described continuous integrating request, code is merged to described first object and performs corresponding second level target detection use-case, wherein, described second level target detection use-case is corresponding with the measuring accuracy that the second level corresponding to described continuous integrating request is tested, and the measuring accuracy of described second level test is corresponding with the measuring accuracy that the described first order is tested.
Integrated equipment according to any one of 14. according to Claim 8 to 13, wherein, this integrated equipment also comprises:
Second merges device, for be performed when described second level target detection use-case by time, described object code is merged into the second corresponding target merging code;
Third level proving installation, for according to described continuous integrating request, merge code to described second target and perform corresponding third level target detection use-case, wherein, described third level target detection use-case is corresponding with the measuring accuracy that the third level corresponding to described continuous integrating request is tested.
15. 1 kinds of continuous integrating equipment for software development, wherein, this continuous integrating equipment comprises the integrated equipment according to any one of claim 8 to 14.
CN201410010763.4A 2014-01-09 2014-01-09 Method and equipment used for carrying out continuous integration Pending CN104778032A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410010763.4A CN104778032A (en) 2014-01-09 2014-01-09 Method and equipment used for carrying out continuous integration
PCT/IB2015/000148 WO2015104635A2 (en) 2014-01-09 2015-01-08 Method and apparatus for performing continuous integration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410010763.4A CN104778032A (en) 2014-01-09 2014-01-09 Method and equipment used for carrying out continuous integration

Publications (1)

Publication Number Publication Date
CN104778032A true CN104778032A (en) 2015-07-15

Family

ID=52829232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410010763.4A Pending CN104778032A (en) 2014-01-09 2014-01-09 Method and equipment used for carrying out continuous integration

Country Status (2)

Country Link
CN (1) CN104778032A (en)
WO (1) WO2015104635A2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843651A (en) * 2016-03-31 2016-08-10 广州华多网络科技有限公司 Method, device and system for managing continuous integration processing script
CN105912461A (en) * 2016-04-05 2016-08-31 浪潮电子信息产业股份有限公司 Test method and system for software agility
WO2017020770A1 (en) * 2015-07-31 2017-02-09 中兴通讯股份有限公司 Lxc-based continuous integration method and device
CN106502758A (en) * 2016-10-26 2017-03-15 安徽扬远信息科技有限公司 A kind of method based on Scrum Agile Software Development continuous integratings
CN106649127A (en) * 2016-12-29 2017-05-10 广东浪潮大数据研究有限公司 Automatic testing method and model suitable for software agile development
CN108205492A (en) * 2016-12-20 2018-06-26 阿尔卡特朗讯 For the method and apparatus of the Test Driven Development in continuous integrating frame
CN108399082A (en) * 2017-02-08 2018-08-14 中兴通讯股份有限公司 A kind of generation method and system of continuous integrating assembly line
CN108572912A (en) * 2017-09-22 2018-09-25 北京金山云网络技术有限公司 A kind of continuous integrating method, apparatus, electronic equipment and storage medium
CN109062818A (en) * 2018-10-24 2018-12-21 郑州云海信息技术有限公司 A kind of continuous integration system test method and device
CN109634678A (en) * 2019-01-07 2019-04-16 烽火通信科技股份有限公司 A kind of method and system for flexibly supporting a variety of boards

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10310969B2 (en) 2017-05-31 2019-06-04 Oracle International Corporation Systems and methods for test prediction in continuous integration environments
CN110554954B (en) * 2019-07-19 2020-12-01 中国科学院软件研究所 Test case selection method combining static dependency and dynamic execution rule

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101515232A (en) * 2008-02-21 2009-08-26 卓望数码技术(深圳)有限公司 Software continuous integration system and method
CN101571798A (en) * 2008-04-29 2009-11-04 环达电脑(上海)有限公司 Method for generating and using automatic test script
CN101957778A (en) * 2010-09-19 2011-01-26 华为技术有限公司 Software continuous integration method, device and system
US8037453B1 (en) * 2006-09-13 2011-10-11 Urbancode, Inc. System and method for continuous software configuration, test and build management
WO2013165367A1 (en) * 2012-04-30 2013-11-07 Hewlett-Packard Development Company L.P. Prioritization of continuous deployment pipeline tests

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090265693A1 (en) * 2008-04-18 2009-10-22 International Business Machines Corporation Method and system for test run prioritization for software code testing in automated test execution

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037453B1 (en) * 2006-09-13 2011-10-11 Urbancode, Inc. System and method for continuous software configuration, test and build management
CN101515232A (en) * 2008-02-21 2009-08-26 卓望数码技术(深圳)有限公司 Software continuous integration system and method
CN101571798A (en) * 2008-04-29 2009-11-04 环达电脑(上海)有限公司 Method for generating and using automatic test script
CN101957778A (en) * 2010-09-19 2011-01-26 华为技术有限公司 Software continuous integration method, device and system
WO2013165367A1 (en) * 2012-04-30 2013-11-07 Hewlett-Packard Development Company L.P. Prioritization of continuous deployment pipeline tests

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017020770A1 (en) * 2015-07-31 2017-02-09 中兴通讯股份有限公司 Lxc-based continuous integration method and device
CN105843651B (en) * 2016-03-31 2019-10-11 广州华多网络科技有限公司 A kind of methods, devices and systems of management continuous integrating processing script
CN105843651A (en) * 2016-03-31 2016-08-10 广州华多网络科技有限公司 Method, device and system for managing continuous integration processing script
CN105912461A (en) * 2016-04-05 2016-08-31 浪潮电子信息产业股份有限公司 Test method and system for software agility
CN106502758A (en) * 2016-10-26 2017-03-15 安徽扬远信息科技有限公司 A kind of method based on Scrum Agile Software Development continuous integratings
CN108205492A (en) * 2016-12-20 2018-06-26 阿尔卡特朗讯 For the method and apparatus of the Test Driven Development in continuous integrating frame
CN106649127A (en) * 2016-12-29 2017-05-10 广东浪潮大数据研究有限公司 Automatic testing method and model suitable for software agile development
CN108399082A (en) * 2017-02-08 2018-08-14 中兴通讯股份有限公司 A kind of generation method and system of continuous integrating assembly line
WO2018145559A1 (en) * 2017-02-08 2018-08-16 中兴通讯股份有限公司 Method and system for generating continuous integration pipeline
CN108399082B (en) * 2017-02-08 2022-11-15 中兴通讯股份有限公司 Method and system for generating continuous integration assembly line
CN108572912A (en) * 2017-09-22 2018-09-25 北京金山云网络技术有限公司 A kind of continuous integrating method, apparatus, electronic equipment and storage medium
CN109062818A (en) * 2018-10-24 2018-12-21 郑州云海信息技术有限公司 A kind of continuous integration system test method and device
CN109634678A (en) * 2019-01-07 2019-04-16 烽火通信科技股份有限公司 A kind of method and system for flexibly supporting a variety of boards

Also Published As

Publication number Publication date
WO2015104635A2 (en) 2015-07-16
WO2015104635A3 (en) 2015-11-19

Similar Documents

Publication Publication Date Title
CN104778032A (en) Method and equipment used for carrying out continuous integration
US11163731B1 (en) Autobuild log anomaly detection methods and systems
US10318595B2 (en) Analytics based on pipes programming model
Tan et al. Making k-object-sensitive pointer analysis more precise with still k-limiting
EP2976716B1 (en) Prioritization of tests of computer program code
US10346292B2 (en) Software component recommendation based on multiple trace runs
US20170286276A1 (en) Method of Detecting False Test Alarms Using Test Step Failure Analysis
US20160283345A1 (en) Application Execution Path Tracing With Configurable Origin Definition
CN103246602A (en) Code coverage rate confirming method, code coverage rate confirming system, code coverage rate detecting method and code coverage rate detecting system
US9612946B2 (en) Using linked data to determine package quality
US20160239400A1 (en) Embedding and executing trace functions in code to gather trace data
CN105765561B (en) Production versus development usage determination from trace data
US20160162539A1 (en) Computer executable method of generating analysis data and apparatus performing the same and storage medium for the same
US9645873B2 (en) Integrated configuration management and monitoring for computer systems
US20190220549A1 (en) Analysis model preparing system, programming apparatus, and analysis model preparing method
EP2972880B1 (en) Kernel functionality checker
US20130091511A1 (en) Predicting the Impact of Change on Events Detected in Application Logic
Fornaia et al. Is my code easy to port? using taint analysis to evaluate and assist code portability
Singh et al. ARCHI4MOM: Using Tracing Information to Extract the Architecture of Microservice-Based Systems from Message-Oriented Middleware
CN102279793A (en) Method for measuring dependability of component based on entropy
KR101411266B1 (en) Event processing method using hierarchical structure and event processing engine and system thereof
KR101461821B1 (en) Event processing method using hierarchical structure and system performing the same
US10198289B2 (en) Relating user action flows by storing relationships between threads and objects
CN116467205A (en) Application detection method, electronic device and computer readable storage medium
US20190057018A1 (en) Intelligent expansion of system information collection

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150715