Font Size: a A A

Research On Requirement-oriented Test Case Prioritization Technique On Regression Testing

Posted on:2021-05-04Degree:DoctorType:Dissertation
Country:ChinaCandidate:X L WangFull Text:PDF
GTID:1368330605470660Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Regression testing is an important part of software testing.With an increasing of test versions,how to improve the efficiency of regression testing has become the focus and difficulty of software testing.This paper takes requirement as the starting point and focuses on one of the main contents of regression test optimization: test case prioritization.Traditional test case prioritization techniques are mostly non-feedback or memoryless techniques,that is,each sorting is independent.With the increasing complexity of software,the traditional techniques have basically reached the testing bottleneck.How to continue to improve the efficiency of regression testing and reduce the overhead in diversified software engineering has become an urgent problem in the field of software testing research.Aiming at the problem of test case prioritization efficiency under regression testing,this paper proposes a requirement-oriented historybased test case prioritization technique.Considering the continuous impact of the entire regression process on testing,this technique combines requirement information,fault information,and historical information to give an execution probability to each test case.The test case with a high execution probability is executed first.The experiment shows that the history-based test case prioritization technique has an advantage over other traditional memoryless prioritization techniques in fault detection rate under the multiround regression test scenario.Aiming at the specific agile development environment scenario,this paper extends the requirement-oriented history-based test case prioritization technique and proposes a regression testing optimization technique.First,this paper designs agile test case prioritization and agile regression test selection for the current and the released version of regression testing,respectively.Agile test case prioritization,extending the previous history-based TCP technique,prioritizes test cases in stages with focusing on new functions to improve the fault correction rate.Starting from the past test-fault correction and requirement correlation,agile regression test selection selects failure test cases and interaction test cases as a test subset to reduce the length of test sequence.Second,the regression test optimization model and optimization algorithm are designed.Experiments show that in the particular scenario of agile development,compared with existing test prioritization,test selection,and hybrid methods,the proposed agile regression testing optimization technique can achieve the higher fault detection rate in a shorter time and reduce the number of test cases,while ensuring high safety.In the research of test case prioritization,the traditional methods have the feature that “test cases are ordered firstly and then executed”.Once the sequencing is determined,the order of the test cases will not be changed during the test execution.In this way,the feedback information generated during the test-executing process cannot be available in this round of test prioritization,and can only be used in the next test.To address the problem of lag usage of fault-feedback information,this paper proposes a clustering-based adaptive test case prioritization technique.Based on the theory of cluster analysis,this technique designs the clustering criteria for test cases.Before the test is executed,test cases are clustered beforehand.The traditional prioritization technique is used to pre-prioritize test cases to obtain an ordered test sequence.Then,the test cases are executed sequentially.When a test case detects faults during the testexecuting process,the priority of remaining unexecuted test cases will be adjusted adaptively.The experimental results show that compared with traditional test prioritization techniques and cluster-based prioritization techniques,the proposed method performs better in terms of fault detection rate;compared with another adaptive prioritization technique,our method has similar performance in terms of the average percentage of fault detection,but it spends less on execution time;by comparing different dissimilarity metrics,the proposed method performs better under the correlation measure,and if the total strategy is selected in our method for the prioritization process,the role of correlation will be better played.Currently,most of test case prioritization techniques calculate the priority of test cases based on a single-objective criterion.However,with the increasing complexity and diversity of software,a variety of object factors that affect the efficiency of test prioritization have gradually been widely concerned.Traditional single-objective prioritization techniques have been unable to meet the comprehensive test efficiency under the influence of multiple objects.Aiming at the limitation of single-objective prioritization,this paper proposes a multi-objective test case prioritization technique based on multi-objective problem optimization processing methods.In this technique,five objective criteria are selected as objective functions.In each objective dimension,the priority of test cases is calculated and normalized.The weighted summation of single-objective priority is used to obtain the priority of test cases based on multiple objects.Finally,test cases are prioritized according to the multi-objective priority.Experiments show that under the unified metric,the multi-objective test case prioritization performs better than other single-objective techniques.Therefore,it can be considered as a new test case prioritization technique in practical applications.
Keywords/Search Tags:Test case prioritization, Agile development, Clustering analysis, Multi-objective optimization, Regression testing
PDF Full Text Request
Related items