Font Size: a A A

Regression Testing Method Of Oriented-Objects Program

Posted on:2011-08-31Degree:MasterType:Thesis
Country:ChinaCandidate:Y Z MaFull Text:PDF
GTID:2178360305454727Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the development of the modern Scientific Technique, computer software become more and more important in our living, then people pay close attention to the quality problem .To improve the quality of software, software test is essential. Regression test which is a subset of the software test is a promise that modifies can adapt software specification. But with the development of the software scale, software test become more and more difficult. If we can find an automation test tool which can catch the fault of regression testing, we can decrease the working strength, reduce the test time, and improve the software quality. To improve the quality of the software test, the research on the regression test is very necessary.This article introduces the basic concepts of software regression testing and its classification. Firstly Regression testing is to test whether the source code modifications arise new faults, or match with the new procedure specifications. According to the software specification regression testing is divided into incremental regression testing and validation regression testing. Then i describe the characteristics of object-oriented technology and its implications for regression testing ,and find encapsulation, inheritance, polymorphism and dynamic calls increase the difficulty of regression testing. This chapter briefly introduced two kinds of distal common regression testing strategy: retest all the methods of regression testing strategy and technology strategy choices.And then the paper introduces three methods of fault localization in regression testing as follows: the method based on program dynamic slicing, the method based on program spectra, the method based on code coverage. Moreover, we compare with the three methods and analyze their advantages and disadvantages. The method based on program slicing is fault localization method based on slicing criterion, and computer different program slicing by program data flow and control flow to narrow the scope of locating fault. And the method based on value spectra is the main presentation, and get firstly program changes from deviation container and deviation follower concepts, and get secondly the approximate scope of locating fault by searching deviation root And the method based on code coverage is to analyze successful tests and failure tests impacts on every program statement to locating fault. At the end, we compare with the three methods and analyze their merits and shortcomings.On the basis of the above-mentioned study, the paper proposed a new fault localization method in the Oriented- Objects program, which based on atomic changes for regression testing. The method based on the idea of change impact analysis, which decompose the atomic changes from the modified section in the program code, and establish the graph of atomic changes and the test cases. It Calculate the sets that impact of the atomic test set by using formula, and choose a smaller set from that to location the mistakes integrating with program slicing. Furthermore, the paper described the dependency among the atomic changes, and makes an example on the progress of building dependence graph of atomic change and call graph of test case. Through using the new method in the application, founding advantages as followed: Only analysis on the modified program code, less parsing the Statement; Small Positioning range comparing with the method based on program slicing. In order to put the method of fault localization in regression testing into practice, the paper design the tool model of the proposed method in detail, and realized the core function of finding the set of the changes that affect a given test. To access to atomic change object facilitate, using its the serial number as its visit address The specific implementation is the first to design a base class and eight atomic derived class, and then construct an array of base class pointer type ,which is used to store the atomic object address, so that you can put the n-ed atomic address into the n-ed unit of the array, and access to this atomic change object by dereference of the n-ed unit value. The relationship between atomic change objects is a partial order relationship, let atomic change objects corresponding to call graph the failure test the into the queue, and then let it dequeue from the team header, at the same time let its depended atomic change objects enqueue, as long as the queue is not empty, the loop will continue. This will certainly be able to identify the set of affecting atomic changes for failure test In order to avoid duplication of atomic change object dequeue, every atomic change object is located a logo bit, which will be changed when dequeuing At last, this method was applied to actual projects, through the experimental data we can see that, this method will be better than the method based on program dynamic slicing In the case of complicated procedures. According to the experiment result, the new fault localization method for regression testing in oriented-objects program we proposed can be effective and accurate to locate faults in regression testing, has certain practical value for application.At the end, the article prospects the improvement of my method: design a more friendly graphical user interface, output a more detailed error message; and add some things on the details of the design, such as classes, methods, and domain access to change details, and class inheritance between the level of detail. Of course, these details will increase complexity of atomic inter-dependence, but it will help locate the error more accurately these are the direction to strive in the future.
Keywords/Search Tags:Regression test, fault location, change impact analysis, atomic change
PDF Full Text Request
Related items