CN102419728A - Method for determining software test process sufficiency based on coverage rate quantitative indicators - Google Patents
Method for determining software test process sufficiency based on coverage rate quantitative indicators Download PDFInfo
- Publication number
- CN102419728A CN102419728A CN201110338915XA CN201110338915A CN102419728A CN 102419728 A CN102419728 A CN 102419728A CN 201110338915X A CN201110338915X A CN 201110338915XA CN 201110338915 A CN201110338915 A CN 201110338915A CN 102419728 A CN102419728 A CN 102419728A
- Authority
- CN
- China
- Prior art keywords
- capped
- function
- file
- test
- coverage
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
The invention provides a method for determining software test process sufficiency based on coverage rate quantitative indicators. The method comprises the following steps of: A, performing precompilation, lexical analysis and syntax analysis on a tested program to acquire the calling relationship diagram of the abstract syntax tree, the control flow graph and the function of the program, and automatically generating a tested unit according to the test requirement of a user; B, extracting a corresponding element set to be covered in the tested unit from the abstract syntax tree and the control flow graph according to a coverage criterion; C, inserting a corresponding probe function into the program of the tested unit according to the coverage criterion; D, dynamically testing the tested unit into which the probe function is inserted by selecting a system automatic executing mode or a user manual executing mode according to the test requirement of the user; and E, acquiring the covered element set of the tested unit according to the returned information of dynamic test execution, and calculating the coverage rate of the tested unit. By the method, the efficiency and the accuracy of a software evaluation test can be improved.
Description
Technical field
The present invention relates to software testing technology, relate in particular to and a kind ofly confirm the method for software test procedure adequacy, promptly utilize code coverage to confirm as quantizating index whether the test in the software test is abundant based on the coverage rate quantizating index.
Background technology
In each stage of software unit testing, people always expect to confirm with a unified quantizating index adequacy of test process and method, and instruct when finish test with this.Here, coverage rate is a quantitatively evaluating standard common in the software unit testing, and common coverage criterion comprises that the decision condition that statement covered, judged that covering, condition covering, judgement/condition cover, revise covers, makes up covering and path covering etc.But, existing traditional coverage criterion, and be not suitable for each stage of software test.Said test phase comprises unit testing, integration testing and system testing.In addition, traditional coverage criterion also remains to be further expanded, to solve the new problem in the software testing technology evolution.
Summary of the invention
In view of this, fundamental purpose of the present invention is to provide a kind of and confirms the method for software test procedure adequacy based on the coverage rate quantizating index, expands the operational phase of traditional coverage criterion, to be suitable for the multiple dynamic testing method in the different test phases of assessment; And the coverage criterion of expansion conventional elements test, new criterions such as file covering, method covering and type covering are proposed; And can carry out static analysis to unit under test according to given coverage criterion, obtain element set to be covered; According to the user test demand, to carry out dynamic test and carry out, statistics is capped element; And calculating coverage rate; Thereby confirm the adequacy of software test procedure and method according to the coverage rate quantizating index, use the coverage rate of multiple coverage criterion statistics to weigh, improve the efficient and the accuracy of assessment test.
For achieving the above object, technical scheme of the present invention is achieved in that
A kind ofly confirm the method for software test procedure adequacy based on the coverage rate quantizating index, this method mainly comprises:
A, tested program is carried out precompile, lexical analysis and grammatical analysis, obtain the call graph between abstract syntax tree, control flow graph and the function of program, and, generate unit under test automatically according to the user test demand;
B, according to coverage criterion, from said abstract syntax tree and control flow graph, extract element set accordingly to be covered in the unit under test;
C, according to described coverage criterion, in the program of unit under test, insert corresponding probe functions;
D, according to the user test demand, the mode that selective system automatically performs or the user manually carries out is carried out dynamic test to the unit under test that inserts probe functions;
E, according to the return message that dynamic test is carried out, obtain the element set that is capped of test cell, and calculate the coverage rate of unit under test.
Wherein, said steps A comprises:
According to the function calling relationship in the tested program, tested program is carried out dividing elements, obtain unit under test; Said unit under test is according to the user test demand, and with the independently tested object that procedure division to be tested becomes, it is one or more functions, class, file.
Said step B comprises:
For the statement coverage criterion, extract in the function of unit to be tested each and can reach statement block and cover element as statement, form statement and cover element set;
For branch's coverage criterion, to extract in the function of unit to be tested, each can reach branch and cover element as branch, forms branch and covers element set;
For the C/DC coverage criterion, to extract in the function of unit to be tested, each covers element and comprises: the predicated expressions that can be performed; In the predicated expressions, all values not only can travel through whole unit under test for very but also can be the simple condition of vacation thus, formed C/DC and covered element set;
For the MC/DC coverage criterion, to extract in the function of unit to be tested, each covers element and comprises: the predicated expressions that can be performed; In the predicated expressions, the simple condition that all can independent effect predicated expressions result travels through whole unit under test thus, forms MC/DC and covers element set;
For the path coverage criterion, extract in the function of unit to be tested, all reachable paths are formed the path and are covered element set as covering element;
For the function coverage criterion; Extract in the class (for the direct situation of type of formation of function) or file (for the situation of the direct configuration file of function) of unit to be tested; All functions that can be performed cover element as function, form function and cover element set; As long as suppose to have in the function paths to be performed, just think that this function can be performed;
For the class coverage criterion, extract all can be performed in the file of unit to be tested class as type covering elements, constitute and type cover an element set;
For the file coverage criterion, extract that all files that can be performed cover element as file in the unit to be tested, composing document covers element set; For situation,, just think that this document can be performed as long as there is a class to be performed in this document by the direct composing document of class; For situation,, just think that this document can be performed as long as there is a function to be performed in this document by the direct composing document of function.
Said step C comprises:
For the statement coverage criterion, in each element of statement covering element set, insert probe functions, so that the situation that is capped of statement block in the record implementation of test cases process;
For branch's coverage criterion, cover insertion branch probe functions in each element of element set in branch, so that the situation that is capped of branch in the record implementation of test cases process;
For the C/DC coverage criterion; In each element of C/DC covering element set, insert probe functions; Promptly can carry out and insert branch's probe functions in the judgement at each; All values not only can be for very but also can be that the simple condition place of vacation inserts the condition probe functions, so that the situation that is capped of C/DC element in the record implementation of test cases process in correspondence is judged;
For the MC/DC coverage criterion,, MC/DC inserts probe functions in covering each element in the element set; Promptly can carry out judgement place and insert branch's probe functions, but the simple condition place that all independent effect in correspondence is judged are judged inserts the condition probe functions, so that the situation that is capped of MC/DC element in the record implementation of test cases process at each;
For the path coverage criterion, cover based on statement and to add up, so need not extra insertion probe functions;
For the function coverage criterion, cover based on the path and to add up, so need not extra insertion probe functions;
For the class coverage criterion, cover based on function and to add up, so need not extra insertion probe functions;
Cover accurate side for file, add up based on class or function covering, so need not extra insertion probe functions.
Said step D comprises:
Automatically perform for system, system generates the test case of unit under test automatically, generates to drive file; Call test case one by one; Generate executable file with driving file with insertion probe functions unit under test place file chaining afterwards, move executable file then, carry out test execution;
Manually carry out for the user; Manually the pretreated measuring program of treating is generated possible pile function, test case and driving file by the user; And the unit under test place file that will drive after file and the described insertion probe functions links; Generate executable file and operation, carry out test execution.
Said step e specifically comprises:
E1, utilize the return message of the probe functions of program to be tested, obtain being capped element set;
E2, analysis cover the result; Mode through graphical interfaces identifies and has covered element in the source code and do not covered element, and calculates sentence covering rate, branch's coverage rate, C/DC coverage rate, MC/DC coverage rate, path coverage rate, function coverage rate, type coverage rate, the file coverage rate of unit under test.
Further, said step e 1 comprises:
E11, for the statement coverage criterion, probe functions return that unit under test statement in the test process covers set all be capped the corresponding numeral of statement block;
E12, for branch's coverage criterion, probe functions is returned the corresponding numeral of all branches that are capped that unit under test branch in the test process covers set;
E13, for the C/DC coverage criterion, what probe functions returned that unit under test C/DC in the test process covers set is capped the corresponding numeral of element (judgement that all are capped and judge in all simple conditions that are capped);
E14, for the MC/DC coverage criterion, what probe functions returned that unit under test MC/DC in the test process covers set is capped the corresponding numeral of element (judgement that all are capped, but and the simple condition that all independent effect that are capped are judged in judging);
E15, for the path coverage criterion; Cover the statement block that is capped of set according to the statement that obtains in the step e 11; According to the principle that all statement blocks on a paths this path that is capped that and if only if are capped, all that extract unit to be tested are capped the path;
E16, for the function coverage criterion; According to being capped the path in the path covering set that obtains in the step e 15; According to the principle that has at least a paths to be capped in a function this function that is capped that and if only if, extract all of to be tested type and be capped in function (situation about directly constituting for file) or the file all and be capped function (situation about directly constituting for file) by function by class;
E17, for the class coverage criterion, according to the function that is capped that obtains in the step e 16,, extract all types of being capped of file to be tested according to the principle that a class is capped that and if only and if has at least a function to be capped in this type of;
E18, for the file coverage criterion; If file directly is made up of class; According to type of being capped that obtains in the step e 17, according to the principle that has at least a class to be capped in a file this file that is capped that and if only if, perhaps according to the function that is capped that obtains among the E16; According to the principle that has at least a function to be capped in a file this file that is capped that and if only if, all that extract engineering to be tested are capped file.
Provided by the present inventionly confirm to have the following advantages the method for software test procedure adequacy based on the coverage rate quantizating index:
This method has been expanded the operational phase of traditional coverage rate on the one hand, is applicable to the multiple dynamic testing method in the different test phases of assessment, and test phase comprises unit testing, integration testing and system testing; Expand the coverage criterion of conventional elements test on the other hand, proposed criterions such as file covering, method covering and type covering.And can carry out static analysis to unit under test according to given coverage criterion, obtain element set to be covered; Also can carry out dynamic test and carry out according to the user test demand, statistics is capped element; And calculating coverage rate; Thereby can confirm the adequacy of software test procedure and method according to the coverage rate quantizating index, weigh, improve the efficient and the accuracy of assessment test through the coverage rate of using multiple coverage criterion statistics.
Description of drawings
Fig. 1 the present invention is based on the method flow synoptic diagram that the coverage rate quantizating index is confirmed the software test procedure adequacy;
Fig. 2 carries out the method flow synoptic diagram that automatic unit is divided for software test procedure of the present invention;
Fig. 3 carries out the method flow synoptic diagram of automatic test execution for software test procedure of the present invention.
Embodiment
Below in conjunction with accompanying drawing and embodiments of the invention method of the present invention is done further detailed explanation.
The unified calculation method of multiple coverage rate can adopt different testing tools and method of testing dynamically to carry out tested program in the white box automation software testing; The method of definite software test procedure adequacy provided by the invention; Fully whether the software test procedure that to be a kind of coverage rate by automation software testing confirm to be carried out as quantizating index means; Its basic thought is: read and treat measuring program; It is carried out static analysis,, tested program is divided into test cell according to the user test demand.Wherein, when the selection system automatically performs, system with single function as a unit under test, when selecting to carry out manually, by the user need to select test one or more functions, type or file, system with it as a unit under test.Select coverage criterion by the user then; Abstract syntax tree and control flow graph according to the unit under test that generates extract element set to be covered, and the program of unit under test is inserted corresponding probe functions; Can adopt automatic and artificial dual mode to carry out dynamic test carries out; According to carrying out return results, obtain being capped element, and then calculate the coverage rate of unit under test.
Fig. 1 the present invention is based on the method flow synoptic diagram that the coverage rate quantizating index is confirmed the software test procedure adequacy, and is as shown in Figure 1, mainly comprises the steps:
Said step 1 specifically comprises:
Step 11, according to the function calling relationship in the tested program, tested program is carried out dividing elements, obtain unit under test.
Said unit under test is meant according to the user test demand, with the independently tested object that procedure division to be tested becomes, can be one or more functions, class, file etc.Tested engineering is that unit divides with the unit under test, adopts when dividing automatically, and single function is as a unit under test; When adopting manual intervention to divide; Specifying forming of each unit under test by the user, can be several functions, class, file, perhaps their combination in any.
Said step 11 further comprises:
Step 111, when dividing automatically, system with single function as a unit under test.
The schematic flow sheet that automatic unit is divided, as shown in Figure 2:
With tested program S is example, and it comprises 3 function f 1 (type1 v1), f2 (type2 v2), f3 (type3 v3); Type1, type2, type3 are parameter type, it is carried out static analysis after, obtain function calling relationship, extract the input and output of each function; As a unit under test, hence one can see that with each function that input is arranged, and the unit under test of dividing automatically has 3, i.e. { F1, F2, F3}; Wherein unit under test F1 is expressed as < f1 (type1 v1), the input/output information of f1 >, and unit under test F2 is expressed as < f2 (type2 v2); The input/output information of f2 >, unit under test F3 is expressed as < f3 (type3 v3), the input/output information of f3 >.
When step 112, manual intervention division, by several functions, class, file that the user specifies each unit under test to comprise, perhaps their combination in any, and circulation is carried out, and is all finished by division up to testing engineering, obtains the unit under test set of testing engineering.
Step 21, for the statement coverage criterion, extract in the function of unit to be tested each and can reach statement block and cover element as statement, form statement and cover element set.The statement that belongs to same is if a certain statement wherein is capped, and then all statements of this piece all can be performed.
Step 22, for branch's coverage criterion, extract in the function of unit to be tested, each can reach branch (corresponding one by one with the result that can be performed judgement) and cover element as branch, forms branch and covers element set.
For example, corresponding on the control flow graph of unit under test, all directed edges are branch and cover element set.
Step 23, for the C/DC coverage criterion, extract in the function of unit to be tested, each covers element and comprises:
The predicated expressions that 1) can be performed;
2) in the predicated expressions, all values not only can travel through whole unit under test for very but also can be the simple condition of vacation thus, formed C/DC and covered element set.
For example: corresponding on the control flow graph of unit under test, be expressed as:
1) directed edge E covers element as a C/DC;
2) when E is branch of decision node N, < v>is that C/DC covers element, and wherein v is one group of predicate value of the predicated expressions of N, it be by predicated expressions satisfy the C/DC coverage criterion require determined.
Step 24, for the MC/DC coverage criterion, extract in the function of unit to be tested, each covers element and comprises:
The predicated expressions that 1) can be performed;
2) in the predicated expressions, the simple condition that all can independent effect be judged travels through whole unit under test thus, forms MC/DC and covers element set.
For example: corresponding on the control flow graph of unit under test, be expressed as: get directed edge E on the control flow graph:
1) when E is the branch of non-decision node, E covers element as a MC/DC;
2) when E is branch of decision node N, < E, v>covers element as MC/DC, and wherein v is one group of predicate value of the predicated expressions of N, it be by predicated expressions satisfy the MC/DC coverage criterion require determined.
Step 25, for the path coverage criterion, extract in the function of unit to be tested, all reachable paths are formed the path and are covered element set as covering element.
For example: corresponding on the control flow graph of unit under test; Be expressed as: extract an orderly sequence node and orderly directed edge sequence on the control flow graph; Make this subgraph have unique input node and unique output node, and the input node is function entrance, output node is function outlet.
Step 26, for the function coverage criterion; Extract in the class (for the direct situation of type of formation of function) or file (for the situation of the direct configuration file of function) of unit to be tested; All can be performed function and cover element as function, form function and cover element set.As long as suppose to have in the function paths to be performed, just think that this function can be performed.
Step 27, for the class coverage criterion, extract all can be performed in the file of unit to be tested class as element, constitute and type cover an element set.As long as have a function to be performed in type of hypothesis, just think that such is performed.
Step 28, for the file coverage criterion, extract that all can be performed file as element in the unit to be tested, composing document covers element set.For situation,, just think that this document can be performed as long as suppose to have in the file class to be performed by the direct composing document of class.For situation,, just think that this document can be performed as long as suppose to have in the file function to be performed by the direct composing document of function.
Specify how to insert probe functions with exemplary program statistics.c below according to different coverage criterions.Program function is: import a line character, count the wherein number of English alphabet, space, numeral and other character respectively.Source program is following:
#include?"stdio.h"
void?statistics(char?c)
{
int?letters=0,space=0,digit=0,others=0;
if(c!='\n')
{
if(c>='a'&&c≤'z'||c>='A'&&c≤'Z')
letters++;
else?if(c=='?')
space++;
else?if(c>='0'&&c≤'9')
digit++;
else
others++;
}
printf("all?in?all:char=%d?space=%d?digit=%d?others=%d\n",letters,space,digit,others);
}.
This step 3 specifically comprises:
Step 31, for the statement coverage criterion, cover insertion statement probe functions in each element (be and can reach statement block) of element set at statement.
It is the statement plug-in mounting of unit that statement adopts with " piece ", and here, so-called piece is exactly the statement collection of the adjacent maximum of execution continuously in logic.Insert the statement probe functions at following node place now: function begin place, if statement block, else statement block, case statement piece, default statement block, label statement block, for statement block, while statement piece, do-while piece, catch statement block, finally statement block, redirect statement before.
All statements that statement probe functions void _ Block_Cov (int blockNum) is illustrated in the corresponding statement block of plug-in mounting point obtain carrying out.The abstract syntax tree root node of a statement block of blockNum unique identification wherein, when the while statement piece was performed, the statement block corresponding identifier was by record.
The statement probe functions realizes as follows:
void_Block_Cov(int?blockNum)
{
cppTestSendData(blockNum);
}
Source code is: a=d+b;
Code behind the plug-in mounting is:
a=d+b;
_Block_Cov(Num);
Can obtain the probe functions of tested program statistics.c under the statement coverage criterion by above-mentioned analysis and insert the result:
#include?"stdio.h"
void?statistics(char?c)
{
int?letters=0,space=0,digit=0,others=0;
_Block_Cov(0);
if(c!='\n')
{
_Block_Cov(1);{
if(c>='a'&&c≤'z'||c>='A'&&c≤'Z')
{
_Block_Cov(2);letters++;
}
else?{
_Block_Cov(3);if(c=='?')
{
_Block_Cov(4);space++;
}
else?{
_Block_Cov(5);if(c>='0'&&c≤'9')
{
_Block_Cov(6);digit++;
}
else{
_Block_Cov(7);others++;
}
}
}
}
}
printf("all?in?all:char=%d?space=%d?digit=%d?others=%d\n",letters,space,digit,others);
}
Be designated as instrument_statistics.c, wherein the positive and negative bound of returning value of probe functions can artificially be provided with.
Step 32, for branch's coverage criterion, cover in branch and to insert branch's probe functions in each element of element set.
Probe functions bool _ the Bran_Cov of branch (bool exp, Int PositiveBranchId, int negitiveBranchId) obtains branch's situation when moving, and does not change the actuating logic of source code.The numeral that basis receives when operation is positive number or negative, differentiates the value of respective branch.Wherein rreturn value PositiveBranchId and negitiveBranchId represent that respectively branch's value is true and false.
The realization of branch's probe functions is following:
bool?_Bran_Cov(bool?exp,?Int?PositiveBranchId,?int?negitiveBranchId)
{
if(exp)
cppTestSendData(PositiveBranchId);
else
cppTestSendData(negitiveBranchId);
Return exp; // the actuating logic of reprogramming not
}
Source code: if (a&&b)
Plug-in mounting post code: if (_ Branch_Cov (a&&b, trueNum, FalseNum))
Can obtain the probe functions of tested program statistics.c under branch's coverage criterion by above-mentioned analysis and insert the result:
void?statistics(char?c)
{
int?letters=0,space=0,digit=0,others=0;
_Block_Cov(0);
if(_Bran_Cov(c!='\n',-2147483647,1))
{
if(_Bran_Cov(c>='a'&&c≤'z'||c>='A'&&c≤'Z',-2147483646,2))
letters++;
else?if(_Bran_Cov(c=='?',-2147483645,3))
space++;
else?if(_Bran_Cov(c>='0'&&c≤'9',-2147483644,4))
digit++;
else
others++;
}
printf("all?in?all:char=%d?space=%d?digit=%d?others=%d\n",letters,
space,digit,others);
}
Be designated as instrument_statistics.c, wherein the positive and negative bound of returning value of probe functions can artificially be provided with.
Step 33, for the C/DC coverage criterion; In each element of C/DC covering element set, insert probe functions; Promptly can be performed in the judgement at each and insert branch's probe functions, all values not only can be for very but also can be that the simple condition place of vacation inserts the condition probe functions in correspondence is judged.
Condition probe functions bool _ Cond_Cov (bool exp, int positiveCondId, int negitiveCondId) obtains the value condition that the operation phase is performed simple condition, and does not change the actuating logic of source code.The numeral that basis receives when operation is positive number or negative, differentiates the value of corresponding judgement.Wherein rreturn value positiveCondId and negitiveCondId represent that respectively the condition value is true and false.
The realization of condition probe is following:
bool?_Cond_Cov(bool?exp,?Int?positiveCondId,?int?negitiveCondId)
{
if(exp)
cppTestSendData(positiveCondId);
else
cppTestSendData(negitiveCondId);
Return exp; // the actuating logic of reprogramming not
}
On predicated expressions, inserting branch's probe also is each conditional expression insertion condition probe in the predicated expressions.When dynamic operation, according to the plug-in mounting information that receives, obtain branch's value true and false with branch in the value of condition true and false.
Source code: if (a&&b),
Code behind insertion branch's probe and the condition probe:
if(_Branch_COV(if(_Cond_Cov(a,trueNum,falseNum)&&_Cond_Cov(b,trueNum,falseNum)),trueNum,FalseNum))
Can obtain the probe functions of tested program statistics.c under the C/DC coverage criterion by above-mentioned analysis and insert the result:
void?statistics(char?c)
{
int?letters=0,space=0,digit=0,others=0;
_Block_Cov(0);
if(_Bran_Cov(_Cond_Cov(c!='\n',-2147483647,1),-2147483646,2))
{
if(_Bran_Cov(_Cond_Cov(c>='a',-2147483645,3)&&_Cond_Cov(c≤'z',-2147483644,4)||_Cond_Cov(c>='A',-2147483643,5)&&_Cond_Cov(c≤'Z',-2147483642,6),-2147483641,7))
letters++;
else?if(_Bran_Cov(_Cond_Cov(c=='?',-2147483640,8),-2147483639,9))
space++;
else?if(_Bran_Cov(_Cond_Cov(c>='0',-2147483638,10)&&_Cond_Cov(c≤'9',-2147483637,11),-2147483636,12))
digit++;
else
others++;
}
printf("all?in?all:char=%d?space=%d?digit=%d?others=%d\n",letters,space,digit,others);
}
Be designated as instrument_statistics.c, wherein the positive and negative bound of returning value of probe functions can artificially be provided with.
Step 34, for the MC/DC coverage criterion, in MC/DC covers each element in the element set, insert probe functions.Promptly can be performed judgement place at each and insert branch's probe functions, but the simple condition place that all independent effect in correspondence is judged are judged inserts the condition probe functions, method is with step 32 and step 33.
Step 35, for the path coverage criterion, cover based on statement and to add up, so need not extra insertion probe functions.
Step 36, for the function coverage criterion, cover based on the path and to add up, so need not extra insertion probe functions.
Step 37, for the class coverage criterion, cover based on function and to add up, so need not extra insertion probe functions.
Step 38, cover accurate side, cover based on class or function and add up, so need not extra insertion probe functions for file.
Wherein, said step 4 specifically comprises:
Step 41, automatically perform for system, system generates the test case of unit under test automatically, and it is generated executable file, carries out test execution.Automatically the process of test execution is as shown in Figure 3, for a test cell, generates corresponding test case library, is used for preserving all effective test cases.This step 41 further comprises:
For example for tested program statistics.c; System generates a test case (' b ') according to its input parameter type and scope; And generation drives file driverFile_statistics.c; DriverFile_statistics.c and insertion probe functions unit under test file instrument_statistics.c are afterwards linked; Generate executable file test_statistics.exe, move executable file then, and obtain test case library testcase_statistics.mdb.
Step 42, manually carry out for the user; Manually the pretreated measuring program of treating is generated possible pile function, test case and driving file by the user; And will drive in file and the step 3 the unit under test place file that inserts after the probe functions and link; Generate executable file and operation, carry out test execution.
With source program statistics.c is example, and the user generates pile function _ STUB_statistics according to function information after the pre-service; And then generate the stake code, according to the test case (for example ' b ') of appointment, generate driving function _ DRIVER_statistics then; Call test case, at last the tested program after stake code, driving function, the insertion probe functions is linked, generate executable file test_statistics.exe; The operation executable file carries out test execution.
Step 51, utilize the return message of the probe functions of program to be tested, obtain being capped element set.
Wherein step 51 further comprises:
Step 511, for the statement coverage criterion, probe functions return that unit under test statement in the test process covers set all be capped the corresponding numeral of statement block.
For example: the test case of in step 4, carrying out (' b '), the probe functions return results of unit under test statistics.c is: 0,1; 2; Hence one can see that probe functions _ Block_Cov (0), _ Block_Cov (1), the statement block that _ Block_Cov (2) is identified is capped.
Step 512, for branch's coverage criterion, probe functions is returned the corresponding numeral of all branches that are capped that unit under test branch in the test process covers set.
The test case of for example in step 4, carrying out (' b '); The probe functions return results of unit under test statistics.c is: 0;-2147483647 ,-2147483646, hence one can see that probe functions _ Bran_Cov (0); _ Bran_Cov (2147483647), the branch that _ Bran_Cov (2147483646) is identified is capped.
Step 513, for the C/DC coverage criterion, what probe functions returned that unit under test C/DC in the test process covers set is capped the corresponding numeral of element (judgement that all are capped, and all simple conditions that are capped in judging).
Step 514, for the MC/DC coverage criterion; Probe functions is returned the numeral that is capped element (judgement that all are capped, but and the simple condition that all independent effect that are capped are judged in judging) correspondence of unit under test MC/DC covering set in the test process.
Step 515, for the path coverage criterion; Cover the statement block that is capped of set according to the statement that obtains in the step e 11; According to the principle that all statement blocks on a paths this path that is capped that and if only if are capped, all that extract unit to be tested are capped the path.
Step 516, for the function coverage criterion; According to being capped the path in the path covering set that obtains in the step e 15; According to the principle that has at least a paths to be capped in a function this function that is capped that and if only if, extract all of to be tested type and be capped in function (situation about directly constituting for file) or the file all and be capped function (situation about directly constituting for file) by function by class.
Step 517, for the class coverage criterion, according to the function that is capped that obtains in the step e 16,, extract all types of being capped of file to be tested according to the principle that a class is capped that and if only and if has at least a function to be capped in this type of.
Step 518, for the file coverage criterion; According to type of being capped that obtains in the step e 17 (situation about directly constituting for file) by class; According to the principle that has at least a class to be capped in a file this file that is capped that and if only if; Perhaps be capped function (situation about directly constituting for file) by function according to what obtain among the E16; According to the principle that has at least a function to be capped in a file this file that is capped that and if only if, all that extract engineering to be tested are capped file.
Step 52, analysis cover the result; Mode through graphical interfaces identifies and has covered element in the source code and do not covered element, and calculates sentence covering rate, branch's coverage rate, C/DC coverage rate, MC/DC coverage rate, path coverage rate, function coverage rate, type coverage rate, the file coverage rate of unit under test.
Wherein step 52 further comprises:
The coverage rate that step 521, statistics statement cover, the statement that at first obtains in the statistic procedure 511 covers the statement block element number that element set is capped.Mode through graphical interfaces identifies statement block element that has been capped in the source code and the statement block element that is not capped.The statement that extracts in the statistic procedure 21 then covers the total number of element of element set, with the element total number of the statement block element number that is capped divided by statement covering element set, can calculate sentence covering rate.
The variable implication is following in the above-mentioned formula:
The coverage rate that step 522, statistics branch cover, the branch that at first obtains in the statistic procedure 512 covers branch's element number that element set is capped.Mode through graphical interfaces identifies branch's element that has been capped in the source code and the branch's element that is not capped.The branch that extracts in the statistic procedure 22 then covers the total number of element of element set, divided by total element number that branch covers element set, can calculate branch's coverage rate with the branch's element number that has been capped.
The variable implication is following in the above-mentioned formula:
: branch covers the element number that is capped in the element set
The coverage rate that step 523, statistics C/DC cover, the simple condition that is capped that at first obtains in the statistic procedure 513 and branch's number.Mode through graphical interfaces identifies branch, simple condition and the number of times thereof that has been capped in the source code, and reached at branch that is not capped and corresponding simple condition thereof.Add up the C/DC that extracts in the said step 23 then and cover the total number of element (branch's number+value promptly can be and can be false simple condition number * 2 very again in the C/DC covering set) of set; The number of times sum that is not repeated value with branch's number that is capped and simple condition covers the total number of gathering of element divided by C/DC, can calculate the C/DC coverage rate.
Above-mentioned formula variable implication is following:
The value that
: C/DC covers in the element set promptly can be the total number of simple condition that can be vacation very again
The coverage rate that step 524, statistics MC/DC cover, the simple condition that is capped that at first obtains in the statistic procedure 514 and branch's number.Mode through graphical interfaces identifies branch, simple condition and the number of times thereof that has been capped in the source code, and reached at branch that is not capped and corresponding simple condition thereof.The MC/DC that extracts in the statistic procedure 24 then covers the total number of element (branch's number+value promptly can be and can be false simple condition number * 2 very again in the MC/DC covering set) of set; The number of times that is not repeated value with simple condition covers the total number of gathering of element with the branch's number sum that is capped divided by MC/DC, can calculate the MC/DC coverage rate.
Above-mentioned formula variable implication is following:
The value that
: MC/DC covers in the element set promptly can be the total number of simple condition that can be vacation very again
The coverage rate that step 525, statistical path cover at first utilizes the statement that is capped that obtains in the step 515 to count the reachable path number that is capped.Mode through graphical interfaces identifies and has been capped the path in the source code and has not been capped the path.With being capped number of path, can calculate the path coverage rate then divided by the reachable path sum that the set of the path elements from step 25 calculates.
Above-mentioned formula variable implication is following:
: the path covers the path number that is capped in the set
Step 526, for the coverage rate that function covers, the function that at first obtains in the statistic procedure 516 covers set and is capped the function number.Mode through graphical interfaces identifies and has been capped function in the source code and has not been capped function.The function that extracts in the statistic procedure 26 then covers the total number of set element, covers the total number of element in the set with the function number that is capped divided by function, can calculate the function coverage rate.
Above-mentioned formula variable implication is following:
Step 527, for the coverage rate that class covers, the class that at first obtains in the statistic procedure 517 covers the class number that set is capped.Mode through graphical interfaces identifies in the source code type of being capped and type of not being capped.The class that extracts in the statistic procedure 27 then covers the total number of element of element set, with the total number of the class number that is capped divided by in the covering set type, and can type of calculating coverage rate.
Above-mentioned formula variable implication is following:
Step 528, the coverage rate that covers for file, the be performed total number of files that is capped in the tested engineering that at first obtains in the statistic procedure 518.Mode through graphical interfaces identifies be performed file that has been capped in the source code and the be performed file that is not capped.The total number of be performed file that extracts in the statistic procedure 28 then divided by the total number of the file that can be performed in the engineering, can calculate the file coverage rate with the file number that is capped in the engineering.
Above-mentioned formula variable implication is following:
The above is merely preferred embodiment of the present invention, is not to be used to limit protection scope of the present invention.
Claims (7)
1. confirm the method for software test procedure adequacy to it is characterized in that this method mainly comprises based on the coverage rate quantizating index for one kind:
A, tested program is carried out precompile, lexical analysis and grammatical analysis, obtain the call graph between abstract syntax tree, control flow graph and the function of program, and, generate unit under test automatically according to the user test demand;
B, according to coverage criterion, from said abstract syntax tree and control flow graph, extract element set accordingly to be covered in the unit under test;
C, according to described coverage criterion, in the program of unit under test, insert corresponding probe functions;
D, according to the user test demand, the mode that selective system automatically performs or the user manually carries out is carried out dynamic test to the unit under test that inserts probe functions;
E, according to the return message that dynamic test is carried out, obtain the element set that is capped of test cell, and calculate the coverage rate of unit under test.
2. according to claim 1ly confirm the method for software test procedure adequacy to it is characterized in that said steps A comprises based on the coverage rate quantizating index:
According to the function calling relationship in the tested program, tested program is carried out dividing elements, obtain unit under test; Said unit under test is according to the user test demand, and with the independently tested object that procedure division to be tested becomes, it is one or more functions, class, file.
3. according to claim 1ly confirm the method for software test procedure adequacy to it is characterized in that said step B comprises based on the coverage rate quantizating index:
For the statement coverage criterion, extract in the function of unit to be tested each and can reach statement block and cover element as statement, form statement and cover element set;
For branch's coverage criterion, to extract in the function of unit to be tested, each can reach branch and cover element as branch, forms branch and covers element set;
For the C/DC coverage criterion, to extract in the function of unit to be tested, each covers element and comprises: the predicated expressions that can be performed; In the predicated expressions, all values not only can travel through whole unit under test for very but also can be the simple condition of vacation thus, formed C/DC and covered element set;
For the MC/DC coverage criterion, to extract in the function of unit to be tested, each covers element and comprises: the predicated expressions that can be performed; In the predicated expressions, the simple condition that all can independent effect predicated expressions result travels through whole unit under test thus, forms MC/DC and covers element set;
For the path coverage criterion, extract in the function of unit to be tested, all reachable paths are formed the path and are covered element set as covering element;
For the function coverage criterion; Extract in the class (for the direct situation of type of formation of function) or file (for the situation of the direct configuration file of function) of unit to be tested; All functions that can be performed cover element as function, form function and cover element set; As long as suppose to have in the function paths to be performed, just think that this function can be performed;
For the class coverage criterion, extract all can be performed in the file of unit to be tested class as type covering elements, constitute and type cover an element set;
For the file coverage criterion, extract that all files that can be performed cover element as file in the unit to be tested, composing document covers element set; For situation,, just think that this document can be performed as long as there is a class to be performed in this document by the direct composing document of class; For situation,, just think that this document can be performed as long as there is a function to be performed in this document by the direct composing document of function.
4. according to claim 1ly confirm the method for software test procedure adequacy to it is characterized in that said step C comprises based on the coverage rate quantizating index:
For the statement coverage criterion, in each element of statement covering element set, insert probe functions, so that the situation that is capped of statement block in the record implementation of test cases process;
For branch's coverage criterion, cover insertion branch probe functions in each element of element set in branch, so that the situation that is capped of branch in the record implementation of test cases process;
For the C/DC coverage criterion; In each element of C/DC covering element set, insert probe functions; Promptly can carry out and insert branch's probe functions in the judgement at each; All values not only can be for very but also can be that the simple condition place of vacation inserts the condition probe functions, so that the situation that is capped of C/DC element in the record implementation of test cases process in correspondence is judged;
For the MC/DC coverage criterion,, MC/DC inserts probe functions in covering each element in the element set; Promptly can carry out judgement place and insert branch's probe functions, but the simple condition place that all independent effect in correspondence is judged are judged inserts the condition probe functions, so that the situation that is capped of MC/DC element in the record implementation of test cases process at each;
For the path coverage criterion, cover based on statement and to add up, so need not extra insertion probe functions;
For the function coverage criterion, cover based on the path and to add up, so need not extra insertion probe functions;
For the class coverage criterion, cover based on function and to add up, so need not extra insertion probe functions;
Cover accurate side for file, add up based on class or function covering, so need not extra insertion probe functions.
5. describedly confirm the method for software test procedure adequacy to it is characterized in that said step D comprises according to claim 1 or 4 based on the coverage rate quantizating index:
Automatically perform for system, system generates the test case of unit under test automatically, generates to drive file; Call test case one by one; Generate executable file with driving file with insertion probe functions unit under test place file chaining afterwards, move executable file then, carry out test execution;
Manually carry out for the user; Manually the pretreated measuring program of treating is generated possible pile function, test case and driving file by the user; And the unit under test place file that will drive after file and the described insertion probe functions links; Generate executable file and operation, carry out test execution.
6. according to claim 1ly confirm the method for software test procedure adequacy to it is characterized in that said step e specifically comprises based on the coverage rate quantizating index:
E1, utilize the return message of the probe functions of program to be tested, obtain being capped element set;
E2, analysis cover the result; Mode through graphical interfaces identifies and has covered element in the source code and do not covered element, and calculates sentence covering rate, branch's coverage rate, C/DC coverage rate, MC/DC coverage rate, path coverage rate, function coverage rate, type coverage rate, the file coverage rate of unit under test.
7. according to claim 1ly confirm the method for software test procedure adequacy to it is characterized in that said step e 1 comprises based on the coverage rate quantizating index:
E11, for the statement coverage criterion, probe functions return that unit under test statement in the test process covers set all be capped the corresponding numeral of statement block;
E12, for branch's coverage criterion, probe functions is returned the corresponding numeral of all branches that are capped that unit under test branch in the test process covers set;
E13, for the C/DC coverage criterion, what probe functions returned that unit under test C/DC in the test process covers set is capped the corresponding numeral of element (judgement that all are capped and judge in all simple conditions that are capped);
E14, for the MC/DC coverage criterion, what probe functions returned that unit under test MC/DC in the test process covers set is capped the corresponding numeral of element (judgement that all are capped, but and the simple condition that all independent effect that are capped are judged in judging);
E15, for the path coverage criterion; Cover the statement block that is capped of set according to the statement that obtains in the step e 11; According to the principle that all statement blocks on a paths this path that is capped that and if only if are capped, all that extract unit to be tested are capped the path;
E16, for the function coverage criterion; According to being capped the path in the path covering set that obtains in the step e 15; According to the principle that has at least a paths to be capped in a function this function that is capped that and if only if, extract all of to be tested type and be capped in function (situation about directly constituting for file) or the file all and be capped function (situation about directly constituting for file) by function by class;
E17, for the class coverage criterion, according to the function that is capped that obtains in the step e 16,, extract all types of being capped of file to be tested according to the principle that a class is capped that and if only and if has at least a function to be capped in this type of;
E18, for the file coverage criterion; If file directly is made up of class; According to type of being capped that obtains in the step e 17, according to the principle that has at least a class to be capped in a file this file that is capped that and if only if, perhaps according to the function that is capped that obtains among the E16; According to the principle that has at least a function to be capped in a file this file that is capped that and if only if, all that extract engineering to be tested are capped file.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110338915.XA CN102419728B (en) | 2011-11-01 | 2011-11-01 | Method for determining software test process sufficiency based on coverage rate quantitative indicators |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110338915.XA CN102419728B (en) | 2011-11-01 | 2011-11-01 | Method for determining software test process sufficiency based on coverage rate quantitative indicators |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102419728A true CN102419728A (en) | 2012-04-18 |
CN102419728B CN102419728B (en) | 2014-10-29 |
Family
ID=45944147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110338915.XA Expired - Fee Related CN102419728B (en) | 2011-11-01 | 2011-11-01 | Method for determining software test process sufficiency based on coverage rate quantitative indicators |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102419728B (en) |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019933A (en) * | 2012-11-27 | 2013-04-03 | 网宿科技股份有限公司 | Automatic test case coverage identification method and device |
CN103425573A (en) * | 2012-05-24 | 2013-12-04 | 腾讯科技(深圳)有限公司 | Code testing information collecting method and system |
CN103593291A (en) * | 2013-11-18 | 2014-02-19 | 北京邮电大学 | Method and device applied to unit testing including multiple function testing modules |
CN103631707A (en) * | 2012-08-27 | 2014-03-12 | 腾讯科技(深圳)有限公司 | Method and device for obtaining code coverage rate |
CN104077232A (en) * | 2014-07-21 | 2014-10-01 | 上海零一拼装信息技术有限公司 | Testing device and method based on use case and source code two-way tracing |
CN104317710A (en) * | 2014-10-21 | 2015-01-28 | 北京邮电大学 | Under-test program modification method and system for use in structural testing |
CN104317723A (en) * | 2014-11-14 | 2015-01-28 | 清华大学 | Method and system for tracking running information of drive program |
CN104375943A (en) * | 2014-12-11 | 2015-02-25 | 吴翔虎 | Embedded software black-box test case generation method based on static models |
CN104391793A (en) * | 2014-11-27 | 2015-03-04 | 中国联合网络通信集团有限公司 | Generation method and device of test steps and scripts |
CN105224460A (en) * | 2015-10-23 | 2016-01-06 | 浪潮电子信息产业股份有限公司 | Method for counting test coverage rate based on plug-in technology |
CN106155892A (en) * | 2015-04-03 | 2016-11-23 | 腾讯科技(深圳)有限公司 | Judge method and the program test equipment of Application testing coverage |
CN106155897A (en) * | 2015-04-16 | 2016-11-23 | 腾讯科技(深圳)有限公司 | A kind of method for processing business and device |
CN106569944A (en) * | 2016-10-14 | 2017-04-19 | 上海微小卫星工程中心 | Constraint-tree-based onboard software test data analysis method |
CN106874187A (en) * | 2016-12-29 | 2017-06-20 | 腾讯科技(深圳)有限公司 | code coverage collection method and device |
CN107229565A (en) * | 2017-05-31 | 2017-10-03 | 北京京东尚科信息技术有限公司 | Method of testing and device |
CN107678967A (en) * | 2017-10-09 | 2018-02-09 | 武汉斗鱼网络科技有限公司 | Unit testing coverage rate generation method, device, readable storage medium storing program for executing and equipment |
CN107870853A (en) * | 2016-09-27 | 2018-04-03 | 北京京东尚科信息技术有限公司 | The method and device of test program code path coverage |
CN108197036A (en) * | 2018-02-06 | 2018-06-22 | 百度在线网络技术(北京)有限公司 | For determining the method and apparatus of the coverage rate information of incremental code |
CN108710575A (en) * | 2018-05-23 | 2018-10-26 | 华南理工大学 | Unit test method based on automatic generation of path coverage test case |
CN108804304A (en) * | 2017-05-05 | 2018-11-13 | 北京京东尚科信息技术有限公司 | Method for generating test case and device, storage medium, electronic equipment |
CN109308260A (en) * | 2018-08-30 | 2019-02-05 | 福建天泉教育科技有限公司 | A kind of method and terminal of automatically generating unit test code |
CN109376075A (en) * | 2018-09-19 | 2019-02-22 | 北京奇安信科技有限公司 | A kind of processing method and processing device generating the optimal Test coverage path of test object |
CN109992498A (en) * | 2017-12-29 | 2019-07-09 | 北京京东尚科信息技术有限公司 | Generation method and system, the computer system of test case |
CN110348226A (en) * | 2019-07-12 | 2019-10-18 | 北京字节跳动网络技术有限公司 | A kind of scan method of project file, device, electronic equipment and storage medium |
CN110543421A (en) * | 2019-08-31 | 2019-12-06 | 华南理工大学 | Unit test automatic execution method based on test case automatic generation algorithm |
CN110556102A (en) * | 2018-05-30 | 2019-12-10 | 蔚来汽车有限公司 | intention recognition and execution method, device, vehicle-mounted voice conversation system and computer storage medium |
CN110750459A (en) * | 2019-10-23 | 2020-02-04 | 天津汇缘诚信科技有限公司 | White box analysis-based method for automatically generating test cases and managing test processes |
CN111858322A (en) * | 2020-07-10 | 2020-10-30 | 中国科学技术大学 | Python language feature automatic identification system and method |
CN111949505A (en) * | 2019-05-14 | 2020-11-17 | 阿里巴巴集团控股有限公司 | Test method, device and equipment |
CN112463607A (en) * | 2020-11-26 | 2021-03-09 | 苏州洞察云信息技术有限公司 | Confirmation method and device for judging statement value and storage medium |
CN112905443A (en) * | 2019-12-04 | 2021-06-04 | 阿里巴巴集团控股有限公司 | Test case generation method, device and storage medium |
US11086759B2 (en) | 2018-09-27 | 2021-08-10 | SeaLights Technologies LTD | System and method for probe injection for code coverage |
US11093374B2 (en) | 2016-08-09 | 2021-08-17 | SeaLights Technologies LTD | System and method for continuous testing and delivery of software |
CN114253862A (en) * | 2021-12-29 | 2022-03-29 | 湖南泛联新安信息科技有限公司 | Asynchronous event-driven automatic analysis method for HDL (hardware description language) code simulation coverage rate |
US11573885B1 (en) | 2019-09-26 | 2023-02-07 | SeaLights Technologies LTD | System and method for test selection according to test impact analytics |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833500A (en) * | 2010-04-07 | 2010-09-15 | 南京航空航天大学 | Embedded software intelligent testing method based on Agent |
CN101916225A (en) * | 2010-09-02 | 2010-12-15 | 于秀山 | Graphical user interface software function coverage testing method |
-
2011
- 2011-11-01 CN CN201110338915.XA patent/CN102419728B/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833500A (en) * | 2010-04-07 | 2010-09-15 | 南京航空航天大学 | Embedded software intelligent testing method based on Agent |
CN101916225A (en) * | 2010-09-02 | 2010-12-15 | 于秀山 | Graphical user interface software function coverage testing method |
Non-Patent Citations (1)
Title |
---|
杨朝红等: "基于软件缺陷模型的测试***", 《北京邮电大学学报》 * |
Cited By (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425573A (en) * | 2012-05-24 | 2013-12-04 | 腾讯科技(深圳)有限公司 | Code testing information collecting method and system |
CN103425573B (en) * | 2012-05-24 | 2017-02-08 | 腾讯科技(深圳)有限公司 | Code testing information collecting method and system |
CN103631707A (en) * | 2012-08-27 | 2014-03-12 | 腾讯科技(深圳)有限公司 | Method and device for obtaining code coverage rate |
CN103631707B (en) * | 2012-08-27 | 2018-01-30 | 腾讯科技(深圳)有限公司 | A kind of method and device for obtaining code coverage |
CN103019933A (en) * | 2012-11-27 | 2013-04-03 | 网宿科技股份有限公司 | Automatic test case coverage identification method and device |
CN103019933B (en) * | 2012-11-27 | 2016-01-13 | 网宿科技股份有限公司 | Test case coverage automatic identifying method and device |
CN103593291B (en) * | 2013-11-18 | 2016-03-09 | 北京邮电大学 | For comprising unit test method and the device of multiple function test module |
CN103593291A (en) * | 2013-11-18 | 2014-02-19 | 北京邮电大学 | Method and device applied to unit testing including multiple function testing modules |
CN104077232A (en) * | 2014-07-21 | 2014-10-01 | 上海零一拼装信息技术有限公司 | Testing device and method based on use case and source code two-way tracing |
CN104077232B (en) * | 2014-07-21 | 2017-02-22 | 上海零一拼装信息技术有限公司 | Testing device and method based on use case and source code two-way tracing |
CN104317710A (en) * | 2014-10-21 | 2015-01-28 | 北京邮电大学 | Under-test program modification method and system for use in structural testing |
CN104317723A (en) * | 2014-11-14 | 2015-01-28 | 清华大学 | Method and system for tracking running information of drive program |
CN104317723B (en) * | 2014-11-14 | 2017-02-22 | 清华大学 | Method and system for tracking running information of drive program |
CN104391793A (en) * | 2014-11-27 | 2015-03-04 | 中国联合网络通信集团有限公司 | Generation method and device of test steps and scripts |
CN104391793B (en) * | 2014-11-27 | 2017-07-14 | 中国联合网络通信集团有限公司 | Testing procedure and test script generation method and device |
CN104375943A (en) * | 2014-12-11 | 2015-02-25 | 吴翔虎 | Embedded software black-box test case generation method based on static models |
CN106155892A (en) * | 2015-04-03 | 2016-11-23 | 腾讯科技(深圳)有限公司 | Judge method and the program test equipment of Application testing coverage |
CN106155897A (en) * | 2015-04-16 | 2016-11-23 | 腾讯科技(深圳)有限公司 | A kind of method for processing business and device |
CN105224460A (en) * | 2015-10-23 | 2016-01-06 | 浪潮电子信息产业股份有限公司 | Method for counting test coverage rate based on plug-in technology |
US11093374B2 (en) | 2016-08-09 | 2021-08-17 | SeaLights Technologies LTD | System and method for continuous testing and delivery of software |
US11775416B2 (en) | 2016-08-09 | 2023-10-03 | SeaLights Technologies LTD | System and method for continuous testing and delivery of software |
CN107870853A (en) * | 2016-09-27 | 2018-04-03 | 北京京东尚科信息技术有限公司 | The method and device of test program code path coverage |
CN106569944A (en) * | 2016-10-14 | 2017-04-19 | 上海微小卫星工程中心 | Constraint-tree-based onboard software test data analysis method |
CN106569944B (en) * | 2016-10-14 | 2019-12-13 | 上海微小卫星工程中心 | Constraint tree-based satellite-borne software test data analysis method |
CN106874187B (en) * | 2016-12-29 | 2020-09-11 | 腾讯科技(深圳)有限公司 | Code coverage rate collection method and device |
CN106874187A (en) * | 2016-12-29 | 2017-06-20 | 腾讯科技(深圳)有限公司 | code coverage collection method and device |
CN108804304A (en) * | 2017-05-05 | 2018-11-13 | 北京京东尚科信息技术有限公司 | Method for generating test case and device, storage medium, electronic equipment |
CN107229565B (en) * | 2017-05-31 | 2020-05-01 | 北京京东尚科信息技术有限公司 | Test method and device |
CN107229565A (en) * | 2017-05-31 | 2017-10-03 | 北京京东尚科信息技术有限公司 | Method of testing and device |
WO2019071929A1 (en) * | 2017-10-09 | 2019-04-18 | 武汉斗鱼网络科技有限公司 | Unit testing code coverage (cc) generation method and apparatus, readable storage medium, and device |
CN107678967A (en) * | 2017-10-09 | 2018-02-09 | 武汉斗鱼网络科技有限公司 | Unit testing coverage rate generation method, device, readable storage medium storing program for executing and equipment |
CN109992498A (en) * | 2017-12-29 | 2019-07-09 | 北京京东尚科信息技术有限公司 | Generation method and system, the computer system of test case |
CN108197036B (en) * | 2018-02-06 | 2021-05-25 | 百度在线网络技术(北京)有限公司 | Method and apparatus for determining coverage information for incremental codes |
CN108197036A (en) * | 2018-02-06 | 2018-06-22 | 百度在线网络技术(北京)有限公司 | For determining the method and apparatus of the coverage rate information of incremental code |
CN108710575B (en) * | 2018-05-23 | 2020-11-24 | 华南理工大学 | Unit test method based on automatic generation of path coverage test case |
CN108710575A (en) * | 2018-05-23 | 2018-10-26 | 华南理工大学 | Unit test method based on automatic generation of path coverage test case |
WO2019223247A1 (en) * | 2018-05-23 | 2019-11-28 | 华南理工大学 | Unit testing method based on automatic generation of path coverage test use cases |
US11720477B2 (en) | 2018-05-23 | 2023-08-08 | South China University Of Technology | Unit testing method based on automatic generation of path coverage test cases |
CN110556102A (en) * | 2018-05-30 | 2019-12-10 | 蔚来汽车有限公司 | intention recognition and execution method, device, vehicle-mounted voice conversation system and computer storage medium |
CN110556102B (en) * | 2018-05-30 | 2023-09-05 | 蔚来(安徽)控股有限公司 | Method, apparatus, in-vehicle voice dialogue system, and computer storage medium for intention recognition and execution |
CN109308260A (en) * | 2018-08-30 | 2019-02-05 | 福建天泉教育科技有限公司 | A kind of method and terminal of automatically generating unit test code |
CN109308260B (en) * | 2018-08-30 | 2021-11-05 | 福建天泉教育科技有限公司 | Method and terminal for automatically generating unit test code |
CN109376075A (en) * | 2018-09-19 | 2019-02-22 | 北京奇安信科技有限公司 | A kind of processing method and processing device generating the optimal Test coverage path of test object |
US11847041B2 (en) | 2018-09-27 | 2023-12-19 | Sealights Technologies Ltd. | System and method for probe injection for code coverage |
US11086759B2 (en) | 2018-09-27 | 2021-08-10 | SeaLights Technologies LTD | System and method for probe injection for code coverage |
CN111949505B (en) * | 2019-05-14 | 2024-05-14 | 阿里云计算有限公司 | Test method, device and equipment |
CN111949505A (en) * | 2019-05-14 | 2020-11-17 | 阿里巴巴集团控股有限公司 | Test method, device and equipment |
CN110348226A (en) * | 2019-07-12 | 2019-10-18 | 北京字节跳动网络技术有限公司 | A kind of scan method of project file, device, electronic equipment and storage medium |
CN110348226B (en) * | 2019-07-12 | 2021-06-18 | 北京字节跳动网络技术有限公司 | Engineering file scanning method and device, electronic equipment and storage medium |
CN110543421A (en) * | 2019-08-31 | 2019-12-06 | 华南理工大学 | Unit test automatic execution method based on test case automatic generation algorithm |
CN110543421B (en) * | 2019-08-31 | 2022-03-29 | 华南理工大学 | Unit test automatic execution method based on test case automatic generation algorithm |
US11573885B1 (en) | 2019-09-26 | 2023-02-07 | SeaLights Technologies LTD | System and method for test selection according to test impact analytics |
CN110750459A (en) * | 2019-10-23 | 2020-02-04 | 天津汇缘诚信科技有限公司 | White box analysis-based method for automatically generating test cases and managing test processes |
CN110750459B (en) * | 2019-10-23 | 2023-10-20 | 天津汇缘诚信科技有限公司 | Automatic test case generation and test process management method based on white box analysis |
CN112905443A (en) * | 2019-12-04 | 2021-06-04 | 阿里巴巴集团控股有限公司 | Test case generation method, device and storage medium |
CN111858322A (en) * | 2020-07-10 | 2020-10-30 | 中国科学技术大学 | Python language feature automatic identification system and method |
CN112463607B (en) * | 2020-11-26 | 2024-03-15 | 苏州洞察云信息技术有限公司 | Determination statement value confirmation method, device and storage medium |
CN112463607A (en) * | 2020-11-26 | 2021-03-09 | 苏州洞察云信息技术有限公司 | Confirmation method and device for judging statement value and storage medium |
CN114253862A (en) * | 2021-12-29 | 2022-03-29 | 湖南泛联新安信息科技有限公司 | Asynchronous event-driven automatic analysis method for HDL (hardware description language) code simulation coverage rate |
Also Published As
Publication number | Publication date |
---|---|
CN102419728B (en) | 2014-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102419728A (en) | Method for determining software test process sufficiency based on coverage rate quantitative indicators | |
CN105022691B (en) | A kind of increasingly automated method for testing software based on uml diagram | |
CN110543421B (en) | Unit test automatic execution method based on test case automatic generation algorithm | |
CN110147235B (en) | Semantic comparison method and device between source code and binary code | |
CN103914379B (en) | Fault is automatically injected the method with fault detect and system thereof | |
CN103744684B (en) | Heterogeneous hardware and software collaborative developing method and system | |
CN107367686A (en) | A kind of generation method of RTL hardware Trojan horses test vector | |
CN109086215A (en) | A kind of embedded software unit testing case generation method and system | |
Omar et al. | HOMAJ: A tool for higher order mutation testing in AspectJ and Java | |
KR20170078770A (en) | Application testing | |
Zhou et al. | Extracting configuration knowledge from build files with symbolic analysis | |
CN110990282B (en) | Automatic unit testing method | |
US20180322033A1 (en) | Code Coverage Tracking For A Microcontroller Program | |
CN108897678B (en) | Static code detection method, static code detection system and storage device | |
CN106294136B (en) | The online test method and system of performance change between the concurrent program runtime | |
CN108629124B (en) | Method for automatically generating simulation parameter data based on active graph path | |
Liu et al. | Automated pattern-directed refactoring for complex conditional statements | |
Ng et al. | What does multi-objective optimization have to do with bottleneck improvement of production systems? | |
CN107391124B (en) | Conditional slicing method based on golden section search and software execution track | |
US8954307B1 (en) | Chained programming language preprocessors for circuit simulation | |
CN106528179B (en) | A kind of static recognition methods of java class dependence | |
Bragaglio et al. | System-level bug explanation through program slicing and instruction clusterization | |
Davidson et al. | Ease: An environment for architecture study and experimentation | |
CN110347610B (en) | Embedded code debugging system and method | |
CN106815145A (en) | A kind of code analysis methods and system based on analysis target drives |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141029 Termination date: 20201101 |