Font Size: a A A

Change-aware Test Case Prioritization Based On Control Flow Graph

Posted on:2013-04-29Degree:MasterType:Thesis
Country:ChinaCandidate:H G ZhaoFull Text:PDF
GTID:2268330431962036Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the development of modern science and technology, the computer software has been used in every fields of peoples’ live, for example, the communications field, the traffic field, the financial field, even the entertainment field. With the development of the computer software, in order to dominate the market, every software company uses the agile development model to develop software, following with lots of testing task. With the update of software and lots of testing task, how to use the testing re-source we already got and test the new version of software efficiently in limited time is catching the industry attention, so that they start to pay attention with regression testing. Data from enterprizes shows that regressing testing often consumes up to80percent of the total test budget and50percent of the cost of software maintenance.Lots of approaches have been studied about regression testing, the three major branches of regression testing are test suite minimization, test case selection and test case prioritization. Test case prioritization can have good solution to the problem of how to using the test cases with high efficiency, so that it can help the testers achieve the desired objectives, for example the high coverage of codes and high fault detection ability, and the testers can improve the testing efficiency and reduce the consume of testing resource. With these benefits, people from industry and academia are paying more attention to test case prioritization. This paper first analyze the traditional test case prioritization approaches which are based on statement coverage criteria which always treat the coverage unit as the same important, and then propose our method:change-aware test case prioritization based on control flow graph. To verify the effectiveness of our method, we perform an empirical study, and compare our method with traditional statement coverage criteria based approaches and random approach.This paper’s prime tasks include:1. The basic concepts and state of test case prioritization techniques are summa-rized. This paper first introduces the basic concepts of regression testing, and then introduces the basic concepts of test case prioritization with it’s relationship between regression testing. Finally, this paper summarizes the state of test case prioritization, including the existing approaches and their ideas.2. Proposed the method of change-aware test case prioritization based on control flow graph. This paper proposes a method named change-aware test case pri-oritization based on control flow graph. This method first analyzes the change of the new version and generates the control flow graph of the new version, and then assigns the weight of each statement by using this information. Finally, we prioritize the test cases based on our proposed criteria.3. Empirical study. With lots of empirical study and data, we verify the effective-ness of the method proposed in this paper. This paper uses the Siemens Suite (including seven subjects) and space as the subjects, the rate of faults detection as the metric, compares with the random approach and the approaches based on traditional statement coverage criteria. According the result of the experiment, we verify the effectiveness of the method proposed in this paper.
Keywords/Search Tags:Test Case Prioritization, Change-aware, Control Flow Graph
PDF Full Text Request
Related items