CN108509335A - Software Test Data Generation Method based on genetic algorithm optimization - Google Patents

Software Test Data Generation Method based on genetic algorithm optimization Download PDF

Info

Publication number
CN108509335A
CN108509335A CN201810098671.4A CN201810098671A CN108509335A CN 108509335 A CN108509335 A CN 108509335A CN 201810098671 A CN201810098671 A CN 201810098671A CN 108509335 A CN108509335 A CN 108509335A
Authority
CN
China
Prior art keywords
branch
test data
population
path
individuals
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
CN201810098671.4A
Other languages
Chinese (zh)
Other versions
CN108509335B (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.)
Hangzhou Huicui Intelligent Technology Co ltd
Original Assignee
Zhejiang Sci Tech University ZSTU
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 Zhejiang Sci Tech University ZSTU filed Critical Zhejiang Sci Tech University ZSTU
Priority to CN201810098671.4A priority Critical patent/CN108509335B/en
Publication of CN108509335A publication Critical patent/CN108509335A/en
Application granted granted Critical
Publication of CN108509335B publication Critical patent/CN108509335B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses a kind of Software Test Data Generation Methods based on genetic algorithm optimization, belong to software test field.The present invention includes:Static analysis is carried out to current tested program, thus individual path set covering theory is obtained, consider the layer degree of approach, the influence of branch's distance and branch weight, the suitable fitness function of design, in conjunction with elite thought, direction and probability to Genetic Operators are improved respectively, selection to initial population, part initial population is substituted using the population containing heuristic information obtained by set covering theory, to population decile, its paralleling genetic algorithm is operated using improved fitness function and genetic operator, select optimal qualified software test data.The convergence rate that genetic algorithm is promoted while avoiding algorithm from being absorbed in local optimum saves the time cost that software test data generates.

Description

