Font Size: a A A

MM-Path Based Automated Integration Testing For Object-Oriented Software

Posted on:2014-05-13Degree:DoctorType:Dissertation
Country:ChinaCandidate:W HeFull Text:PDF
GTID:1228330467471181Subject:Control theory and control engineering
Abstract/Summary:PDF Full Text Request
Software cybernetics aims to explore the interplay between software engineering and cybernetics. According to the basic idea of software cybernetics, control theory can be applied to software engineering. More specifically, taking the software process as a controlled object, the feedback of the software process can be analyzed and optimized in order to improve the software process and product quality.Integration testing is performed when several modules are assembled into a system according to the requirement. It focuses on inspecting the interactions among the modules. The progress in Object-Oriented (00) development greatly improves the reusability and maintainability of software, but it also brings new challenges to the integration testing of00software. Method/Message Path (MM-Path) is defined as an interleaved sequence of method executions linked by messages. It is suitable to represent the interactions among the modules of00software. Therefore, it is meaningful in theory and application to investigate MM-Path based automated integration testing for00software.Following the idea of software cybernetics, the process of integration testing for OO software is regarded as a controlled object, and thereby realizing MM-Path based automated integration testing for OO software with the help of advanced optimization techniques. The key issues include automated MM-Path generation, search space reduction in automated MM-Path generation, MM-Path based automated test case generation and automated test case regeneration. In general, the main contents and results of this thesis can be summarized as follows:1. This thesis presents a program-analysis based approach to generate MM-Paths automatically. The approach is evaluated by two typical call graph construction algorithms, class hierarchy analysis and Anderson’s points-to analysis, on multiple benchmark programs. Empirical results show that the approach is practicable. Besides, based on Anderson’s points-to analysis, MM-Paths can be generated more effectively than based on class hierarchy analysis. It provides a solid foundation for the research on MM-Path based automated integration test generation.2. For large OO software, the search space in program-analysis based automated MM-Path generation may bloat and severely decrease the efficiency of MM-Path generation. Therefore, two search space reduction strategies are developed to reduce external libraries and exception handlings in automated MM-Path generation, respectively. Empirical results show that these search space reduction strategies are practicable.3. Considering the challenges brought by Inherited Class Hierarchies (ICH) and Non-Public Methods (NPM) of OO software, this thesis proposes an approach to generate integration test cases via combining evolutionary algorithms with reinforcement learning mechanism. For OO software with ICH and NPM, two kinds of isomorphous substitution actions are presented and Q-learning is employed to direct the evolutionary search of integration test cases. Empirical results show that using this approach can effectively generate test cases for OO software.4. For OO software with test repositories, the method invocations of already created test cases can be utilized to direct automated test generation. Thus, this thesis presents a strategy to regenerate integration test cases via mining test repositories. More specifically, sequential pattern mining is employed to obtain frequently-used subsequences of method invocations as sequential patterns from corresponding test repository, and then new test cases are derived on the basis of the sequential patterns. Empirical results show that this strategy can help to produce new integration test cases with good readability.5. Supervisory Control And Data Acquisition (SCADA) systems are widely used in critical areas such as space flight, chemical engineering, nuclear power and weapon manufacture. This thesis applies MM-Path based automated integration testing on inspecting openSCADA toolkit. The results show that taking the MM-Paths of openSCADA as test targets, integration test cases can be effectively generated to test openSCADA.
Keywords/Search Tags:software cybernetics, Object-Oriented software, integration testing, Method/Message Path, Inherited Class Hierarchies, Non-Public Methods, evolutionary testing, reinforcement learning, sequential pattern mining
PDF Full Text Request
Related items