Font Size: a A A

Research And Implementation For Method Of Component Regression Testing

Posted on:2013-01-09Degree:MasterType:Thesis
Country:ChinaCandidate:X B ZhouFull Text:PDF
GTID:2218330374465495Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
With the development and increasing scale of software technology, components will be more widely used, reuse of the components brings us convenience of large-scale software development. When the component is modified, it is necessary to carry out regression testing. The introduction of component regression testing is the most effective method for ensuring the quality of new version of components, it is testing for correctness of components after modification. The execution procedure of regression testing is similar with former development, the difference is test cases. At present, regression testing is divided into two classes,"selective" strategy and "retest all" strategy. With the development of software, its scale is becoming more and more large."Selective" strategy wastes a lot of cost and time, especially the modification of code is small,"selective" strategy is not suitable. So, we need to choose suitable strategy in regression testing. Now, there are many researches about "selective" regression testing. The diversity of components' changes brings us difficulty in "selective" regression testing of components. According to this, we propose a method of regression testing of components in this paper.One of the main work in this paper is change impact analysis of compents. Components' change impact analysis is the key technology to ensure the unforeseen and potential impact of components' changes, it allows developers to assess the possible impact of modification, and it plays an important part in components' maintenance. In this paper, we analyse changes of variables and statements, we use comopent dependence graph for change impact analysis, the dependencies of component include data dependence and control dependence, these two dependencies are all based on control flow graph. The generation of control flow graph is according to preorder traverse of the syntax tree. Modification of a statement in the source code of component can produce direct or indirect impact to other statements, this is ripple effect. Ripple effects can be analyzed through reachability of component dependence graph.After change impact analysis, according to components before and after modification, generate path set of the components. We use static symbolic execution to generate test cases according to component before modification. Sort the change points according to the weight, generate regression testing paths, then generate regression testing cases. We use AHP (The Analytical Hierarchy Process) to gain change points'weight, sort the points from largest to smallest according to three types of changed points:affected by changed statements, affected by changed variables, affected by changed constants.The paper introduces the regression testing process based on the change impact of components before and after modification, based on this, we design and realize a tool for component regression testing, and use a large number of experiments to verify the effectiveness of our method and tool.
Keywords/Search Tags:component, regression testing, change impact analysis, symbolic execution, path-oriented
PDF Full Text Request
Related items