Font Size: a A A

Research On Regression Testing Method Based On Weight And Combination Coverage

Posted on:2021-03-11Degree:MasterType:Thesis
Country:ChinaCandidate:Q J ZhangFull Text:PDF
GTID:2428330623479541Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Recently,the size and number of software systems continue to increase,and the iteration rate between versions is getting faster.As a result,researchers have intensively investigated various topics in regression testing,which aims ensure that the correctness of changed code snippets.A simple and effective method is to reorder test cases to increase the rate of fault detection during regression testing,which is denoted as Test case prioritization(TCP).TCP may be very time consuming due to the large number of test cases.Therefore,it is urgent to propose an efficient and effective TCP strategy.This thesis conducts an extensive study for existing works and propose several novel techniques involving coverage criterion and prioritization algorithms.The main results of the thesis are as follows:1.In the prioritization process of two widely used greedy strategies,them usually ignore that the covered times of code unit coverage may influence its fault detection capability and may discard all the previous coverage information.To address the above limitation,we propose a weight-based prioritization algorithm to bridge the gap between the total and additional test case prioritization strategies.According to the number of times each code unit is covered,the method calculates the probability that it may detect an error,and obtains the weighted coverage value for each test case.The weight-based prioritization algorithm proposed in this paper has a significantly higher fault detection rate than existing total greedy algorithm and additional greedy algorithm,with similar time overhead.2.Various TCP techniques have been proposed based on different coverage criteria.Among them,a majority of techniques leverage code coverage information to guide the prioritization process,with code units being considered individually,and in isolation.In this section,we propose a new coverage criterion,code combinations coverage,that combines the concepts of code coverage and combination coverage.We apply this coverage criterion to TCP,as a new prioritization technique,code combinations coverage based prioritization(CCCP).We report on empirical studies conducted to compare the testing effectiveness and efficiency of CCCP with four popular RTCP techniques: total,additional,adaptive random,and search-based test prioritization.The experimental results show that even when the lowest combination strength is assigned,overall,the CCCP fault detection rates are greater than those of the other four prioritization techniques.The CCCP prioritization costs are also found to be comparable to the additional test prioritization technique.Moreover,our results also show that when the combination strength is increased,CCCP provides higher fault detection rates than the state-of-the-art,regardless of the levels of code coverage.3.Software testing can be extremely tedious,challenging,and time-consuming due to the increasing complexity of modern software systems.Thus,we design and implement an automated prototype system,which aims to effectively reduces manual intervention.Specifically,the tool includes the code coverage model,mutation testing model,algorithm model and evaluation model.The feasibility and effectiveness of the prototype system are verified through experiments.
Keywords/Search Tags:Software testing, Regression Testing, Test case prioritization, Code coverage, Combination coverage
PDF Full Text Request
Related items