Font Size: a A A

Research On Test Suite Reduction And Construction

Posted on:2010-04-29Degree:DoctorType:Dissertation
Country:ChinaCandidate:L L PanFull Text:PDF
GTID:1118330338982101Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Software testing is an essential process during software life cycle, and is an important method to ensure the quality of software. The purpose of software testing is to detect faults in software as early as possible. Test cases are the basis of software testing, and a high coverage, reduced and optimized test suite is benifical to decrease testing cost and improve testing efficiency. This paper focuses research on the test suite reduction and construction. The main work is as the following:(1) A test-suite reduction algorithm is proposed for Modify Condition/Decision Coverage(MC/DC) criterion based on the bi-objective optimization model. The MC/DC criterion is a very complex but an effective verification technique. It helps to detect safety faults in software. The coverage and the ability to reveal errors of test case are two important factors that affect testing efficiency and cost. Firstly, this algorithm builds a bi-objective optimization model that takes into account not only the coverage of the test case but also the ability of test case to reveal errors. Secondly, based on the MC/DC's characteristics, some redundant test cases are discarded from original test suite with the bi-objective model so that a smaller test suite is achieved.(2) Based on the bi-objective optimization model, considering that the quality of a test-case can be judged from multi different angles, we propose a multi-objective decision making algorithm for test-suite reduction. Firstly, classify the original test suite into two subsets: an essential test suite and a redundant test suite. The essential test suite is a part of the reduced test suite. Secondly, tactically select evaluating indicators of the test case as its decision objectives. Thirdly, search a non-dominated set based on multi-objective decision making in the redundant test suite and identify a local minimized test suite with the existing test-suite minimization methods. Finally, repeat the Step 3 until identified local minimum test suites and the essential test suite cover all test requirements. Experiment results show that the reduced test suite obtained by the MODM algorithm both decreases test cost and better ensures its testing capability.(3) A new method to identify infeasible paths is presented based on Key Infeasilbe Branch. Infeasible paths increase program complexity and program redundancy, and produce invalid DU(definition-use) chains and useless test cases. After detailed analysis of the reasons why infeasible paths are produced in program, the key infeasible branch method employs different strategies to identify infeasible paths caused by different reasons. For infeasible paths produced by data dependency, we refine the PCG(program control graph) and find the key infeasible branches by SSI(static single information). For infeasible paths produced by predicate subsumption, we construct correlative predicate information pool for correlative judge nodes, and find out key infeasible branches with the information of the data flow dependency and control flow dependency. If a tested path includes a key infeasible branch, then the path is an infeasible path. The method identifies infeasible paths that include key infeasible branches with binary search. The simulation experiment shows that the key infeasible branch method is faster and more precise than other approaches.(4) By excluding invalid DU chains, a test suite reduction method is proposed based on DU-chain test requirement suite optimization. Firstly by eliminating invalid DU chains produced by infeasible paths, refine the DU-chain data flow equation. Secondly verify valid DU chains with the refined DU-chain equation, which optimizes the DU-chain test requirement suite. Finally, the DU-chain test suite is reduced based on the optimized test requirement suite. The experimental simulation shows that our method can refine the DU-chain test requirement suite and improve the test coverage rate without additional testing cost, and the size of the reduced test suite based on the optimized test requirement suite is smaller than the size of the reduced test suite based on the initial test requirement suite.(5) With Interactive Software becoming more and more complex, to test Interactive Software is also becoming more and more difficult. We propose a reusable function-component method to generate test cases based on black-box testing technique. First, divide user operation flow into independent function items. Then, extract operation flow and delete redundant operation flow, at the same time encapsulate function component. Thirdly, test cases can be produced from test data generated by equivalence partitioning, boundry value analyzing, error seeding and cause-effect graphing. Finally, present testing coverage criteria for the test suite. Experimental results show the test-case generation method based on function component can improve test-case generation efficiency, and the test suite can expose error effectively.(6) Based on the above achievements, we design and implement a test case generation and playback testing tool especially for Interactive Software– CADTesting, which is independent to other platforms. With employment of black box testing technology and the function-component method to generate test cases, the CADTesting records the operations of the tested software and constructs the new operations intelligently. By playback of the new operations, it drives the tested software, monitors the status of the tested software at real time and generates testing reports automatically. CADTesting has been applied to the test process of CAD software - TiGems, CAXA and GS-CAD, which are developed by Tsinghua University, Beihang & Haier Software Co., Ltd and GreatSky Co., Ltd respectively, and it improves their software testing efficiency.
Keywords/Search Tags:Software Testing, Test-suite Reduction, Infeasible Path, Definition-use Chain, Test Case
PDF Full Text Request
Related items