CN105224455B - A kind of method for automatically generating character string type test case - Google Patents

A kind of method for automatically generating character string type test case Download PDF

Info

Publication number
CN105224455B
CN105224455B CN201510628462.2A CN201510628462A CN105224455B CN 105224455 B CN105224455 B CN 105224455B CN 201510628462 A CN201510628462 A CN 201510628462A CN 105224455 B CN105224455 B CN 105224455B
Authority
CN
China
Prior art keywords
str
character string
value
function
atom
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510628462.2A
Other languages
Chinese (zh)
Other versions
CN105224455A (en
Inventor
王雅文
张旭舟
宫云战
金大海
黄俊飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201510628462.2A priority Critical patent/CN105224455B/en
Publication of CN105224455A publication Critical patent/CN105224455A/en
Application granted granted Critical
Publication of CN105224455B publication Critical patent/CN105224455B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

The invention discloses a kind of method for automatically generating character string type test case, first, the data model of character string type is used as using a character array and a length attribute, define three atom functions, the character string function in C language standard storehouse is represented using the combination of three atom functions, then, obtained using symbolic execution technique in the constraint extraction process of a Program path, enter row constraint extraction for character string and character string function, obtain the character string comprising atom function representation and constrain;Finally, for the execution route of source program, character string constraint to every paths carries out constraint solving, during constraint solving, according to the determination value of the parameter of atom function, explain to obtain the structure of character string and value for atom function, until being met the constrained test case of path institute.Advantage is, applied to various character string functions are handled, reduces the cost that manual testing expends, improves the automaticity of software test.

Description

A kind of method for automatically generating character string type test case
Technical field
The present invention relates to the automatic generating test case technology in software test field, specifically one kind automatically generates character The method of string type test case.
Background technology
With the arriving of Internet era, the software such as database, procotol is used widely, and character string type is frequent Use as basic data type, and operated by the character string function in java standard library.
In the automatic generating test case technology of path-oriented, usual way is to obtain path using symbolic execution technique The constraint of upper input variable, i.e. character expression, the variable-value of path constraint is then met using constraint solver.
1976, James C.King et al. proposed that symbolic execution technique is used for the correctness of determining program.
Symbolic execution technique refers to:During using semiology analysis analysis program, the program can use value of symbol as input, and The occurrence used during non-general execution program.When reaching object code, analyzer can obtain corresponding path constraint, i.e., Output symbol expression formula, then obtain triggering the occurrence of object code by constraint solver, i.e., by symbol The analysis of expression formula is judged program correctness.
In the prior art, the instrument of automatic generating test case can not generate the survey for meeting constraint to character string type automatically Example on probation.Because character string type is a kind of conventional complex data type, there is structure attribute and numerical attribute, and usually The formal operations called by character string function, character string function operation cause the constraint of character string to be nonlinear constraint, because This existing automatic generating test case instrument can not support the automatic generating test case of character string.
The content of the invention
The test that can not support character string the invention aims to solve existing automatic generating test case instrument Use-case automatically generates, it is proposed that a kind of method for automatically generating character string type test case, specifically comprises the following steps:
Step 1: for the execution route of source program, semiology analysis is used respectively to each sentence of every execution route Technology enters row constraint extraction, obtains the character string constraint of each sentence;
Step 2: taking the character string of current statement to constrain, judge whether to include character string function, if comprising performing Step 3;Otherwise step 4 is performed;Current statement initial value is first sentence;
Step 3: according to character string function represented semanteme in the paths, intermediate variable and atom function are used Combine to represent the function;
First, the data structure symbol of character string type is generated, its structure symbol includes two attributes:
1) it is character member property, the set using " subscript " _ " charactor " as key-value pair;2) it is length attribute;
Then three atom functions, are defined:
(1) an i member is designated as under accessing in character string str, atom function is strAtomic1(str, i), parameter Symbol is:Str and i;
(2) while subscript is accessed in character string str by down to up | up-down+1 | individual member, atom function are:
strAtomic2(str, down, up), pa-rameter symbols are:str,down,up;
(3) while the member of n undefined position in str is accessed, atom function is:strAtomic3(str, n), parameter Symbol is:str,n;
Intermediate variable refers to the position of the parametric variable in addition to str in three kinds of atom functions, is value type.
Step 4: order chooses next statement return to step two, until current statement is tail sentence, all character strings are exported Constraint, and be all numeric type symbols of intermediate variable, generate initial codomain;
Step 5: judge whether current value type symbol is the parameter of atom function, if going to step 6;Otherwise turn To step 10;
The initial value of current value type symbol is optional one from all numeric type symbols in step 4.
Step 6: for current atom function parameter in initial codomain choosing value as the parameter determination value, perform step Seven;
Specially:If current atom function is the first atom function strAtomic1(str, i), then it is second parameter I selects a value in codomain, and execution terminates;
If current atom function is second of atom function strAtomic2(str, down, up), then be followed successively by second and third Individual parameter
Down, up each one value of selection, execution in its codomain terminate;
If current atom function is the third atom function strAtomic3(str, n) is then second parameter n in its value A value is selected in domain, execution terminates;
If the value in codomain was all selected and the parameter is not the numeric type symbol of first selection, select previous Individual numeric type symbol goes to step 5 as current sign;If the value in codomain was all selected and the parameter is first The numeric type symbol of individual selection, then algorithm failure, execution terminate.
Step 7: according to the parameter determination value of atom function, atom function is explained, if explaining failure, said Bright parameter value mistake, goes to execution step 8;Otherwise step 9 is performed;
Specific explanations process is:If that currently select is the first atom function strAtomic1The parameter symbol of (str, i) Number i, a value Vi is selected in i codomain, it is newly-built if in str character member set in the absence of subscript being Vi member Under be designated as Vi member;Otherwise the member that position in str is Vi is taken;Then for the strAtomic in path constraint1(str, I) member of position Vi in str is replaced with, execution terminates;
If that currently select is second of atom function strAtomic2(str, down, up), pa-rameter symbols down, up;
Selective value Vdown, Vup are distinguished in down, up codomain, if in the absence of in str character member set Mark is the member of the member in Vdown to Vup scope, then newly-built relevant position;Otherwise existing member, and right is taken StrAtomic in path constraint2It is every in Vdown to Vup scope that (str, down, up) replaces with position in str One member, execution terminate;
If that currently select is the third atom function strAtomic3The pa-rameter symbols n of (str, n), in n codomain Middle selective value Vn, Vn str character member is then generated, corresponding subscript is respectively indexv1,indexv2, ...indexvn, for the strAtomic in path constraint2(str, down, up) replaces with str position in indexv1, indexv2,...indexvnEach member, execution terminates;
During atom function is explained, if character member newly-built in the data structure of character string and existing character Member conflicts, or the length attribute of data structure is undesirable, then atom function explains failure.
Step 8: after parameter value mistake, increased newly according to the pa-rameter symbols and parameter determination value selected in step 6 Constraint:Parameter current symbol can not take parameter current determination value;And change recovery extremely caused by atom function is explained into failure Original state, return to step 6;
Step 9: using interval arithmetic method, the interval of symbol is reduced, step 5 is gone to after reducing successfully Continue with the constraint of character late string;Otherwise, return to step eight;Until to all string processings in constraining current path Finish, go to step 11;
Step 10: a value is chosen in the codomain of current value type symbol is used as its determination value;Go to step 9.
If the value in current sign codomain was all selected and current sign is not the numeric type symbol of first selection, The numeric type symbol of previous choosing value is then returned to as current sign, and goes to step 5;If current sign codomain is all Value was all chosen and current sign is the symbol of first selection, then algorithm fails, and execution terminates.
Step 11: if the pa-rameter symbols of all character strings constraint are obtained for determination value, with reference to variable and symbol Relation forms test case, and Test cases technology terminates;
Advantages of the present invention is with good effect:
(1) a kind of method for automatically generating character string type test case, three kinds of atom functions of use of proposition represent The method of the character string function occurred in tested program, it can apply to handle various character string functions.
(2) a kind of method for automatically generating character string type test case, can automatically generate the test of character string type Use-case, the cost of manual testing's consuming can be reduced, improve the automaticity of software test.
Brief description of the drawings
Fig. 1 is a kind of method flow diagram for automatically generating character string type test case of the present invention;
Embodiment
Below in conjunction with drawings and examples, the present invention is described in further detail.
A kind of method for automatically generating character string type test case, can to the input parameter comprising character string type with And the C language code called containing character string function carries out automatic generating test case, improves the automaticity of software test.
A kind of method for automatically generating character string type test case, first, use a character array and a length Data model of the attribute as character string type, three atom functions are defined, C languages are represented using the combination of three atom functions The character string function in java standard library is sayed, then, is obtained using symbolic execution technique in the constraint extraction process of a Program path, Enter row constraint extraction for character string and character string function, obtain the character string comprising atom function representation and constrain;Finally, for The execution route of source program, carries out constraint solving to the constraint of the character strings of every paths, during constraint solving, according to atom letter The determination value of several parameters, explain to obtain the structure of character string and value for atom function, until being met path The constrained test case of institute.
Specific steps as shown in figure 1, including:
Step 1: for a plurality of execution route of one section of source program, each sentence of every execution route is used respectively Symbolic execution technique enters row constraint extraction, obtains the character expression of each sentence;
Possibility execution route in source program, also known as statement sequence;
Step 2: judge whether the character expression of current statement includes character string function, if comprising performing step Three;Otherwise step 4 is performed;Current statement initial value is first sentence;
Step 3: for character string function, according to its represented semanteme in the paths, intermediate variable and atom are used The combination of function is indicated;
For the character string type parameter in character string function, generation represents the data structure of character string type, its structure Include two attributes:1) set using " subscript "-" charactor " as key-value pair, the character member property of character string is represented;2) character The length attribute of string;
Then three atom functions, are defined:
(1) an i member is designated as under accessing in character string str, atom function is strAtomic1(str, i), parameter Symbol is:Str and i;
(2) while subscript is accessed in character string str by down to up | up-down+1 | individual member, atom function are: strAtomic2(str, down, up), pa-rameter symbols are:str,down,up;
(3) while the member of n undefined position in str is accessed, atom function is:strAtomic3(str, n), parameter Symbol is:str,n;
Intermediate variable all refers to the parametric variable in addition to str in three kinds of atom functions, these parametric variables due to Do not embodied in source program, be value type so generating intermediate variable to represent the position of the parametric variable.
Handled Step 4: order chooses next statement return to step two, until it is tail sentence to work as prosthomere sentence, output Character expression set, and be all numeric type symbols of intermediate variable, generate initial codomain;
By all character expressions in every input path, according to path constraints, obtain including character string type and 3 The character string constraint of kind atom function representation;
Step 5: judge whether current value type symbol is the parameter of atom function, if going to step 6;Otherwise turn To step 10;
The initial value of current value type symbol is optional one from all numeric type symbols in step 4.
Step 6: for current atom function parameter in initial codomain choosing value as the parameter determination value, perform step Seven;
Specially:If current atom function is the first atom function strAtomic1(str, i), then it is its second ginseng Number i selects a value in its codomain, and execution terminates;
If current atom function is second of atom function strAtomic2The second, (str, down, up), then it is followed successively by Three parameters down, up each one value of selection, execution in its codomain terminate;
If current atom function is the third atom function strAtomic3(str, n) is then its second parameter n at it A value is selected in codomain, execution terminates;
If the value in codomain was all selected and the parameter is not the numeric type symbol of first selection, select previous Individual numeric type symbol goes to step 5 as current sign;If the value in codomain was all selected and the parameter is first The numeric type symbol of individual selection, then algorithm failure, execution terminate.
Step 7: according to the parameter determination value of atom function, atom function is explained, if explaining failure, said Bright parameter value mistake, goes to execution step 8;Otherwise step 9 is performed;
Specific explanations are:If that currently select is the first atom function strAtomic1The pa-rameter symbols i of (str, i), A value Vi is selected in i codomain, if the member that subscript is Vi is not present in str character member set, under newly-built It is designated as Vi member;Otherwise the member that position in str is Vi is taken;Then for the strAtomic in path constraint1(str,i) The member of position Vi in str is replaced with, execution terminates;
If that currently select is second of atom function strAtomic2Pa-rameter symbols down, the up of (str, down, up),
Selective value Vdown, Vup are distinguished in down, up codomain, if in the absence of in str character member set The member of the member, then newly-built relevant position that are marked in the scope for being Vdown to Vup;Otherwise existing member is taken;And For the strAtomic in path constraint2(str, down, up) replaces with str position in Vdown to Vup scope Each member, execution terminate;
If that currently select is the third atom function strAtomic3The pa-rameter symbols n of (str, n), in n codomain Middle selective value Vn, Vn str character member is then generated, corresponding subscript is respectively indexv1,indexv2, ...indexvn, for the strAtomic in path constraint2(str, down, up) replaces with str position in indexv1, indexv2,...indexvnEach member, execution terminates;
During atom function is explained, if character string member newly-built in the data structure of character string and existing word The person of conspiring to create is accorded with to conflict, or the length attribute of data structure is undesirable, then atom function explains failure.
Step 8: after parameter value mistake, increased newly according to the pa-rameter symbols and parameter determination value selected in step 6 Constraint:Parameter current symbol can not take parameter current determination value, and change recovery extremely caused by atom function is explained into failure Original state, perform step 6;
Step 9: using the method for interval arithmetic, the interval of symbol is reduced, step is gone to after reducing successfully Five continue with the constraint of character late string;Otherwise, return to step eight;Until to current path constrain in all character strings at Reason finishes, and goes to step 11;
Interval algorithm application reference number is:200810114262.5 the method for testing software of interval arithmetic " apply ";
Whether interval arithmetic is used to calculate meets to constrain and can provide current value to the value of current value type Cause other symbol sections reduce result, therefore each step be numerical symbol selective value after, be required for carry out interval arithmetic Reduced.
Step 10: a value is chosen in the codomain of current value type symbol is used as its determination value;Go to step 9.
If the value in current sign codomain was all selected and current sign is not the numeric type symbol of first selection, The numeric type symbol of previous choosing value is then returned to as current sign, and goes to step 5;If current sign codomain is all Value was all chosen and current sign is the symbol of first selection, then algorithm fails, and execution terminates.
Step 11: by constraint solving, all pa-rameter symbols in constraint expression formula are obtained for determination value, then combine The relation of variable and symbol forms test case, and Test cases technology terminates;
A kind of method for automatically generating character string type test case, successively to the numerical parameter symbol in atom function, Other numerical symbols carry out choosing value, if once choosing value fails for certain, and all values of current sign had all been attempted, then were returned to A upper symbol, the value of a upper symbol is chosen again, choosing value next time is being carried out, if current sign is the first symbol for carrying out choosing value Number, and all values all have attempted to, then and algorithm fails, and execution terminates.
Such as:It is given below the input comprising character string type and the code comprising character string function:
Case statement sequence 1->2->3, as input path, Test cases technology are carried out to the path:
First to inputting path 1->2->3 enter row constraint extraction, and the input path includes 3 sentences;
Character string function strlen (str) function is included in sentence 1, according to its parameter str, generates the number of character string type According to structure, str_string is designated as, its character member set is sky, represents that the symbol of length attribute is designated as l, constraint extraction obtains Character expression be str_string.l > 3, string.l represents the length attribute of string.
Comprising condition it is strchr (str, c) in sentence 2!=null, according to the implication of this function:" in character string str I-th of character is equal to c, and the character before i is not c, and i span is the length range of character string ", use atom Function is indicated, and is introduced into a subfix i and symbol m for representing c positions in str, the symbol table that constraint extraction obtains It is up to formula:
Str_string.l > 0,0 < i < str_string.l, strAtomic1(str, i)=c and m < i and strAtomic2(str,0,m)≠c;
Comprising condition it is strchr (str, ' d')==null in sentence 2, according to the implication of this function:" character string Each character in str is not ' d' ", it is indicated using atom function, the character expression that constraint extraction obtains is:
strAtomic2(str,0,str_string.l)≠'d';
The process for entering row constraint extraction by symbolic execution technique terminates, and obtained path constraint is:
Str_string.l > 3 and str_string.l > 0 and 0 < i < str_string.l, strAtomic1 (str, i)=c, m < i and strAtomic2(str, 0, m) ≠ c and strAtomic2(str,0,str_string.l)≠' d';
Then, constraint solving is carried out, atom function is included in path constraint, takes wherein first atom function strAtomic1(str, i), belong to the first atom function, it is 5 that value, which is assumed parameter i therein,;
According to i value 5, first atom function is explained:Collect in character string str_string character member The member that subscript is 5 is not present in conjunction, therefore newly-built character member on the position " 5 " in str_string, this member are designated as str_string[5];Then for first atom function strAtomic in path constraint1(str, i) is entered using this member Row is replaced, and symbol i is replaced with 5;Path constraint after replacing it is:
Str_string [5]=c;The < str_string.l of 0 < 5;M < 5;
Using the method for interval arithmetic, to carrying out interval arithmetic in path constraint, the interval of each symbol is entered Row reduction;
Atom function is still included in path constraint, takes wherein first atom function strAtomic2(str, 0, m), category In second of atom function, second parameter is it has been determined that be 2 to undetermined parameter m values;
According to m value 2, atom function is explained:In character string str_string character member set not The member that subscript is 0,1,2, therefore the newly-built member in str_string be present, be designated as str_string [0], str_ respectively String [1], str_string [2];Then for the atom function strAtomic in path constraint2(str, 0, m) uses this A little members are replaced and the symbol m in constraint are replaced with 2;Path constraint after replacing it is:
2<5, str_string [0] ≠ c, str_string [1] ≠ c, str_string [2] ≠ c;
Using the method for interval arithmetic, to carrying out interval arithmetic in path constraint, the interval of each symbol is entered Row reduction;
Atom function is still included in path constraint, takes wherein first atom function strAtomic2(str,0,str_ String.1), second of atom function is belonged to, second parameter to undetermined parameter str_string.l it has been determined that take It is worth for 5;
According to str_string.l value 5, second of atom function is explained:Character string str_string's In character member set, existing subscript is 0,1,2,5 member, therefore newly-built 3,4 member in str_string, respectively It is designated as str_string [3], str_string [4];Because now str_string.l represents the length of character string, and previous existence Into value cause character string member str_string [5] occurred, it means that string length is at least 6, therefore data knot The length attribute of structure is undesirable, explains failure, it is necessary to carry out choosing value again for current symbol, and increases constraint str_ string.l≠5
Atom function is still included in path constraint, takes wherein first atom function strAtomic2(str,0,str_ String.1), second of atom function is belonged to, second parameter is it has been determined that to wherein undetermined parameter str_ String.l values are 7;
According to str_string.l value 7, second of atom function is explained:Character string str_string's In character member set, existing subscript is 0,1,2,5 member, thus newly-built 3 in str_string, 4,6 member, point Str_string [3], str_string [4], str_string [6] are not designated as;Then for the atom function in path constraint
strAtomic2(str, 0, str_string.1) is replaced and right using by the member of position 0 to position 6 Symbol str_string.l in constraint is replaced with 7;Path constraint after replacing it is:
7>3,5>0,0<5<7, str_string [0] ≠ ' d', str_string [1] ≠ ' d', str_string [2] ≠ ' D', str_string [3] ≠ ' d', str_string [4] ≠ ' d', str_string [5] ≠ ' d', str_string [6] ≠ ' d'
Using the method for interval arithmetic, to carrying out interval arithmetic in path constraint, the interval of each symbol is entered Row reduction;
Atom function is now no longer included in path constraint, therefore the value type symbol in path is selected successively Value, it is assumed that be for the value type symbol choosing value in path constraint:
str_string[0]:' a', str_string [1]:' c', str_string [2]:' 5', str_string [3]:' 0', str_string [4]:' z', str_string [5]:' k', str_string [6]:' 4', c:'k';
c:' k' be expressed as input parameter char types variable c generation test case value for character ' k'.
The test case of obtained character string is:" ac50zk4 ", this test case meet input path 1->2->3 pact Beam;Same process is carried out to remaining path of program successively, until the generation of all path testing use-cases finishes, test case is automatic Generating process terminates.