Software test data generation method based on genetic algorithm optimization
Technical Field
The invention belongs to the field of software testing, and particularly relates to a software testing data generation method based on genetic algorithm optimization.
Background
Software testing is a crucial link for ensuring software quality in software system development, and software development cost has a great proportion to be used in testing. If the testing process can be automated, the cost of software development can be reduced to a great extent, and the testing efficiency is improved. The generation work of the test case comprises the steps of determining test requirements, determining input data, operating the tested program and analyzing corresponding output data. The design of the automatic test case generation technology is an important problem of software automatic test, and the solution of the problem is very important for ensuring the software quality and improving the reliability of the software quality.
The genetic algorithm is used as a heuristic search algorithm and has the advantages of simplicity, practicability, strong universality, high robustness, strong global search capability and the like. The genetic algorithm is an effective method for solving the problem of automatic generation of test data, and related research results at home and abroad are more in recent years. However, some inherent defects of the genetic algorithm, such as premature stagnation, easy falling into local optimality, low efficiency of late search, and the like, affect the efficiency of test generation. In addition, the existing adaptive value function design method does not effectively utilize the comprehensive information reflected by the evolution population, so that the generated test data is not well protected in the evolution process.
Therefore, aiming at the defects of the genetic algorithm, the genetic algorithm is improved, the layer proximity, the branch distance and the branch weight of the branch path are used as main design parameters of the test case adaptive value function, the excellence degree of the test case is greatly improved, and the test case obtained by the method is an optimal set for the generation and execution efficiency and the coverage rate of test data. The test data evolution generation method based on the path correlation and the genetic algorithm optimization is provided, the running capability of the method in practice is enhanced, and the method has good advantages in the aspects of coverage rate, test data scale, search time and the like.
Disclosure of Invention
The invention aims to improve an initial population by fully utilizing heuristic information such as correlation between paths and the like aiming at the defects of a genetic algorithm and the defects of the existing method in designing an adaptive value function on the basis of a classical genetic algorithm, designs an adaptive function and combines an elite thought, so that excellent individuals can be better stored, and the operational capability of the algorithm is enhanced.
The technical scheme adopted by the invention for solving the technical problems is as follows: the method comprises the steps of carrying out static analysis on a current program to be tested to obtain a branch path coverage matrix and a population containing heuristic information, considering the influence of layer proximity, branch distance and branch weight, designing a proper fitness function, combining an elite thought, respectively improving the direction and probability of genetic operators in a genetic algorithm, selecting an initial population, replacing part of the initial population by the population containing the heuristic information, dividing the population, carrying out parallel genetic algorithm operation on the population by using the improved fitness function and the genetic operators, avoiding falling into local optimization, improving the convergence speed of the genetic algorithm, and saving the time cost for generating software test data.
In order to achieve the aim, the invention provides a software test data generation method based on genetic algorithm optimization. The method comprises the following specific steps:
(1) statically analyzing a tested software program to obtain a program control flow graph, processing a circulating structure in the control flow graph into a plurality of parallel branch structures, obtaining branch paths, randomly generating initial test data, comparing and checking specific branch path nodes covered by the initial test data, retaining the test data covering part of target paths as part of test data of the program to be tested, and giving a branch path node covering matrix;
(2) combining the branch paths and the coverage matrix thereof determined in the step 1, uniformly coding the paths of the program and calculating and analyzing the correlation between the adjacent paths to obtain a test data population containing heuristic information of the paths difficult to cover; initializing a population, replacing part of the initial population by using the population containing heuristic information obtained by path correlation, and assigning values to algorithm parameters;
(3) calculating layer proximity, branch distance and branch weight, constructing an individual fitness function based on the layer proximity, the branch distance and the branch weight, substituting individual parameters into the fitness function to calculate individual fitness values, sequencing the population according to descending order of the fitness values, and selecting the individuals ranked at the top 5 to form an initial elite population by adopting an elite population thought; equally dividing the remaining ordered population into 5 small populations, eliminating the worst sub-population and replacing the worst sub-population with the copied second bad population;
(4) calculating the similarity between the sub-population individuals and the elite individuals, setting a similarity threshold, and directly selecting the next iteration without performing cross mutation operation on the similarity when the similarity is greater than the similarity threshold; otherwise, carrying out cross operation on the individual and the copied elite individual by using the corresponding cross rate according to the size of the similarity, counting and determining the excellent gene value of the elite individual, and carrying out mutation operation on the excellent gene value of the elite individual directionally by using the corresponding mutation rate according to the size of the similarity;
(5) performing parallel operation on each sub-population processed in the step 3 by adopting the improved selection, crossing and mutation operators in the step 4 to generate a new population of the next generation, and calculating the fitness value of the new population;
(6) judging whether the population meets a set termination condition, if so, stopping iteration, and skipping to the step 7; otherwise, jumping to the step 3;
(7) and outputting the test data set.
Drawings
FIG. 1 is a diagram of the concept conversion of Z-path coverage
Fig. 2 is a basic flow chart of a genetic algorithm.
FIG. 3 is a flow chart of test data generation using the methods described herein.
Detailed Description
The invention is further described by the following detailed description in conjunction with the accompanying drawings.
FIG. 1 is a diagram of the concept conversion of Z-path coverage
As shown in fig. 1, the left part of fig. 1 is a control flow graph, and the right part is a graph after the concept of Z-path overlay is converted. The Z-path coverage means that for the loop in the program, no matter the form of the loop and the number of times of actually executing the loop body, only 0 time and 1 time are needed to be executed, namely only two cases of entering the loop body once and skipping the loop body are considered during execution, and the Z-path coverage is path coverage in the sense of simplifying the loop. For example, after the branch nodes 1, 3, 5 in the graph are branch nodes, 2, 4, 6 are branch child nodes, and after the Z path coverage idea is converted, the branch child node of the original 2 in the left graph, that is, the branch child node a in the right graph, is newly inserted into the branch child node a', and the loop is converted into the parallel of a plurality of selection structures, so that the theoretical path number is easy to calculate, the adjacent path of the known path is easy to determine through the brother branch child node, and the initial test data population containing heuristic information is easier to obtain.
Fig. 2 is a basic flow chart of a genetic algorithm.
As shown in fig. 2, a basic flow of the genetic algorithm is shown, and if M individuals exist in a population and the number of termination iterations of the genetic algorithm is T, starting from the T-0 th generation, the general execution steps of the genetic algorithm are as follows:
step 1: and (5) initializing. Setting an evolution counter T to be 0, setting a maximum evolution algebra T, and randomly generating M individuals as an initial population P (0).
Step 2: and (4) evaluating individuals. The fitness of each individual in the population P (t) is calculated.
And step 3: and selecting operation. The selection operator is applied to the population.
And 4, step 4: and (4) performing cross operation. The crossover operator is applied to the population.
And 5: and (5) performing mutation operation. And (3) acting a mutation operator on the population, and performing the genetic operation on the population P (t) to obtain a next generation population P (t + 1).
Step 6: and (5) judging the termination condition. If T is less than T, updating T by T +1, and turning to the second step; and if T is greater than T, taking the current population optimal solution individual as an output result, and terminating the algorithm.
FIG. 3 is a flow chart of test data generation using the methods described herein.
As shown in fig. 3, the software test data generation method based on genetic algorithm optimization according to the present invention combines branch path coverage, elite population thought and standard genetic algorithm, and preprocesses an initial population by using a branch path coverage matrix relationship; considering the influence of layer proximity, branch distance and branch weight, and designing a proper fitness function; combining the elite thought, the method respectively improves the direction and probability of genetic operators in the genetic algorithm, and the specific method is shown in figure 3 and comprises the following steps:
step 1: statically analyzing a tested software program to obtain a program control flow graph, processing a circulating structure in the control flow graph into a plurality of parallel branch structures by combining a Z path covering idea, obtaining branch paths, randomly generating initial test data, comparing and checking specific branch path nodes covered by the initial test data, retaining the test data covering part of target paths as partial test data of the program to be tested, and giving a branch path node covering matrix;
step 1.1: the representation method of the branch path node coverage matrix comprises the following steps:
if the test data CmCovers the ith branch path PiNode N ofnThen the matrix value is coveredOtherwise, marking as 0;
where m and n represent the mth test data and the branch path P, respectivelyiThe nth node in the test data set is C ═ C1,C2,…,CmThe branch path node set is N ═ N1,N2,…,Nn},Is a branch path node coverage matrix that,indicating whether test data covers the branch path PiThe node of (2).
Step 2: combining the branch paths and the coverage matrix thereof determined in the step 1, uniformly coding the paths of the program and calculating and analyzing the correlation between the adjacent paths to obtain a test data population containing heuristic information of the paths difficult to cover; initializing a population, replacing part of the initial population by using the population containing heuristic information obtained by path correlation, and assigning values to algorithm parameters;
step 2.1: calculating any two paths Pi,PjInter-path similarity Simi (P)i,Pj) The formula is as follows:
wherein,
where n denotes the total path length, l denotes the same number of branch nodes, αl(Pi,Pj) Is taken to indicate two paths Pi,PjWhether the branch nodes passing through the same node are the same; obviously, the more the two paths pass through the same branch node, the greater the similarity, and the greater the correlation between the two paths.
Step 2.2: the method for acquiring the test data population containing the heuristic information of the hard-to-cover path comprises the following specific steps:
1) from the coverage branch node perspective:
each branch node set in the branch path is N ═ N1,N2,…,Ni-1,Ni,Ni+1,…,NnIs determined if the branch node N is determinedi-1And Ni+1Test data of (2), no overlay branch node N is foundiThe heuristic information used for genetic algorithm search is coverage Ni-1And Ni+1Two sets of test data;
2) from the perspective of the coverage branch path:
if no covered branch path P is found1Entry-a-b-c' -exit test data, the covering branch path P has been found2Test data of entry-a-b-c-exit, (where c and c' areSibling branch child node), the heuristic information used for genetic algorithm search is the coverage path P2The test data of (1).
And step 3: calculating layer proximity, branch distance and branch weight, constructing an individual fitness function based on the layer proximity, the branch distance and the branch weight, substituting individual parameters into the fitness function to calculate individual fitness values, sequencing the population according to descending order of the fitness values, and selecting the individuals ranked at the top 5 to form an initial elite population by adopting an elite population thought; equally dividing the remaining ordered population into 5 small populations, eliminating the worst sub-population and replacing the worst sub-population with the copied second bad population;
step 3.1: calculating the kth branch path PkLayer proximity ofThe formula is as follows:
where P (x) denotes the branch path covered by the current individual x, PkFor the kth branch path to be covered, B (P)kP (x)) represents the path P (x) covered by the current individual x and the branch path P to be coveredkLayer proximity of P, which is from the first branch nodekNumber of nodes different from P (x), | PkI is the current target path PkThe number of branch nodes contained in (1);
step 3.2: calculating the kth branch path PkBranch distance ofThe formula is as follows:
in the formula, N2-N1Is an expression of a branch node, c is a constant to express N2≠N1The case (1);
step 3.3: calculating the kth branch path PkBranch weights ofThe formula is as follows:
in the formula, ndiFor the nesting depth obtained through program static analysis, if the nesting depth of a branch is higher, the accessibility of a generated test case covering the branch is lower, the nesting weight of the branch is relatively higher, and the influence on fitness adjustment is correspondingly improved;
step 3.4: calculating an individual fitness function Fit (x) according to the following formula:
where Fit (x) represents the individual fitness function,andare respectively the kth branch path Pkα + β + γ ═ 1, where α is the layer proximity impact factor, β is the branch distance impact factor, γ is the branch weight impact factor, and each impact factor is non-zero.
And 4, step 4: calculating the similarity between the sub-population individuals and the elite individuals, setting a similarity threshold, and directly selecting the next iteration without performing cross mutation operation on the similarity when the similarity is greater than the similarity threshold; otherwise, carrying out cross operation on the individual and the copied elite individual by using the corresponding cross rate according to the size of the similarity, counting and determining the excellent gene value of the elite individual, and carrying out mutation operation on the excellent gene value of the elite individual directionally by using the corresponding mutation rate according to the size of the similarity;
step 4.1: calculating the similarity Simi between the ethnic group individuals and the elite individualsijThe formula is as follows:
wherein the Hamin distance is used to calculate the similarity Simi between two individualsij,XigThe g-th symbol in the binary string representing the i-th input variable, and likewise, XjgThe g-th symbol l in the binary string representing the j-th input variable is the length of the binary string;
step 4.2: calculating the crossing rate between the sub-population individuals and the elite individualsThe formula is as follows:
in the formula, CmAs current sub-population individuals, EjFor elite individuals, M is the similarity threshold.
Step 4.3: calculating the variation rate between the sub-population individuals and the elite individualsThe formula is as follows:
in the formula, CmAs current sub-population individuals, EjFor elite individuals, M is the similarity threshold.
(5) Performing parallel operation on each sub-population processed in the step 3 by adopting the improved selection, crossing and mutation operators in the step 4 to generate a new population of the next generation, and calculating the fitness value of the new population;
(6) judging whether the population meets a set termination condition, if so, stopping iteration, and skipping to the step 7; otherwise, jumping to the step 3;
the termination conditions were set as follows:
a: the best test data to cover all paths has been found.
b: the algorithm reaches the maximum number of iterations.
And if the condition a and the condition b belong to the OR relationship, the algorithm can be finished if the conditions a and b meet one of the conditions.
(7) And outputting the test data set.
The method for using the optimization genetic algorithm based on the path correlation in the software test data generation provided by the invention replaces part of the initial population with the relevant heuristic information obtained by analyzing the branch path coverage matrix, improves the excellence of the initial test case, can quickly find the test data covering the path difficult to cover by optimizing on the basis, and reduces the whole workload. And combining the elite population thought to accelerate the population convergence speed, and striving to make the obtained test data be an optimal set. The operation of the population division parallel genetic algorithm saves the algorithm running time, the running capability of the method in the actual algorithm is enhanced by improving the fitness function and the genetic operator of the genetic algorithm, and the method has good advantages in the aspects of coverage rate, test data scale, search time and the like.

