Font Size: a A A

Research Of Test Case Prioritization For Regression Testing

Posted on:2017-10-12Degree:MasterType:Thesis
Country:ChinaCandidate:X B ZhaoFull Text:PDF
GTID:2348330515964238Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Regression testing is a frequent and costly testing process.It validates the modified software and verifies that whether the code that has been tested has been caused new faults.As an important technique for improving the efficiency in using test cases,regression test case prioritization focuses on the execution order of test case used in regression testing.Different from test case selection and test suite minimization,test case prioritization doesn't discard any test case and assumes that different test cases make different contributions to the testing goals.Those test cases which are more important for the testing goals will be higher scored and executed earlier.According to the testing goals which software testers intend to achieve by test case prioritization,previous techniques can be roughly categorized into two classes,one for rate of code coverage and the other for rate of fault detection.Among test case prioritization techniques for rate of code coverage,greedy based algorithms are the most effective but not stable and scalable techniques.For this reason,this paper proposes a new regression test case prioritization technique based on the improved Annealing-Genetic algorithm in the third section.Three Java programs and five C programs were employed as experimental subjects to compare the performance of this technique with five former techniques in terms of coverage and runtime.The experimental results showed that the proposed technique has good performance as greedy based techniques but higher stability and scalability.Previous research on test case prioritization for rate of fault detection has proved that Bayesian Networks based technique which unifies source code change information,software quality metrics and test coverage data into one model has the best performance.However,it still has a defect that ignores the similarity between test cases.Therefore,in the fourth section,this paper proposes a Clustering-Bayesian Networks based technique for test case prioritization and evaluates the performance of the proposed technique against four related techniques in terms of fault detection on two Java programs with mutation faults and one Java program with hand-seeded faults.The empirical results showed that the proposed technique performs much better than those related techniques.
Keywords/Search Tags:Regression testing, Test case prioritization, Genetic Algorithm, Simulated Annealing Algorithm, Clustering, Bayesian Network
PDF Full Text Request
Related items