Claims (3)

  1. A kind of 1. method for automatically generating character string type test case, it is characterised in that comprise the following steps:
    Step 1: for the execution route of source program, symbolic execution technique is used respectively to each sentence of every execution route Enter row constraint extraction, obtain the character string constraint of each sentence;
    Step 2: taking the character string of current statement to constrain, judge whether to include character string function, if comprising performing step Three;Otherwise step 4 is performed;Current statement initial value is first sentence;
    Step 3: according to character string function represented semanteme in the paths, the combination of intermediate variable and atom function is used To represent the function;
    Atom function includes 3, is respectively:
    (1) an i member is designated as under accessing in character string str, atom function is strAtomic1(str, i), pa-rameter symbols For:Str and i;
    (2) while subscript is accessed in character string str by down to up | up-down+1 | individual member, atom function are: strAtomic2(str, down, up), pa-rameter symbols are:str,down,up;
    (3) while the member of n undefined position in str is accessed, atom function is:strAtomic3(str, n), pa-rameter symbols For:str,n;
    Intermediate variable refers to the position of the parametric variable in addition to str in three kinds of atom functions, is value type;
    Step 4: order chooses next statement return to step two, until current statement is tail sentence, all character strings are exported about Beam, and be all numeric type symbols of intermediate variable, generate initial codomain;
    Step 5: judge whether current value type symbol is the parameter of atom function, if going to step 6;Otherwise step is gone to Rapid ten;
    Step 6: for current atom function parameter in initial codomain choosing value as the parameter determination value, perform step 7;
    Step 7: according to the parameter determination value of atom function, atom function is explained, if explaining failure, illustrates ginseng Number value mistake, goes to execution step 8;Otherwise step 9 is performed;
    Specific explanations process is:If that currently select is the first atom function strAtomic1The pa-rameter symbols i of (str, i), A value Vi is selected in i codomain, if the member that subscript is Vi is not present in str character member set, is designated as under newly-built Vi member;Otherwise the member that position in str is Vi is taken;Then for the strAtomic in path constraint1(str, i) is replaced For the member of position Vi in str, execution terminates;
    If that currently select is second of atom function strAtomic2The pa-rameter symbols down and up of (str, down, up), In down and up codomain distinguish selective value Vdown and Vup, if in str character member set be not present subscript be Vdown extremely The member of member in Vup scope, then newly-built relevant position;Otherwise existing member, and for path constraint is taken In strAtomic2(str, down, up) replaces with member of the position in Vdown to Vup scope in str, performs knot Beam;
    If that currently select is the third atom function strAtomic3The pa-rameter symbols n of (str, n), the selective value in n codomain Vn, Vn str character member is then generated, corresponding subscript is respectively indexv1,indexv2,...indexvn, for road StrAtomic in the constraint of footpath2(str, down, up) replaces with str position in indexv1,indexv2,...indexvn's Each member, execution terminate;
    During atom function is explained, if character member newly-built in the data structure of character string and existing character member Conflict, or the length attribute of data structure are undesirable, then atom function explains failure;
    Step 8: after parameter value mistake, increase new constraint according to the pa-rameter symbols and parameter determination value selected in step 6: Parameter current symbol can not take parameter current determination value;And change recovery to original shape caused by atom function is explained into failure State, return to step 6;
    Step 9: using interval arithmetic method, the interval of pa-rameter symbols is reduced, step 5 is gone to after reducing successfully Continue with the constraint of character late string;Otherwise, return to step eight;Until to all string processings in constraining current path Finish, go to step 11;
    Step 10: a value is chosen in the codomain of current value type symbol is used as its determination value;Go to step 9;
    Step 11: if the pa-rameter symbols of all character strings constraint are obtained for determination value, with reference to the relation of variable and symbol Test case is formed, Test cases technology terminates.
  2. 2. a kind of method for automatically generating character string type test case as claimed in claim 1, it is characterised in that described The data structure symbol that character string type uses includes two attributes:1) it is character member property, using " subscript " _ " charactor " as key The set of value pair;2) it is length attribute.
  3. 3. a kind of method for automatically generating character string type test case as claimed in claim 1, it is characterised in that described Step 6 is specially:Judge whether current atom function is the first atom function strAtomic1(str, i), if it is, A value is selected in codomain for second parameter i, execution terminates;Otherwise judge whether current atom function is second of atom Function strAtomic2(str, down, up), respectively selected in its codomain if it is, being followed successively by second and third parameter down, up One value, execution terminate;Otherwise, current atom function is the third atom function strAtomic3(str, n), for second ginseng Number n selects a value in its codomain, and execution terminates.
