CN104050083A - Condition/Decision-coverage-oriented test data automatic generation method - Google Patents
Condition/Decision-coverage-oriented test data automatic generation method Download PDFInfo
- Publication number
- CN104050083A CN104050083A CN201410271284.8A CN201410271284A CN104050083A CN 104050083 A CN104050083 A CN 104050083A CN 201410271284 A CN201410271284 A CN 201410271284A CN 104050083 A CN104050083 A CN 104050083A
- Authority
- CN
- China
- Prior art keywords
- branch
- branch node
- path
- function
- node
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 106
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000013598 vector Substances 0.000 claims abstract description 120
- 230000011218 segmentation Effects 0.000 claims description 13
- 239000012141 concentrate Substances 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 abstract description 15
- 230000006870 function Effects 0.000 description 123
- 238000012804 iterative process Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 239000007943 implant Substances 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
The invention discloses a condition/decision-coverage-oriented test data automatic generation method. Test data with which branch nodes can be covered are looked for according to condition/decision coverage criteria, so that a test data set of source codes to be tested is generated. The step that the test data with which the branch nodes can be covered are looked for according to the condition/decision coverage criteria is achieved in a method that an input vector set is constructed through a random method first, operational analysis is conducted on the input vector set, then the input vector set is expanded in a linear fitting means, and the test data with which the branch nodes can be covered according to the condition/decision coverage criteria are obtained through repeated iteration. The method is highly automated, unit testing efficiency can be improved as much as possible, test cost is lowered, and test coverage criteria oriented toward condition/decision of the nodes are supported.
Description
Technical field
The present invention relates to a kind of automatic generation of test data, particularly the generation method of the test case data of automation cell test conditional/judging coverage.
Background technology
Measuring technology is to ensure one of most important and effective method of software systems quality, is also the topmost means of industry member assurance software systems correctness all the time.Be subject to the restriction of computing power and time, space resources, test cannot all possible execution of limit software, and in practice, various test sufficient degree criterions are used to drive and assessment test process.Therefore, how the test sufficient degree criterion towards given, generate corresponding test case set, with the execution of driver, covers corresponding structure, becomes the sport technique segment of most critical in test process.The basic dependence of design of test case at present completes manually, not only waste time and energy, and the validity of use-case is also difficult to be guaranteed.How automatically for various test sufficient degree criterions, to generate effective test case, become one of hot issue of Testing Technology Study.
Test coverage towards condition/judgement (is called for short: C/DC, be Condition/Decision Coverage) criterion, to apply more a kind of white box testing sufficient degree criterion, it requires the test case that design is enough, what make each condition in judging likely corrects to few execution once, each judgement simultaneously likely result of determination at least carry out once.For instance, judgement statement S=A and (B or C), wherein, A, B, C are the condition in judging.When ABC value is TTF, S value is T; When ABC value is FFT, S value is F.Test set under TTF, FFT}, and each condition, all there is the value situation of T and F in condition ABC, and also there is the value of T and F in judgement statement S.
Theoretical research is verified, and not having general effective algorithm can be any condition value combination producing test input of judging arbitrarily in program.Existing research work can be divided into based on static analysis with based on Dynamic Execution two class methods.Method based on static analysis cannot effectively be processed the Nonlinear Constraints in judgement, and dynamic approach is easily absorbed in local best points and cannot finds feasible input, and they exist significant limitation when processing practical problems.
In Science and engineering problem, conventionally can adopt methods such as sampling, experiment to obtain some discrete data, according to these data, we often wish to obtain one approach actual function or more discrete equation and the given data of crypto set match, this process is called matching.Linear fit is fairly simple matching mode, and data point is used straight line to connect, and result is a polygon.Linear fit is simple and easy to use, and it can obtain approximating function within the shorter time, has shortened the previous work amount of algorithm automatic Data Generation Test.
Summary of the invention
Problem to be solved by this invention is automatically to build test data (test case) for source program to be tested, make to carry out under these test datas source program to be tested can cover this source program to be tested all judgements possible value and judge in the possible value of all conditions, complete condition/judging coverage.
For addressing the above problem, the scheme that the present invention adopts is as follows:
A kind of automatic generation of test data covering towards condition criterion, comprise and analyze the step of set that source program to be measured obtains the associated path collection of the set in all paths of source program to be measured and the set B S of all branch nodes and branch node, the method also comprises carries out following steps to each the branch node B in branch node collection BS:
S1: concentrate each condition that is positioned at B (containing B) each branch node before on each path according to the associated path of B, build the branch function F about input variable vector X
k, i, j(X); Described input variable vector X is the vector that described source program input variable to be measured forms; Described branch function F
k, i, j(X) represent the branch function of j condition of upper i the branch node of path k; Described path k is through branch node B;
S2: build initial input vector collection U; Described initial input vector collection U at least comprises two input vectors;
S3: calculate using in input vector collection U when each input vector is carried out source program to be measured as the input of source program to be measured, on each path k associated with described branch node B, be positioned at B before each branch function F on each branch node of (containing B)
k, i, j(X) the set V of acquisition branch function value and farthest public branch node m
k; Execution route when carrying out source program to be measured calculate the judgement of B during through branch node B and judge in the value of each condition; If while existing an input vector to carry out source program to be measured in input vector collection U execution route through branch node B and make the judgement of B or judge in certain condition produce new value, record this input vector as a test data of described branch node B; If the test data set of described branch node B covered the judgement of B and judge in each condition institute value likely, return to this test data set as the test data set of described branch node B;
S4: according to the associated path of branch node B concentrate on the k of each path, be positioned at B before set V and the common node m farthest of each branch function value on each branch node of (containing B)
kon build path k, be positioned at common node m farthest
kbefore (containing m
k) the fitting function LF of each branch function of each branch node
k, i, j; LF
k, i, jthe linear fit function of the branch function of j condition of upper i the branch node of expression path k;
S5: according to the linear fit function LF of each branch function of each branch node of (containing B) before being arranged in B on each path associated with B
k, i, jand source program to be measured calculates I between feasible region;
S6: the input value of choosing at random each input variable between feasible region in I obtains test data set and is added in input vector collection U;
S7: repeated execution of steps S3 to S6 is until the number of times that step S3 to S6 carries out reaches the number of times of restriction;
S8: return to the test data of described branch node B of all records as the test data set of described branch node B.
Further, according to the automatic generation of test data covering towards condition criterion of the present invention, the initial input vector collection U described in described step S2 comprises Ni+1 input vector, the number that described Ni is input variable; Initial input vector collection U={u
0, u
1, u
2..., u
ni, wherein
U
i={ u
i, 1, u
i, 2..., u
i, Ni; Input vector u
0for random generation, u
iwith u
0meet relation:
i wherein, j ∈ 1,2 ..., Ni}.
Further, according to the automatic generation of test data covering towards condition criterion of the present invention, described step S3 comprises:
S31: obtain unenforced input vector u from input vector collection U
t;
S32: judge unenforced input vector u
twhether exist; If there is not unenforced input vector, execution step
S34; Otherwise execution step S33;
S33: according to u
tcarry out the public branch node m that source code to be measured obtains the path of execution and concentrated each path k of the associated path of branch node B
k,t, the branch function F of each branch node of (containing B) before being positioned at branch node B on calculating path k
k, i, j(X) value, each branch function F of each branch node of all associated path of B
k, i, j(X) value forms set V; If carry out
Path is through branch node B, and the path of carrying out is an associated path of branch node B, according to the branch function value of each condition in the judgement of B in this associated path obtain the judgement of branch node B and judge in the value of each condition; If B sentences
Fixed or judgement conditional has produced new value, records this input vector as a test data of described branch node B; If the test data set of B covered the judgement of B and judge in each condition institute value likely, return to this test data set and do
For the test data set of described branch node B and finish whole branch node B to generate the process of test data.
S34 the: from { m of each associated path k record of the B of branch
k, 1, m
k, 2..., m
k, TUin choose public branch node m farthest
k.
Further, according to the automatic generation of test data covering towards condition criterion of the present invention, described step S4 comprises the following steps:
S41: the associated path of input vector collection U and B concentrate and be positioned at B on the k of each path before set V and the common node m farthest of each branch function value of each branch node of (containing B)
kbuild coordinate set V
k, y, z, j={ (u
1, j, F
k, y, z(u
1, j)), (u
2, j, F
k, y, z(u
2, j)) ..., (u
tU, j, F
k, y, z(u
tU, j));
S42: with V
k, y, z, j={ (u
1, j, F
k, y, z(u
1, j)), (u
2, j, F
k, y, z(u
2, j)) ..., (u
tU, j, F
k, y, z(u
tU, j)) interior two adjacent coordinate points structure F
k, y, z(x
j) linear fit function LF
k, y, z(x
j)=p
j* x
j+ q
j, obtain parameter set LFPQ
k, i, j={ (p
1, q
1), (p
2, q
2) ..., (p
ni, q
ni);
Wherein, V
k, y, z, jthe coordinate set that represents corresponding j the input variable of z branch function of upper y the branch node of path k, wherein y≤m; u
i,jvalue for j input variable of i input vector in input vector collection U; F
k, y, z(x
j) be the function of z branch function of upper y the node of path k about j input variable; LF
k, y, z(x
j) be the linear fit function of z branch function of upper y the node of path k about j input variable; LFPQ
k, i, jparameter set for the linear fit function of j branch function of upper i the node of path k.
Further, according to the automatic generation of test data covering towards condition criterion of the present invention, described step S5 comprises:
S51: D between the feasible region of each each branch function of branch node of (containing B) before being arranged in branch node B on each associated path k of Branch Computed Node B
k, i, j;
S52: merge D between the feasible region of each branch function in each branch node
k, i, jobtain D between the feasible region of each branch node
k,i;
S53: merge public branch node m farthest
kd between the feasible region of each front branch node
k,iobtain I between the feasible region of branch node B on associated path k
k.
S54: merge I between the feasible region of branch node B on each associated path k
k, obtain I between the feasible region of branch node B.
Further, according to the automatic generation of test data covering towards condition criterion of the present invention, I={I between described feasible region
1, I
2..., I
s, wherein, the number that s is input variable, I
ibe between the feasible region of i input variable, I
i={ I
i, 1, I
i, 2..., I
i, Mi, wherein, I
i,jbe that j possible segmentation of i input variable is interval, Mi is i input variable possible segmentation interval number, in described step S6, when Mi is 1, from I
ibe the unique piecewise interval I between the feasible region of i input variable
i, 1expansion area between in random value build test data.
A machine readable media, stores instruction set on this computer-readable recording medium, when this instruction set is performed, makes this machine can carry out the above-mentioned automatic generation of test data covering towards condition criterion of the present invention.
Technique effect of the present invention is as follows:
1, the inventive method, without the data dependence relation between each statement on routine analyzer path, adopts the mode of Dynamic Execution, automatically determines the linear fit function of branch's predicate, and efficiency is high.
2, can effectively process the Nonlinear Constraints in path, and adopt the mode of dynamic step length expansion, well solve that dynamic approach is easily absorbed in local best points and the problem that cannot find feasible input.
3, can effectively process the compound condition constraint in path, convert compound condition predicate equivalence to branch function grouping, utilize linear fit function to determine fast the available interval of input variable.
4, constraint solver adopts the method for linear fit to solve constrained system, makes full use of the advantage that linear fit function is simple and easy to use; If branch function is linear about input variable, the linear fit function function itself obtaining fits like a glove, if branch function is nonlinear about input variable, the linear fit function comprehensively obtaining on each interval, can estimate the roughly situation of branch function, along with the continuous execution of program, more for the data of function assignment, the function information that estimation obtains is just more accurate.In theory, when enough hour of the interval of digital simulation function, the linear fit function of acquisition just can enough be pressed close to the truth of function, to automatic generation accurately test data just more have directive significance.
5, the inventive method is increasingly automated, can improve as much as possible the efficiency of unit testing, reduces testing cost.
6, the inventive method can be good at seating surface to the Test coverage criterion of condition/judgement.
Accompanying drawing explanation
Fig. 1 is the present invention's source program code example to be measured.
Fig. 2 is the process flow diagram of step S3 of the present invention.
Embodiment
Below in conjunction with Figure of description, the present invention is described in further details.
One, the ultimate principle of CLFF automatic generation of test data
CLFF automatic generation of test data, the test data automatic generating calculation based on linear fit function drive, is the application of linear fit technology in test data generates automatically.Specifically, first source program to be measured is carried out obtaining all paths of source program to be measured and all branch nodes after lexical analysis, grammatical analysis and semantic analysis, then for each branch node generate separately a set of test data (test case) make this test data can cover the judgement of this node and judge in institute's value likely of each condition, the corresponding a set of test data of each branch node, all branch nodes of test source program can access test data set.
When generating test data for certain branch node, first at random generate input data, then according to these input data, carry out source program to be measured, analyze its execution result, according to execution result, construct new test data after by linear fit, then according to new test data, carry out source program to be measured, analyze its execution result, according to execution result, construct new test data after by linear fit again, repeat above-mentioned steps until exist one group of test data can cover the judgement of this branch node and judge in all values combinations of each condition.In addition, here also exist analyzed branch node forever cannot cover all value combinations of judgement/condition, in this case, by to cycle count until cycle index stops while reaching a certain limit value, then can cover the judgement of this branch node and judge that the input data of a certain value of conditional return as test data.
Therefore, how of the present invention focusing on, carry out linear fit and how according to linear fit, to construct new test data according to execution result.
Two, build branch function
Step S1 of the present invention, for according to each condition of each branch node of (containing B) before being positioned at B on the concentrated every paths of the associated path of described branch node B, builds the branch function F about input variable vector X
k, i, j(X).This step is referred to as building branch function.
The associated path collection of branch node: the set in the path of process branch node.
Condition has two kinds, and a kind of is Boolean expression: Bool (X); For Boolean expression, branch function F
k, i, j(X)=Bool (X).Another kind is the condition that comprises conditional operator, is expressed as: L (X) rel R (X), rel ∈ >,>=,=, ≠ ,≤, < }; Here rel represents conditional operator, and L (X) represents the expression formula in conditional operator left side, and R (X) represents the expression formula on conditional operator right side, so, and branch function F
k, i, j(X)=L (X)-R (X).That is to say, branch function is the canonical representation of condition, and any condition can be expressed as following form: F
k, i, j(X) rel0, rel ∈ >,>=,=, ≠ ,≤, < }.Conventionally on each branch node, comprise a plurality of conditions, carry out after the canonical representation of condition, the logical expression of k upper i the branch node in path associated with described branch node B can be expressed as: c
k, i=F
k, i, 1(X) rel
10op
1f
k, i, 2(X) rel
20op
2... op
s-1f
k, i, s(X) rel
s0, op here
irepresent with (And) or or logical operator (Or), s represents the quantity of condition on upper i the branch node of path k.
Except above-mentioned canonical representation, the branch function of structure also has the mapping process of a parameter, namely by branch function F
k, i, j(X) Parameter Mapping makes branch function F to the vectorial X of input variable
k, i, j(X) be the function about input variable vector X.For specific path k, branch function F
k, i, j(X) funtcional relationship and between input variable vector X is determined.As shown in Figure 1, in the example source code of C language compilation, always have 6 paths: be respectively: path 1:P1 → C1 → P2 → C2 → P4 → P6; Path 2:P1 → C1 → P2 → C2 → C3 → P5 → P6; Path 3:P1 → C1 → P2 → C2 → C3 → P6; Path 4:P1 → C1 → P3 → C2 → P4 → P6; Path 5:P1 → C1 → P3 → C2 → C3 → P5 → P6; Path 6:P1 → C1 → P3 → C2 → C3 → P6.In program, one has three branch node: C1, C2, C3.The path collection associated with branch node C1: path 1,2,3,4,5,6; The path collection associated with branch node C2: path 1,2,3,4,5,6; The path collection associated with branch node C3: path 2,3,5,6.Example function has 3 inputs to be respectively a, b, c, wherein the condition of C2 branch node is d+e>100, and under the definite situation in path, d and e are with respect to a, b, the input of c is determined, can be expressed as d=D (a, b, c) and e=E (a, b, c), the branch function of this condition is defined as: F
k, i, j(X)=D (X)-E (X), X={a, b, c}.Thus, for arbitrary input x={a
x, b
x, c
x, branch function F
k, i, j(X) all can directly calculate a concrete functional value.Take path 4 as example, d=(a-b) * 2, e=b, can obtain the branch function F of unique condition of C2 branch node thus
4,2,1(a, b, c)=d+e-100=(a-b) * 2+b-100=2*a-b-100.Take path 2 as example, d=(a-b) * 2, e=d=(a-b) * 2, can obtain the branch function F of unique condition of C2 branch node thus
2,2,1(a, b, c)=d+e-100=(a-b) * 4-100.That is to say, under different paths, the branch function of the similarity condition of same branch node may be different.But under the path of having determined, branch function determined about the function of input variable.
The input of this step is each condition of each branch node of (containing B) before source program to be measured is positioned at B in each path on the associated path collection of branch node B, and output is the branch function F of corresponding conditions
k, i, j(X).Here X is input variable vector, the vector consisting of source program input variable to be measured.Branch function F
k, i, j(X) represent the branch function of j condition of upper i the branch node of path k, the span of i and j depends on the conditional number on branch node number on path, branch node place and each branch node; Path k is through branch node B.
It should be noted that, here path is by source program to be measured is carried out to lexical analysis, grammatical analysis and semantic analysis, final analysis obtains a certain paths that source program Program path to be tested is concentrated, and described branch node B concentrates the some branch nodes in the program branches set of node that the branch node in all paths forms by Program path.It will be appreciated by those skilled in the art that to source program to be measured carry out lexical analysis, grammatical analysis belongs to prior art, its specific implementation details neither the present invention be wanted main topic of discussion category.Those skilled in the art it is also understood that, source program to be measured is being carried out after lexical analysis, grammatical analysis and semantic analysis, can first to each condition of all branch nodes of source program to be measured, build branch function, obtain a total branch function collection, then according to the branch node of (containing B) before being positioned at B in each paths on the path collection associated with branch node B, from this total branch function, concentrate and choose corresponding branch function.
Three, build initial input vector collection
This step is aforesaid step S2.
Because the present invention builds between feasible region by linear fit, then between feasible region, choose test data.And linear fit at least needs two data samples.Therefore,, when building initial input vector collection U, initial input vector collection U at least comprises two input vectors.Here, the corresponding aforesaid input variable vector of input vector X.Each element of input vector is corresponding the concrete value of the corresponding input variable of source program to be measured.Input vector in initial input vector collection U is by generating at random, and each element in input vector is by generating at random.Linear fit to better implement the present invention.In the present invention, preferentially adopt and build with the following method initial input vector collection U:
Initial input vector collection U comprises Ni+1 input vector, the number that Ni is input variable; Initial input vector collection U={u
0, u
1, u
2..., u
ni, u wherein
i={ u
i, 1, u
i, 1, u
i, 2..., u
i, Ni.In this Ni+1 input vector, wherein first input vector, i.e. input vector u
0for random generation.U
iwith u
0meet relation:
i wherein, j ∈ 1,2 ..., Ni}.
The benefit of design is like this, for certain branch function F
i,j(X) while carrying out linear fit, each input variable can be carried out respectively, and avoids multilinear fitting, and all variablees can obtain carrying out the data of effective linear fit simultaneously.Take the path 4 of previous example is example, and C2 node branch function is F
4,2,1=2*a-b-100.Four input vectors supposing input vector collection are respectively: u
0=0 ,-3 ,-2}, u
1=4 ,-3 ,-2}, u
2=0,9 ,-2}, u
3=0 ,-3,7}.Wherein, input vector u
0, u
1in, the value of input variable b and c is identical, is respectively-3 and-2, now, can build the linear fit function LF about input variable a
4,2,1(a)=2*a-97.In like manner, according to input vector u
0, u
2can build the linear fit function LF about input variable b
4,2,1(b)=-1*b-100.
Four, run time version and statistics
This step is aforesaid step S3.
Being input as of this step: the associated path collection of input vector collection U, branch node B and source program to be measured.Be output as: each branch function F of each branch node of (containing B) before being positioned at branch node B on concentrated each path k of associated path of the branch node B that each input vector is corresponding
k, i, j(X) the set V that value forms, and with the branch node of the common path farthest m of path k
k.
Concrete process can realize by the flow process shown in Fig. 2, comprises step S31, S32, S33, S34.
S31, obtains unenforced input vector u from input vector collection U
t.Step S3~S6 is the process of iterative loop.Input vector collection U is along with iteration cycle process changes, the iteration for the first time of iterative loop be input as initial input vector collection U, initial input vector collection U is obtained by abovementioned steps S2.Because the n time iterative process and front iterative process several times repeat to some extent, in the input vector collection U of the n time iterative process, part input vector has been carried out step S33 by front iterative process several times.Consider treatment effeciency, the input vector of this part repetition does not need to repeat to perform step S33 again.Therefore, only need to from input vector collection U, choose those unenforced input vector execution step S33.
S32, judges unenforced input vector u
twhether exist.This step is the determining step of the extension of S31.If unenforced input vector u
tdo not exist, represent that in input vector collection U, each input vector has all been carried out step S33, perform step S34.If unenforced input vector u
texist, to this input vector u
texecution step S33.
S33, according to u
tcarry out the public branch node m that source code to be measured obtains the path of execution and each associated path k of branch node B
k, t, and the branch function F of (containing B) each branch node before being positioned at branch node B on the k of compute associations path
k, i, j(X) value.The execution source code to be measured here can be that simulation is carried out.Implementation method is the mode by pitching pile, implants pitching pile code in source code to be measured.Pitching pile code can monitor the result that each step of source code to be measured is carried out and the path of carrying out the process of source code to be measured.The second implementation method be on each associated path k of direct Branch Computed Node B, be positioned at branch node B before the branch function F of (containing B) each branch node
k, i, j(X) value, then according to branch function F
k, i, j(X) corresponding condition c
k,ianalyze the path P of its execution
t.Under the first implementation method, comprise three steps: implant pitching pile code, carry out source program to be measured, the associated path of Branch Computed Node B concentrate and be positioned at B on the k of each path before the branch function F of each branch node of (containing B)
k, i, j(X) value.And under the second implementation method, the associated path of carrying out source program to be measured and Branch Computed Node B concentrate and to be positioned at B on the k of each path before the branch function F of each branch node of (containing B)
k, i, j(X) value can a step complete.Therefore the present invention preferentially adopts the second implementation method.Arbitrary input vector u
tcarry out after source code to be measured, can obtain performed path P
tconcentrate the public branch node m of path k with the associated path of branch node B
k, t.For input vector collection U={u
1, u
2..., u
kU, public branch set of node M that can associated path k
k={ m
k, 1, m
k, 2..., m
k, TU, and branch function F
k, i, j(X) the set V={V of value
1, V
2..., V
tU.The TU here represents the number of element in input vector collection U.The public branch node m here
k,t(wherein, t ∈ 1,2 ..., input vector u KU}) representing for target under branch node
tpublic partial node farthest under the k of path.Input vector u
tpublic branch node under the k of path is according to input vector u
tcarry out performed path P after source code to be measured
twith last branch node in the overlapping part of path k.Correspondingly, the branch function F on the associated path k of calculating B
k, i, j(X) value also refers to according to input vector u
tcarry out performed path P after source code to be measured
twith the branch function F in each condition of the branch node of path k lap
k, i, j(X) value, also gather in V
F wherein
k,i(u
t)={ F
k, i, 1(u
t), F
k, i, 2(u
t) ..., F
k, i, iM(u
t).The code flow of take in Fig. 1 is example.It is P1 → C1 → P2 → C2 → P4 → P6 that the associated path of branch node C2 is concentrated an associated path path 1.And a certain input vector u
t=0 ,-3, and under-2}, after the code in execution graph 1, the path P obtaining
t(being path 3) is: P1 → C1 → P2 → C2 → C3 → P6, overlapping path is: P1 → C1 → P2 → C2, so public branch node m
1, t=C2, or represent by the subscript of second branch node: m
1, t=2.Correspondingly, each branch function F
1, i, j(X) value is: F
1,1,1=a-b=3; F
1,2,1=(a-b) * 4-100=-88.The path P of carrying out
t: P1 → C1 → P2 → C2 → C3 → P6 is through branch node C2, P
t(being path 3) is the associated path of branch node C2, according to the branch function value F of each condition in the judgement of C2 on this associated path path 3
3,2,1=(a-b) * 4-100=-88 (on path 3, second branch node is branch node C2) to obtain the value of judging e+d>100 of branch node C2 be vacation, the value of judging conditional e+d>100 is also false; If this judgement/condition value combination (be judged to be vacation, judge that conditional is as vacation) makes certain condition in the judgement of C2 or judgement produce new value, record this input vector u
t={ 0 ,-3 ,-2} is as a test data of described branch node C2; If the test data set of C2 covered the judgement of C2 and judge in each condition institute value likely, return to this test data set as the test data set of described branch node C2 and finish whole branch node B to generate the process of test data.
S34, to every associated path k of branch node B from { m
k, 1, m
k, 2..., m
k, TUmiddle path selection k public branch node m farthest
k.Due to the public branch node m here
k,t(wherein, t ∈ 1,2 ..., TU}) be branch node subscript, therefore, associated path k public branch node m farthest
k=max{m
k, 1, m
k, 2..., m
k, TU.
It should be noted that the public branch node m farthest here
kbefore branch node B, (comprise Node B).
Five, linear fit
This step is aforesaid step S4.
The set V of each branch function value and the node of the public branch farthest m of each associated path before being positioned at B on each associated path k that is input as branch node B of this step on each branch node of (containing B)
k.These two outputs that input is all step S3.Be output as: the node of the public branch farthest m of each associated path k of branch node B
kthe linear fit function LF of each branch function in each front branch node
k, i, j.Here LF
k, i, jthe linear fit function that represents j branch function of path upper i the branch of k.It should be noted that the node of the public branch farthest m here
kbefore comprise public branch node m farthest
k.According to aforementioned input vector U={u
1, u
2..., u
tU, the set V={V of branch function value
1, V
2..., V
tU, can obtain input vector coordinate set: { (u
1, V
1), (u
2, V
2) ..., (u
tU, V
tU).Z the branch function F for upper arbitrary y the branch node of path k
k, y, z(X) can obtain coordinate set V
k, y, z={ (u
1, F
k, y, z(u
1)), (u
2, F
k, y, z(u
2)) ..., (u
tU, F
k, y, z(u
tU)).
Linear fit function LF
k, i, jthe mode realizing is a lot, and following have three kinds of embodiments:
The embodiment of the first linear fit is to adopt multiple linear regression matching.According to coordinate set V
k, y, zand multilinear fitting function
(wherein, the number that Ni is input variable), the multilinear fitting function LF that can calculate
k, y, z(X) coefficient { a
0, a
1..., a
ni, thereby complete the structure of linear fit function.
Second and the embodiment of the third linear fit be all that each input variable is carried out to simple linear fit one by one.First by F
k, y, z(X) be considered as about input variable x
j(x
jrepresent j input variable, wherein j ∈ 1,2 ..., N
i, N
inumber for input variable) function F
k, y, z(x
j), according to coordinate set V
k, y, zcan obtain about input variable x
jcoordinate set be: V
k, y, z,
j={ (u
1, j, F
k, y, z(u
1, j)), (u
2, j, F
k, y, z(u
2, j)) ..., (u
tU, j, F
k, y, z(u
tU, j)), wherein, u
i,jthe value that represents j input variable in i input vector.F
k, y, z(x
j) linear fit function LF
k, y, z(x
j)=p
j* x
j+ q
j.
The embodiment of the second linear fit is with coordinate set V
k, y, z, jinterior all data build F as measured data by least square method
k, y, z(x
j) linear fit function LF
k, y, z(x
j)=p
j* x
j+ q
j.Have:
The embodiment of the third linear fit is with coordinate set V
k, y, z, j={ (u
1, j, F
k, y, z(u
1, j)), (u
2, j, F
k, y, z(u
2, j)) ..., (u
tU, j, F
k, y, z(u
tU, j)) interior two adjacent coordinate points structure F
k, y, z(x
j) linear fit function LF
k, y, z(x
j)=p
j* x
j+ q
j.Work as u
t,j≠ u
t+1, jtime,
Due to Vk,
y, z,
jin there is TU coordinate, therefore, according to above-mentioned rule, can obtain in theory TU-1 linear fit function.Can adopt rearmounted rule for this reason, always with latter two adjacent coordinate points, build linear fit function.Such as, if u
tU, j≠ u
tU-1, j,
If u
tU, j=u
tU-1, j=...=u
tU-t+1, j≠ u
tU-t, j,
Second and the output of the embodiment of the third linear fit be public branch node m farthest
keach branch function LF in each front branch node
k, i, jcan obtain linear fit function LF
k, i, jthe parameter set LFPQ about each input variable
k, i, j={ (p
1, q
1), (p
2, q
2) ..., (p
ni, q
ni), the number that wherein Ni is input variable.Linear fit function LF
k, i, jby parameter set LFPQ
k, i, jrepresent.
The embodiment of the first linear fit adopts the mode of multiple linear regression to have many measured data restrictions.So embodiment of the preferential employing second of the present invention and the third linear fit.Because linear fit is iterative process, input vector collection U increases in iteration, therefore, and the linear fit parameter p that adopts the embodiment of the third linear fit to obtain
jand q
jthan the embodiment of the second linear fit changing property more.Therefore, to take the embodiment of the third linear fit be optimum embodiment in the present invention.
For convenience of follow-up explanation, the output { a of the embodiment of the first linear fit
0, a
1..., a
nican convert two and the output LFPQ of the embodiment of the third linear fit to
k, i, j={ (p
1, q
1), (p
2, q
2) ..., (p
ni, q
ni), conversion can adopt following method: p
i=a
i; q
i=F
y,z(u
1)-u
1, i* a
i.Thus, the embodiment of three kinds of linear fits possesses the Output rusults of same format or type.
Six, the calculating between feasible region
This step is aforesaid step S5.
Between feasible region, refer to produce through branch node B and cover branch node B complete condition/judgements cover the judgement lacking and judge in the feasible interval that may value combines of each condition.
The logical expression c of i the branch node of (not containing B) before being positioned at B on associated path k with branch node B
k,ifor example, c
k,i=F
k, i, 1(X) rel
10op
1f
k, i, 2(X) rel
20op
2... op
s-1f
k, i, s(X) rel
s0, op here
irepresent with (And) or or logical operator (Or), s represents the quantity of condition on upper i the branch node of path k.When carrying out source code to be measured, cover the part of (containing B) before being positioned at branch node B on the associated path k of branch node B and require logical expression c
k,ibe false.Wherein, certain branch function F
k, i, j(X) be greater than at 0 o'clock, logical expression c
k,ibe likely just false, this means and only have the F of working as
k, i, j(X) be greater than at 0 o'clock, could cover the part of (containing B) before being positioned at branch node B on the associated path k of branch node B.When X is positioned at interval D
k, i, jtime, meet F
k, i, j(X) be greater than 0, interval D
k, i, jfor between feasible region.Due to interval D
k, i, jwith branch function F
k, i, j(X) corresponding, interval D
k, i, jbe called again branch function F
k, i, j(X) between feasible region.Merge logical expression c
k,id between the feasible region of each interior branch function
k, i, jcan obtain logical expression c
k,ifeasible region between D
k,i.Logical expression c
k,ifeasible region between D
k,ibe called again between the feasible region of upper i the branch node of path k.
Take again the logical expression c of associated path k top set Node B (supposing h the branch node of B on the k of path) of branch node B
k,hfor example, c
k,h=F
k, h, 1(X) rel
10op
1f
k, h, 2(X) rel
20op
2... op
s-1f
k, h, s(X) rel
s0, op here
irepresent with (And) or or logical operator (Or), s represents the quantity of condition on upper h the branch node of path k.When carrying out source code to be measured, cover B and complete condition/judgements and cover the judgement/condition value lacking and combine and require logical expression c
k,hbe false.Wherein, certain branch function F
k, h, j(X) (j ≠ w) is greater than at 0 o'clock, logical expression c
k,hbe likely just vacation and F
k, h, j(X) rel
jthe condition of 0 correspondence obtains unlapped value.This means and only have the F of working as
k, h, j(X) be greater than at 0 o'clock, could cover B and complete the judgement/condition value combination that condition/judgement covering lacks.When X is positioned at interval D
k, h, jtime, meet F
k, h, j(X) be greater than 0, interval D
k, h, jfor between feasible region.Due to interval D
k, h, jwith branch function F
k, h, j(X) corresponding, interval D
k, h, jbe called again branch function F
k, h, j(X) between feasible region.Merge logical expression c
k,hd between the feasible region of each interior branch function
k, h, jcan obtain logical expression c
k,hfeasible region between D
k,h.Logical expression c
k,hfeasible region between D
k,hbe called again between the feasible region of upper h the branch node of path k.
Merge public branch node m farthest
kd between the feasible region of each front branch node
k,ican obtain I between the feasible region of branch node B on associated path k
k.Therefore, step S5 is divided into following four steps:
S51: D between the feasible region of each each branch function of branch node of (containing B) before being arranged in branch node B on each associated path k of Branch Computed Node B
k, i, j;
S52: merge D between the feasible region of each branch function in each branch node
k, i, jobtain D between the feasible region of each branch node
k,i;
S53: merge public branch node m farthest
kd between the feasible region of each front branch node
k,iobtain I between the feasible region of branch node B on associated path k
k.
S54: merge I between the feasible region of branch node B on each associated path k
k, obtain I between the feasible region of branch node B.
In step S51, branch function F
k, i, j(X) D between feasible region
k,, jby branch function F
k, i, j(X) corresponding linear fit function LF
k, i, j(X) calculate and obtain.The embodiment of aforementioned three kinds of linear fits is output as LFPQ
k, i, j={ (p
1, q
1), (p
2, q
2) ..., (p
ni, q
ni).Use LFPQ
k, i, jthe linear fit function LF representing
k, i, j(X) be the linear fit collection of functions defining respectively by each input variable, calculating D between feasible region
k, i, jtime, can adopt in the same way, by each input variable, calculate respectively inequation LF
k, i, j(x
k) rel
i0=p
k* x
k+ q
krel
i0 about x
winterval solutions D
k, i, j, w, D
k, i, j, wbetween the feasible region for w input variable of j branch function of upper i the branch node of path k.It will be appreciated by those skilled in the art that the x obtaining like this
winterval solutions D
k, i, j, wvery wide, be generally (a, ∞) or (∞, form a).Notice linear fit function LF
k, i, j(x
w)=p
w* x
w+ q
wby V
k, y, z, j={ (u
1, j, F
k, y, z(u
1, j)), (u
2, j, F
k, y, z(u
2, j)) ..., (u
tU, j, F
k, u, z(u
tU, j)) calculating acquisition.Therefore can be by D between feasible region
k, i, j, wbe limited in { u
1, j, u
2, j..., u
tU, jin related interval RD, i.e. feasible interval D
k, i, j, wit is the common factor of the interval solutions of related interval RD and inequation.Related interval RD can be: (2 * u
min, j-u
max, j, u
max, j) or (2 * u
min, j-u
max, j, 2 * u
max, j-u
min, j) or (u
min, j, 2 * u
max, j-u
min, j) or (u
min, j, u
max, j) or (u
ra, j, u
rb, j) or (2 * u
ra, j-u
rb, j, u
rb, j) or (2 * u
ra, j-u
rb, j, 2 * u
rb, j-u
ra, j) or (u
ra, j, 2 * u
rb, j-u
ra, j) etc.Wherein, u
min, j=min{u
1, j, u
2, j..., u
tU, j, u
max, j=max{u
1, j, u
2, j..., u
tU, j; u
ra, j, u
rb, j∈ { u
1, j, u
2, j..., u
tU, j, be aforementioned calculating
In, u
ra, j=min{u
tU-t, j, u
tU, j, u
rb, j=max{u
tU-t, j, u
tU, j.Each input variable can obtain D between a feasible region
k, i, j, w, can obtain thus the branch function F of branch
k, i, j(X) D between feasible region
k, i, j={ D
k, i, j, 1, D
k, i, j, 2..., D
k, i, j, s, the number that wherein s is input variable.
D between the feasible region of branch node in step S52
k,iadopt and logical expression c
k,i=F
k, i, 1(X) rel
10 op
1f
k, i, 2(X) rel
20 op
2... op
s-1f
k, i, s(X) rel
s0 consistent friendship union operation rule merges:
D
k,i=D
k,i,1?op
1?D
k,i,2?op
2...op
s-1?D
k,i,s。
I between feasible region in step S53
kadopt intersection operation rule to merge:
m wherein
kfor public branch node farthest.
In step S54, between feasible region, I adopts union operation rule to merge:
n wherein
bfor the associated path of branch node B is concentrated path number;
I={I between the feasible region finally obtaining
1, I
2..., I
s.The number that wherein s is input variable, I
ibe between the feasible region of i input variable.I between the feasible region of input variable
ifor the possible segmentation Interval Set being formed by possible segmentation interval, I
i={ I
i, 1, I
i, 2..., I
i, Mi, wherein, I
i,jbe that j possible segmentation of i input variable is interval, Mi is i input variable possible segmentation interval number.
Seven, the expansion of input vector collection
This step is aforesaid step S6, and the input value of choosing at random each input variable between feasible region in I obtains test data set and is added in input vector collection U.
Due to I={I
1, I
2..., I
s, and I
i={ I
i, 1, I
i, 2..., I
i, Mi.Only need to be from the possible segmentation Interval Set I of each input variable in this step
ieach possible segmentation interval in the random data of selecting can build new input vector collection T.Because each input variable has Mi possible segmentation interval, so each input variable can therefrom be selected Mi random number.To after the random number combination of the interval gained of each possible segmentation of all input variables, can produce M
1* M
2* ... * M
sindividual input vector.Build after new input vector collection T and former input vector collection U merge and obtain new input vector collection U.
For the more special input variable of part, its corresponding possible segmentation interval number only has 1.Under this situation, can be between expansion area in random value.Between Jian Fenzuo expansion area, expansion area, between right expansion area.Suppose that segment identifier unique between the feasible region of i input variable is shown in I
i, 1for (a, b), a<b, between left expansion area, be that (2b-a a), is: (b, 2a-b) between right expansion area.
Eight, the end of iteration and iteration
This step is aforesaid step S7 and step S8.
Step S7, repeated execution of steps S3 to S6 is until the number of times that step S3 to S6 carries out reaches the number of times of restriction.Step S3 to S6 is the process of iterative loop, every through an iterative loop of taking turns, and the input vector in input vector collection U also changes thereupon.If in step S3, while existing an input vector to carry out source program to be measured in input vector collection U, through the value of judging in described branch node B and a B of covering and judgement conditional does not occur, combine, record this input vector as a test data of described branch node B, if there is not unlapped judgement and judge the value combination of conditional in described branch node B, the test data set of record is as the test data set of described branch node B, and whole iterative process finishes.If when the number of times of iterative loop reaches predefined restriction number of times, show that branch node B can not complete all conditions/judgement and cover.If the unreachable test data set that need to return to equally branch node B of branch node B, i.e. step S8.
Step S8, the test data set of the B of return recording is as the test data set of condition/judgement covering of branch node B.
Claims (7)
1. the automatic generation of test data covering towards condition criterion, comprise and analyze the step of set that source program to be measured obtains the associated path collection of the set in all paths of source program to be measured and the set B S of all branch nodes and branch node, it is characterized in that, the method also comprises carries out following steps to each the branch node B in branch node collection BS:
S1: concentrate each condition that is positioned at B (containing B) each branch node before on each path according to the associated path of B, build the branch function F about input variable vector X
k, i, j(X); Described input variable vector X is the vector that described source program input variable to be measured forms; Described branch function F
k, i, j(X) represent the branch function of j condition of upper i the branch node of path k; Described path k is through branch node B;
S2: build initial input vector collection U; Described initial input vector collection U at least comprises two input vectors;
S3: calculate using in input vector collection U when each input vector is carried out source program to be measured as the input of source program to be measured, on each path k associated with described branch node B, be positioned at B before each branch function F on each branch node of (containing B)
k, i, j(X) the set V of acquisition branch function value and farthest public branch node m
k; Execution route when carrying out source program to be measured calculate the judgement of B during through branch node B and judge in the value of each condition; If while existing an input vector to carry out source program to be measured in input vector collection U execution route through branch node B and make the judgement of B or judge in certain condition produce new value, record this input vector as a test data of described branch node B; If the test data set of described branch node B covered the judgement of B and judge in each condition institute value likely, return to this test data set as the test data set of described branch node B;
S4: according to the associated path of branch node B concentrate on the k of each path, be positioned at B before set V and the common node m farthest of each branch function value on each branch node of (containing B)
kon build path k, be positioned at common node m farthest
kbefore (containing m
k) the fitting function LF of each branch function of each branch node
k, i, j; LF
k, i, jthe linear fit function of the branch function of j condition of upper i the branch node of expression path k;
S5: according to the linear fit function LF of each branch function of each branch node of (containing B) before being arranged in B on each path associated with B
k, i, jand source program to be measured calculates I between feasible region;
S6: the input value of choosing at random each input variable between feasible region in I obtains test data set and is added in input vector collection U;
S7: repeated execution of steps S3 to S6 is until the number of times that step S3 to S6 carries out reaches the number of times of restriction;
S8: return to the test data of described branch node B of all records as the test data set of described branch node B.
2. the automatic generation of test data covering towards condition criterion as claimed in claim 1, is characterized in that,
Initial input vector collection U described in described step S2 comprises Ni+1 input vector, the number that described Ni is input variable; Initial input vector collection U={u
0, u
1, u
2..., u
ni, u wherein
i={ u
i, 1, u
i, 2..., u
i, Ni; Input vector u
0for random generation, u
iwith u
0meet relation:
i wherein, j ∈ 1,2 ..., Ni}.
3. the automatic generation of test data covering towards condition criterion as claimed in claim 1, is characterized in that, described step S3 comprises:
S31: obtain unenforced input vector u from input vector collection U
t;
S32: judge unenforced input vector u
twhether exist; If there is not unenforced input vector, execution step
S34; Otherwise execution step S33;
S33: according to u
tcarry out the public branch node m that source code to be measured obtains the path of execution and concentrated each path k of the associated path of branch node B
k,t, the branch function F of each branch node of (containing B) before being positioned at branch node B on calculating path k
k, i, j(X) value, each branch function F of each branch node of all associated path of B
k, i, j(X) value forms set V; If the path of carrying out is through branch node B, the path of carrying out is an associated path of branch node B, according to the branch function value of each condition in the judgement of B in this associated path obtain the judgement of branch node B and judge in the value of each condition; If the judgement of B or judgement conditional have produced new value, record this input vector as a test data of described branch node B; If the test data set of B covered the judgement of B and judge in each condition institute value likely, return to this test data set as the test data set of described branch node B and finish whole branch node B to generate the process of test data.
S34 the: from { m of each associated path k record of the B of branch
k, 1, m
k, 2..., m
k, TUin choose public branch node m farthest
k.
4. the automatic generation of test data covering towards condition criterion as claimed in claim 1, is characterized in that, described step S4 comprises the following steps:
S41: the associated path of input vector collection U and B concentrate and be positioned at B on the k of each path before set V and the common node m farthest of each branch function value of each branch node of (containing B)
kbuild coordinate set V
k, y, z, j={ (u
1, j, F
k, y, z(u
1, j)), (u
2, j, F
k, y, z(u
2, j)) ..., (u
tU, j, F
k, y, z(u
tU, j));
S42: with V
k, y, z, j={ (u
1, j, F
k, y, z(u
1, j)), (u
2, j, F
k, y, z(u
2, j)) ..., (u
tU, j, F
k, y, z(u
tU, j)) interior two adjacent coordinate points structure F
k, y, z(x
j) linear fit function LF
k, y, z(x
j)=p
j* x
j+ q
j, obtain parameter set LFPQ
k, i, j={ (p
1, q
1), (p
2, q
2) ..., (p
ni, q
ni);
Wherein, V
k, y, z, jthe coordinate set that represents corresponding j the input variable of z branch function of upper y the branch node of path k, wherein y≤m; u
i,jvalue for j input variable of i input vector in input vector collection U; F
k, y, z(x
j) be the function of z branch function of upper y the node of path k about j input variable; LF
k, y, z(x
j) be the linear fit function of z branch function of upper y the node of path k about j input variable; LFPQ
k, i, jparameter set for the linear fit function of j branch function of upper i the node of path k.
5. the automatic generation of test data covering towards condition criterion as claimed in claim 1, is characterized in that, described step S5 comprises:
S51: D between the feasible region of each each branch function of branch node of (containing B) before being arranged in branch node B on each associated path k of Branch Computed Node B
k, i, j;
S52: merge D between the feasible region of each branch function in each branch node
k, i, jobtain D between the feasible region of each branch node
k,i;
S53: merge public branch node m farthest
kd between the feasible region of each front branch node
k,iobtain I between the feasible region of branch node B on associated path k
k.
S54: merge I between the feasible region of branch node B on each associated path k
k, obtain I between the feasible region of branch node B.
6. the automatic generation of test data covering towards condition criterion as claimed in claim 1, I={I between described feasible region
1, I
2..., I
s, wherein, the number that s is input variable, I
ibe between the feasible region of i input variable, I
i={ I
i, 1, I
i, 2..., I
i, Mi, wherein, I
i,jbe that j possible segmentation of i input variable is interval, Mi is i input variable possible segmentation interval number, it is characterized in that, in described step S6, when Mi is 1, from I
ibe the unique piecewise interval I between the feasible region of i input variable
i, 1expansion area between in random value build test data.
7. a machine readable media, it is characterized in that, on this computer-readable recording medium, store instruction set, when this instruction set is performed, make this machine can execute claims the automatic generation of test data covering towards condition criterion described in any one claim in 1 to 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410271284.8A CN104050083B (en) | 2014-06-17 | 2014-06-17 | Condition/Decision-coverage-oriented test data automatic generation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410271284.8A CN104050083B (en) | 2014-06-17 | 2014-06-17 | Condition/Decision-coverage-oriented test data automatic generation method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104050083A true CN104050083A (en) | 2014-09-17 |
CN104050083B CN104050083B (en) | 2017-05-03 |
Family
ID=51502969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410271284.8A Expired - Fee Related CN104050083B (en) | 2014-06-17 | 2014-06-17 | Condition/Decision-coverage-oriented test data automatic generation method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104050083B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881359A (en) * | 2015-06-10 | 2015-09-02 | 南京大学 | Method for automatically generating test data realizing path covering through linear fitting |
CN108647146A (en) * | 2018-05-11 | 2018-10-12 | 北京信息科技大学 | The method for generating test case of combined covering is judged based on correction conditions |
CN112463607A (en) * | 2020-11-26 | 2021-03-09 | 苏州洞察云信息技术有限公司 | Confirmation method and device for judging statement value and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145130A (en) * | 2007-08-02 | 2008-03-19 | 中兴通讯股份有限公司 | Simple network management protocol software test device and test method |
CN101162426A (en) * | 2007-11-15 | 2008-04-16 | 中兴通讯股份有限公司 | Example design test method for testing based on data driving and automatically testing platform |
CN101814055A (en) * | 2010-04-06 | 2010-08-25 | 南京大学 | Sampling method for test cases in clusters |
CN102368226A (en) * | 2011-10-10 | 2012-03-07 | 南京大学 | Method for automatically generating test cases based on analysis on feasible paths of EFSM (extended finite state machine) |
-
2014
- 2014-06-17 CN CN201410271284.8A patent/CN104050083B/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145130A (en) * | 2007-08-02 | 2008-03-19 | 中兴通讯股份有限公司 | Simple network management protocol software test device and test method |
CN101162426A (en) * | 2007-11-15 | 2008-04-16 | 中兴通讯股份有限公司 | Example design test method for testing based on data driving and automatically testing platform |
CN101814055A (en) * | 2010-04-06 | 2010-08-25 | 南京大学 | Sampling method for test cases in clusters |
CN102368226A (en) * | 2011-10-10 | 2012-03-07 | 南京大学 | Method for automatically generating test cases based on analysis on feasible paths of EFSM (extended finite state machine) |
Non-Patent Citations (1)
Title |
---|
丁文旭: "分量线性拟合函数驱动的测试数据自动生成技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881359A (en) * | 2015-06-10 | 2015-09-02 | 南京大学 | Method for automatically generating test data realizing path covering through linear fitting |
CN104881359B (en) * | 2015-06-10 | 2017-11-24 | 南京大学 | A kind of automatic generation of test data covered with linear fit realizing route |
CN108647146A (en) * | 2018-05-11 | 2018-10-12 | 北京信息科技大学 | The method for generating test case of combined covering is judged based on correction conditions |
CN108647146B (en) * | 2018-05-11 | 2021-06-08 | 北京信息科技大学 | Test case generation method for judging combination coverage based on correction condition |
CN112463607A (en) * | 2020-11-26 | 2021-03-09 | 苏州洞察云信息技术有限公司 | Confirmation method and device for judging statement value and storage medium |
CN112463607B (en) * | 2020-11-26 | 2024-03-15 | 苏州洞察云信息技术有限公司 | Determination statement value confirmation method, device and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN104050083B (en) | 2017-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103942147A (en) | Test data automatic generation method based on linear fitting function driving | |
Baresel et al. | Fitness function design to improve evolutionary structural testing | |
Echard et al. | A combined importance sampling and kriging reliability method for small failure probabilities with time-demanding numerical models | |
Takikawa et al. | Real-time inference with large-scale temporal bayes nets | |
Bobot et al. | A simplex-based extension of Fourier-Motzkin for solving linear integer arithmetic | |
Boranbayev et al. | Mathematical model for optimal designing of reliable information systems | |
CN104765683A (en) | MOEA/D algorithm based multi-target optimizing method for regression test case | |
Prosvirnova et al. | Automated generation of minimal cut sets from AltaRica 3.0 models | |
US9043746B2 (en) | Conducting verification in event processing applications using formal methods | |
van Amstel | The right tool for the right job: Assessing model transformation quality | |
Dokhanchi et al. | Vacuity aware falsification for MTL request-response specifications | |
Illanes et al. | Numeric Planning via Abstraction and Policy Guided Search. | |
CN104050083A (en) | Condition/Decision-coverage-oriented test data automatic generation method | |
Yaghoubi et al. | Hybrid approximate gradient and stochastic descent for falsification of nonlinear systems | |
CN104050082A (en) | Test data automatic generation method oriented toward modified condition/decision coverage | |
Balbiani et al. | A dynamic logic for termgraph rewriting | |
Ghomri et al. | Continuous Petri Nets and Hybrid Automata for the analysis of manufacturing systems | |
CN103853554A (en) | Software reconstruction position determination method and software reconstruction position identification device | |
Zhu et al. | A new node-based concept for solving the minimal path problem in general networks | |
Tapia-Flores et al. | Petri net discovery of discrete event processes by computing t-invariants | |
Saati et al. | SBM model with fuzzy input-output levels in DEA | |
Hosseinzadeh Lotfi et al. | An MOLP based procedure for finding efficient units in DEA models | |
Beletska et al. | Computing the transitive closure of a union of affine integer tuple relations | |
Rodrigo et al. | Exact and approximate traveling waves of reaction-diffusion systems via a variational approach | |
Jensen et al. | Local model checking of weighted CTL with upper-bound constraints |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170503 |
|
CF01 | Termination of patent right due to non-payment of annual fee |