Claims (8)

1. A software test data generation method based on genetic algorithm optimization is characterized by comprising the following steps:
(1) statically analyzing a tested software program to obtain a program control flow graph, processing a circulating structure in the control flow graph into a plurality of parallel branch structures, obtaining branch paths, randomly generating initial test data, comparing and checking specific branch path nodes covered by the initial test data, retaining the test data covering part of target paths as part of test data of the program to be tested, and giving a branch path node covering matrix;
(2) combining the branch paths and the coverage matrix thereof determined in the step 1, uniformly coding the paths of the program and calculating and analyzing the correlation between the adjacent paths to obtain a test data population containing heuristic information of the paths difficult to cover; initializing a population, replacing part of the initial population by using the population containing heuristic information obtained by path correlation, and assigning values to algorithm parameters;
(3) calculating layer proximity, branch distance and branch weight, constructing an individual fitness function based on the layer proximity, the branch distance and the branch weight, substituting individual parameters into the fitness function to calculate individual fitness values, sequencing the population according to descending order of the fitness values, and selecting the individuals ranked at the top 5 to form an initial elite population by adopting an elite population thought; equally dividing the remaining ordered population into 5 small populations, eliminating the worst sub-population and replacing the worst sub-population with the copied second bad population;
(4) calculating the similarity between the sub-population individuals and the elite individuals, setting a similarity threshold, and directly selecting the next iteration without performing cross mutation operation on the similarity when the similarity is greater than the similarity threshold; otherwise, carrying out cross operation on the individual and the copied elite individual by using the corresponding cross rate according to the size of the similarity, counting and determining the excellent gene value of the elite individual, and carrying out mutation operation on the excellent gene value of the elite individual directionally by using the corresponding mutation rate according to the size of the similarity;
(5) performing parallel operation on each sub-population processed in the step 3 by adopting the improved selection, crossing and mutation operators in the step 4 to generate a new population of the next generation, and calculating the fitness value of the new population;
(6) judging whether the population meets a set termination condition, if so, stopping iteration, and skipping to the step 7; otherwise, jumping to the step 3;
(7) and outputting the test data set.
2. The method for generating software test data based on genetic algorithm optimization according to claim 1, wherein the method for representing the branch path node coverage matrix in step 1) comprises:
if the test data CmCovers the ith branch path PiNode N ofnThen the matrix value is coveredOtherwise, marking as 0;
where m and n represent the mth test data and the branch path P, respectivelyiThe nth node in the test data set is C ═ C1,C2,…,CmThe branch path node set is N ═ N1,N2,…,Nn},Is a branch path node coverage matrix that,indicating whether test data covers the branch path PiThe node of (2).
3. The method for generating software test data based on genetic algorithm optimization according to claim 1, wherein the method for calculating the correlation of the analysis path in step 2) is as follows:
calculating any two paths Pi,PjInter-path similarity Simi (P)i,Pj) The formula is as follows:
wherein,
wherein n represents the total path length and l represents the same fractionnumber of branch nodes, αl(Pi,Pj) Is taken to indicate two paths Pi,PjWhether the branch nodes passed between are the same.
4. The method for generating software test data based on genetic algorithm optimization according to claim 1, wherein the method for acquiring the test data population containing heuristic information of the hard-to-cover path in step 2) is as follows:
1) from the coverage branch node perspective:
each branch node set in the branch path is N ═ N1,N2,…,Ni-1,Ni,Ni+1,…,NnIs determined if the branch node N is determinedi-1And Ni+1Test data of (2), no overlay branch node N is foundiThe heuristic information used for genetic algorithm search is coverage Ni-1And Ni+1Two sets of test data;
2) from the perspective of the coverage branch path:
if no covered branch path P is found1Entry-a-b-c' -exit test data, the covering branch path P has been found2Test data of entry-a-b-c-exit, (where c and c' are sibling branch child nodes), then the heuristic information used for genetic algorithm search is the coverage path P2The test data of (1).
5. The method for generating software test data based on genetic algorithm optimization according to claim 1, wherein the method for constructing the individual fitness function in the step 3) specifically comprises:
step a: calculating the kth branch path PkLayer proximity ofThe formula is as follows:
where P (x) denotes the branch path covered by the current individual x, PkFor the kth branch path to be covered, B (P)kP (x)) represents the path P (x) covered by the current individual x and the branch path P to be coveredkLayer proximity of P, which is from the first branch nodekNumber of nodes different from P (x), | PkI is the current target path PkThe number of branch nodes contained in (1);
step b: calculating the kth branch path PkBranch distance ofThe formula is as follows:
in the formula, N2-N1Is an expression of a branch node, c is a constant to express N2≠N1The case (1);
step c: calculating the kth branch path PkBranch weights ofThe formula is as follows:
in the formula, ndiFor the nesting depth obtained through program static analysis, if the nesting depth of a branch is higher, the accessibility of a generated test case covering the branch is lower, the nesting weight of the branch is relatively higher, and the influence on fitness adjustment is correspondingly improved;
step d: calculating an individual fitness function Fit (x) according to the following formula:
where Fit (x) represents the individual fitness function,andare respectively the kth branch path Pkα + β + γ ═ 1, where α is the layer proximity impact factor, β is the branch distance impact factor, γ is the branch weight impact factor, and each impact factor is non-zero.
6. The method for generating software test data based on genetic algorithm optimization according to claim 1, wherein the step 4) of calculating the crossing rate in the crossing operation of the individual and the copied elite individual by using the corresponding crossing rate according to the similarity comprises:
step a: calculating the similarity Simi between the ethnic group individuals and the elite individualsijThe formula is as follows:
wherein the Hamin distance is used to calculate the similarity Simi between two individualsij,XigThe g-th symbol in the binary string representing the i-th input variable, and likewise, XjgThe g-th symbol l in the binary string representing the j-th input variable is the length of the binary string;
step b: calculating the crossing rate between the sub-population individuals and the elite individualsThe formula is as follows:
in the formula,Cmas current sub-population individuals, EjFor elite individuals, M is the similarity threshold.
7. The method as claimed in claim 1, wherein the step 4) of calculating the variation rate in the variation operation using the variation rate oriented to the superior gene value of elite individual according to the similarity comprises:
step a: calculating the similarity Simi between the ethnic group individuals and the elite individualsijThe formula is as follows:
wherein the Hamin distance is used to calculate the similarity Simi between two individualsij,XigThe g-th symbol in the binary string representing the i-th input variable, and likewise, XjgThe g-th symbol l in the binary string representing the j-th input variable is the length of the binary string;
step b: calculating the variation rate between the sub-population individuals and the elite individualsThe formula is as follows:
in the formula, XmAs current sub-population individuals, EjFor elite individuals, M is the similarity threshold.
8. The method for generating software test data based on genetic algorithm optimization according to claim 1, wherein the termination condition in step 6) is set as follows:
a: finding the best test data that can cover all paths;
b: the algorithm reaches the maximum iteration times;
in this case, the condition a and the condition b may be in the relationship of "or", and both of them satisfy one of them.
CN201810098671.4A 2018-01-31 2018-01-31 Software test data generation method based on genetic algorithm optimization Active CN108509335B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810098671.4A CN108509335B (en) 2018-01-31 2018-01-31 Software test data generation method based on genetic algorithm optimization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810098671.4A CN108509335B (en) 2018-01-31 2018-01-31 Software test data generation method based on genetic algorithm optimization