CN201510628462.2A 2015-09-28 2015-09-28 A kind of method for automatically generating character string type test case Active CN105224455B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510628462.2A CN105224455B (en) 2015-09-28 2015-09-28 A kind of method for automatically generating character string type test case

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510628462.2A CN105224455B (en) 2015-09-28 2015-09-28 A kind of method for automatically generating character string type test case

Publications (2)

Publication Number Publication Date
CN105224455A CN105224455A (en) 2016-01-06
CN105224455B true CN105224455B (en) 2018-01-09

Family

ID=54993440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510628462.2A Active CN105224455B (en) 2015-09-28 2015-09-28 A kind of method for automatically generating character string type test case

Country Status (1)

Country Link
CN (1) CN105224455B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304320A (en) * 2018-01-05 2018-07-20 西北工业大学 The java applet error-detecting method executed based on dynamic symbol
CN108563561B (en) * 2018-03-15 2020-06-23 北京邮电大学 Program implicit constraint extraction method and system
CN109062784B (en) * 2018-07-06 2021-04-27 北京大学 Interface parameter constraint code entry positioning method and system
CN109783106B (en) * 2018-12-28 2021-05-28 西安交通大学 Self-adaptive feedback program evaluation method and device based on editing distance
CN113485926A (en) * 2021-07-05 2021-10-08 浙江大学 Method for verifying consistency of simulation execution effect of CPU (Central processing Unit) instruction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809067A (en) * 2015-05-07 2015-07-29 北京邮电大学 Equality constraint-oriented test case generation method and device
CN104915293A (en) * 2015-06-12 2015-09-16 北京邮电大学 Software testing method and system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9910764B2 (en) * 2013-06-24 2018-03-06 Linkedin Corporation Automated software testing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809067A (en) * 2015-05-07 2015-07-29 北京邮电大学 Equality constraint-oriented test case generation method and device
CN104915293A (en) * 2015-06-12 2015-09-16 北京邮电大学 Software testing method and system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于分支限界搜索框架的测试用例自动生成;邢颖等;《中国科学:信息科学》;20141031;全文 *
基于区间必然集的测试用例生成方法;王雅文等;《计算机辅助设计与图形学学报》;20130430;全文 *
测试用例自动生成中约束求解策略的选择;赖思佳等;《内蒙古大学学报》;20110930;全文 *

