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 PDF

Info

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
Application number
CN201110338915XA
Other languages
Chinese (zh)
Other versions
CN102419728B (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 CN201110338915.XA priority Critical patent/CN102419728B/en
Publication of CN102419728A publication Critical patent/CN102419728A/en
Application granted granted Critical
Publication of CN102419728B publication Critical patent/CN102419728B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Confirm the method for software test procedure adequacy based on the coverage rate quantizating index
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:
Step 1, 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.
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 2, according to coverage criterion (comprising statement, branch, C/DC, MC/DC, path, function, class, file etc.), from abstract syntax tree and control flow graph, extract element set accordingly to be covered in the unit under test.It specifically comprises:
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.
Step 3, according to above-mentioned coverage criterion, in the program of unit under test, insert corresponding probe functions.
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.
Step 4, according to the user test demand, select the employing system to automatically perform mode or the manual executive mode of user is carried out dynamic test to the unit under test that inserts probe functions.
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:
Step 411, system generate corresponding test case according to the input parameter of coverage criterion and unit under test;
Step 412, generation drive file, are used for calling one by one test case;
Step 413, will drive in file and the step 3 the unit under test place file chaining that inserts after the probe functions and generate executable file;
Step 414, operation executable file, test result will and be analyzed by record simultaneously, and finally generate an interpretation of result report, and all effective test cases are generated test case library.
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 5, 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.It specifically comprises:
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.
Figure 333879DEST_PATH_IMAGE001
The variable implication is following in the above-mentioned formula:
Figure 645912DEST_PATH_IMAGE002
: sentence covering rate
Figure 693502DEST_PATH_IMAGE003
: statement covers the element number that is capped in the element set
Figure 3261DEST_PATH_IMAGE004
: statement covers the total number of element of element set
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.
Figure 139232DEST_PATH_IMAGE005
The variable implication is following in the above-mentioned formula:
Figure 192638DEST_PATH_IMAGE006
: branch's coverage rate
: branch covers the element number that is capped in the element set
Figure 575395DEST_PATH_IMAGE008
: branch covers the total number of element of 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.
Figure 930153DEST_PATH_IMAGE009
Above-mentioned formula variable implication is following:
Figure 849567DEST_PATH_IMAGE010
: C/DC coverage rate
Figure 543854DEST_PATH_IMAGE011
: C/DC covers the branch's number that is capped in the element set
Simple condition is not repeated the number of times of value in
Figure 257732DEST_PATH_IMAGE012
: the C/DC covering element set
Figure 303048DEST_PATH_IMAGE013
: C/DC covers the total number of branch in the element set
The value that
Figure 760575DEST_PATH_IMAGE014
: 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.
Figure 309368DEST_PATH_IMAGE015
Above-mentioned formula variable implication is following:
Figure 459726DEST_PATH_IMAGE016
: MC/DC coverage rate
Figure 789076DEST_PATH_IMAGE017
: MC/DC covers the branch's number that is capped in the element set
Simple condition is not repeated the number of times of value in
Figure 987977DEST_PATH_IMAGE012
: the MC/DC covering element set
Figure 456523DEST_PATH_IMAGE018
: MC/DC covers the total number of branch in the element set
The value that
Figure 715466DEST_PATH_IMAGE014
: 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:
Figure 269124DEST_PATH_IMAGE020
: path coverage rate
: the path covers the path number that is capped in the set
Figure 854826DEST_PATH_IMAGE021
: the path covers the total number of element 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.
Figure 284670DEST_PATH_IMAGE022
Above-mentioned formula variable implication is following:
Figure 323033DEST_PATH_IMAGE023
: function coverage rate
Figure 863736DEST_PATH_IMAGE024
: function covers the element number that is capped in the set
Figure 569524DEST_PATH_IMAGE025
: function covers the total number of element of set
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.
Figure 904690DEST_PATH_IMAGE026
Above-mentioned formula variable implication is following:
Figure 695929DEST_PATH_IMAGE027
: type coverage rate
Figure 837060DEST_PATH_IMAGE028
: the class number that is capped in type covering set
Figure 335038DEST_PATH_IMAGE029
: the total number of element in type covering set
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:
Figure 119640DEST_PATH_IMAGE031
: file coverage rate
Figure 67392DEST_PATH_IMAGE032
: the file number that is capped in the tested engineering
Figure 419876DEST_PATH_IMAGE033
: file covers the total number of element in the set.
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.
CN201110338915.XA 2011-11-01 2011-11-01 Method for determining software test process sufficiency based on coverage rate quantitative indicators Expired - Fee Related CN102419728B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
杨朝红等: "基于软件缺陷模型的测试***", 《北京邮电大学学报》 *

Cited By (59)

* Cited by examiner, † Cited by third party
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