Publications (2)

Publication Number Publication Date
CN108509335A true CN108509335A (en) 2018-09-07
CN108509335B CN108509335B (en) 2021-03-19

Family

ID=63375494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810098671.4A Active CN108509335B (en) 2018-01-31 2018-01-31 Software test data generation method based on genetic algorithm optimization

Country Status (1)

Country Link
CN (1) CN108509335B (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN109918307A (en) * 2019-03-14 2019-06-21 牡丹江师范学院 Path coverage test data creation method based on Negative Selection genetic algorithm
CN111221741A (en) * 2020-01-17 2020-06-02 北京工业大学 Method for automatically generating abnormal unit test based on genetic algorithm and log analysis
CN111240995A (en) * 2020-01-21 2020-06-05 江西财经大学 Multi-path covering method and system combining key point probability and path similarity
CN111444079A (en) * 2019-01-16 2020-07-24 河南工业大学 Software defect repairing method and device
CN112052166A (en) * 2020-08-26 2020-12-08 河海大学 Test case generation method and device based on domination relationship
CN112131679A (en) * 2020-09-02 2020-12-25 大连理工大学 Reverse thrust adjustment method for initial residual stress of workpiece
CN112231076A (en) * 2020-09-18 2021-01-15 广东奥博信息产业股份有限公司 Data annotation task scheduling method based on intelligent optimization
CN112328496A (en) * 2020-11-27 2021-02-05 杭州新州网络科技有限公司 Full-stack type cyclic neural network deep learning system security analysis and detection method
CN112749082A (en) * 2020-05-11 2021-05-04 长江大学 Test case generation method and system based on DE-TH algorithm
CN113590191A (en) * 2021-06-28 2021-11-02 航天科工防御技术研究试验中心 Software reliability model parameter estimation method based on genetic algorithm
CN113742251A (en) * 2021-11-08 2021-12-03 山东建筑大学 Software test path generation method and system based on set evolution
CN114064453A (en) * 2021-10-12 2022-02-18 华南理工大学 Software test case automatic generation method based on clustering and evolutionary algorithm
CN114401211A (en) * 2022-01-17 2022-04-26 重庆邮电大学 Test system and test method for accessing industrial wireless network equipment to IPv6 network
CN114490316A (en) * 2021-12-16 2022-05-13 四川大学 Loss function-based automatic generation method for unit test case
CN115576848A (en) * 2022-11-10 2023-01-06 江西财经大学 Multi-path coverage test method combining key edge probability and path layer proximity
CN116010291A (en) * 2023-03-28 2023-04-25 江西财经大学 Multipath coverage test method based on equalization optimization theory and gray prediction model
CN116048958A (en) * 2022-11-17 2023-05-02 中山大学 Medical robot control software test data generation method and injection method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004029800A2 (en) * 2002-09-25 2004-04-08 Enigmatec Corporation Verifiable processes in a heterogeneous distributed computing environment
CN102331966A (en) * 2011-01-10 2012-01-25 中国矿业大学 Software test data evolution generation system facing path
CN102629290A (en) * 2012-03-13 2012-08-08 西安交通大学 Optimization design method of multiple flow fluid channel arrangement for plate-fin heat exchanger
CN103020349A (en) * 2012-12-08 2013-04-03 清华大学 Modeling method of etching yield in plasma etching process
CN103255200A (en) * 2012-02-16 2013-08-21 上海立得生物科技有限公司 Mitochondrial gene sequence for identifying Cordyceps sinensis and method
CN104281522A (en) * 2014-10-14 2015-01-14 中国矿业大学 Statement coverage and defect detection based multi-objective test data reduction method
US20160277257A1 (en) * 2015-03-16 2016-09-22 Ca, Inc. Modleing application performance using evolving functions

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004029800A2 (en) * 2002-09-25 2004-04-08 Enigmatec Corporation Verifiable processes in a heterogeneous distributed computing environment
CN102331966A (en) * 2011-01-10 2012-01-25 中国矿业大学 Software test data evolution generation system facing path
CN103255200A (en) * 2012-02-16 2013-08-21 上海立得生物科技有限公司 Mitochondrial gene sequence for identifying Cordyceps sinensis and method
CN102629290A (en) * 2012-03-13 2012-08-08 西安交通大学 Optimization design method of multiple flow fluid channel arrangement for plate-fin heat exchanger
CN103020349A (en) * 2012-12-08 2013-04-03 清华大学 Modeling method of etching yield in plasma etching process
CN104281522A (en) * 2014-10-14 2015-01-14 中国矿业大学 Statement coverage and defect detection based multi-objective test data reduction method
US20160277257A1 (en) * 2015-03-16 2016-09-22 Ca, Inc. Modleing application performance using evolving functions

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DUNWEIGONG等: "Evolutionary generation of test data for many paths coverage based on grouping", 《JOURNAL OF SYSTEMS AND SOFTWARE》 *
NA ZHANG 等: "Path-oriented test cases generation based adaptive genetic algorithm", 《PLOS ONE》 *
丁蕊 等: "基于关键点路径的快速测试用例自动生成方法", 《软件学报》 *
伊丹丹 等: "多路径覆盖测试数据生成适应度函数设计方法", 《计算机工程与应用》 *
包晓安 等: "基于自适应粒子群优化的组合测试用例生成方法", 《计算机科学》 *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN109376075B (en) * 2018-09-19 2022-04-22 奇安信科技集团股份有限公司 Processing method and device for generating optimal test coverage path of test object
CN111444079A (en) * 2019-01-16 2020-07-24 河南工业大学 Software defect repairing method and device
CN111444079B (en) * 2019-01-16 2022-09-30 河南工业大学 Software defect repairing method and device
CN109918307A (en) * 2019-03-14 2019-06-21 牡丹江师范学院 Path coverage test data creation method based on Negative Selection genetic algorithm
CN109918307B (en) * 2019-03-14 2022-04-19 牡丹江师范学院 Path coverage test data generation method based on negative selection genetic algorithm
CN111221741A (en) * 2020-01-17 2020-06-02 北京工业大学 Method for automatically generating abnormal unit test based on genetic algorithm and log analysis
CN111221741B (en) * 2020-01-17 2023-10-10 北京工业大学 Method for automatically generating abnormal unit test based on genetic algorithm and log analysis
CN111240995A (en) * 2020-01-21 2020-06-05 江西财经大学 Multi-path covering method and system combining key point probability and path similarity
CN112749082A (en) * 2020-05-11 2021-05-04 长江大学 Test case generation method and system based on DE-TH algorithm
CN112749082B (en) * 2020-05-11 2022-06-24 长江大学 Test case generation method and system based on DE-TH algorithm
CN112052166B (en) * 2020-08-26 2021-05-18 河海大学 Test case generation method and device based on domination relationship
CN112052166A (en) * 2020-08-26 2020-12-08 河海大学 Test case generation method and device based on domination relationship
CN112131679A (en) * 2020-09-02 2020-12-25 大连理工大学 Reverse thrust adjustment method for initial residual stress of workpiece
CN112231076B (en) * 2020-09-18 2022-04-08 广东奥博信息产业股份有限公司 Data annotation task scheduling method based on intelligent optimization
CN112231076A (en) * 2020-09-18 2021-01-15 广东奥博信息产业股份有限公司 Data annotation task scheduling method based on intelligent optimization
CN112328496A (en) * 2020-11-27 2021-02-05 杭州新州网络科技有限公司 Full-stack type cyclic neural network deep learning system security analysis and detection method
CN112328496B (en) * 2020-11-27 2024-07-19 上海探巡科技有限公司 Safety analysis and detection method for full stack type circulating neural network deep learning system
CN113590191A (en) * 2021-06-28 2021-11-02 航天科工防御技术研究试验中心 Software reliability model parameter estimation method based on genetic algorithm
CN114064453A (en) * 2021-10-12 2022-02-18 华南理工大学 Software test case automatic generation method based on clustering and evolutionary algorithm
CN114064453B (en) * 2021-10-12 2023-04-07 华南理工大学 Software test case automatic generation method based on clustering and evolutionary algorithm
CN113742251A (en) * 2021-11-08 2021-12-03 山东建筑大学 Software test path generation method and system based on set evolution
CN114490316A (en) * 2021-12-16 2022-05-13 四川大学 Loss function-based automatic generation method for unit test case
CN114401211B (en) * 2022-01-17 2023-05-12 重庆邮电大学 Test system and test method for accessing industrial wireless network equipment to IPv6 network
CN114401211A (en) * 2022-01-17 2022-04-26 重庆邮电大学 Test system and test method for accessing industrial wireless network equipment to IPv6 network
CN115576848A (en) * 2022-11-10 2023-01-06 江西财经大学 Multi-path coverage test method combining key edge probability and path layer proximity
CN116048958A (en) * 2022-11-17 2023-05-02 中山大学 Medical robot control software test data generation method and injection method
CN116048958B (en) * 2022-11-17 2023-12-01 中山大学 Medical robot control software test data generation method and injection method
CN116010291A (en) * 2023-03-28 2023-04-25 江西财经大学 Multipath coverage test method based on equalization optimization theory and gray prediction model

Also Published As

Publication number Publication date
CN108509335B (en) 2021-03-19

Similar Documents

Publication Publication Date Title
CN108509335B (en) Software test data generation method based on genetic algorithm optimization
Shao et al. A novel discrete water wave optimization algorithm for blocking flow-shop scheduling problem with sequence-dependent setup times
Jovanovic et al. Ant colony optimization algorithm with pheromone correction strategy for the minimum connected dominating set problem
CN106527381B (en) A kind of fast evaluation method towards parallel batch processing machine dynamic dispatching
CN112540849B (en) Parameter configuration optimization method and system for distributed computing operation
CN107506865B (en) Load prediction method and system based on LSSVM optimization
CN108563555B (en) Fault change code prediction method based on four-target optimization
CN106845642B (en) A kind of adaptive multi-target evolution method of belt restraining cloud workflow schedule
CN107908536B (en) Performance evaluation method and system for GPU application in CPU-GPU heterogeneous environment
CN112561225B (en) Flexible job shop scheduling method based on marker post co-evolution algorithm
CN108363876B (en) Test optimization selection method considering key faults
CN103559129A (en) Statistical regression test data generation method based on genetic algorithm
CN111582325B (en) Multi-order feature combination method based on automatic feature coding
US20210124860A1 (en) High-throughput computational material simulation optimisation method and apparatus based on time prediction
CN111240995A (en) Multi-path covering method and system combining key point probability and path similarity
CN103902457A (en) Method for generating test data covering parallel program paths based on coevolution
CN106919504B (en) Test data evolution generation method based on GA algorithm
Nejad et al. Using memetic algorithms for test case prioritization in model based software testing
CN113407185A (en) Compiler optimization option recommendation method based on Bayesian optimization
CN116596021A (en) Model parameter optimization method and device based on improved sparrow search algorithm
CN105740949A (en) Group global optimization method based on randomness best strategy
CN113505910B (en) Mixed workshop production scheduling method containing multi-path limited continuous output inventory
CN111813669B (en) Adaptive random test case generation method based on multi-target group intelligence
Li et al. A discrete artificial bee colony algorithm and its application in flexible flow shop scheduling with assembly and machine deterioration effect
CN110069347B (en) Thread dividing method based on process importance

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220926

Address after: Room 406, building 19, haichuangyuan, No. 998, Wenyi West Road, Yuhang District, Hangzhou City, Zhejiang Province

Patentee after: HANGZHOU HUICUI INTELLIGENT TECHNOLOGY CO.,LTD.

Address before: No.928, No.2 street, Jianggan Economic Development Zone, Hangzhou City, Zhejiang Province, 310018

Patentee before: ZHEJIANG SCI-TECH University

TR01 Transfer of patent right