Also Published As

Publication number Publication date
CN105224455A (en) 2016-01-06

Similar Documents

Publication Publication Date Title
CN105224455B (en) A kind of method for automatically generating character string type test case
CN110543421B (en) Unit test automatic execution method based on test case automatic generation algorithm
CN104503917B (en) Change domain of influence analysis method and system based on data flow function call path
CN103559122B (en) Test cases based on program behavior section about subtracts method
US8627290B2 (en) Test case pattern matching
US9983984B2 (en) Automated modularization of graphical user interface test cases
CN105138335B (en) A kind of function call path extraction method and device based on controlling stream graph
CN105608003B (en) Java applet Static Analysis Method based on control flow analysis and data-flow analysis
CN115687115B (en) Automatic testing method and system for mobile application program
CN102141959B (en) Test case generation method restrained by context-free grammar
CN108052453A (en) Test method, device, equipment and the medium of programmable logic controller program
CN107367686A (en) A kind of generation method of RTL hardware Trojan horses test vector
Amaral et al. PrologCheck–property-based testing in prolog
CN104615544A (en) Problem-oriented GUI software correlation function analysis method and device
CN109871322A (en) A kind of program topic automatic scoring method based on machine learning
CN108647146B (en) Test case generation method for judging combination coverage based on correction condition
CN108563561B (en) Program implicit constraint extraction method and system
CN107153610A (en) A kind of program statement error-detecting method and device
CN108228232B (en) Automatic repairing method for circulation problem in program
CN104536880B (en) Gui program test case amplification method based on semiology analysis
CN110286882B (en) Foreground system design and verification method based on model detection
CN106598843A (en) Method for automatic identification of software log behaviors based on program analysis
CN109002723A (en) A kind of segmented symbolic excution methodology
CN106095663B (en) Program based on hierarchical model returns location of mistake method
CN113505283B (en) Screening method and system for test data

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