Font Size: a A A

Ranking Method Of Test Cases Based On Circle Complexity And Call Times

Posted on:2016-01-18Degree:MasterType:Thesis
Country:ChinaCandidate:M Y ChenFull Text:PDF
GTID:2208330461985755Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Software testing is an important part of software engineering, and it has been received extensive attention by schoars.While the cost of software testing is so huge that at least 50 percent of the cost of software development is used for software testing. Regression testing, as an important part of software testing, occupies a large proportion in the entire workload of software testing. Through studying the sequence of test cases, the efficiency of software testing can be improved by applying some effective test case prioritization technique which is proposed,and more faults will be detected in little time, and the progress of testing and the release of new version will be speeded up, so it is meaningful to study test case prioritization to improve the efficiency of testing and reduce the cost of testing.Test case prioritization techniques usually schedule the execution sequence of test cases to meet some test targets according to some criterion. At present, most of test case prioritization techniques take the coverage information, test history data or some relevant requirement information as the ranking criterion. Through the static analysis of the program structure, this approach respectively considers the factors of logical complexity and the influence scope of function modules,and combines with the test case prioritization based on coverage to study ranking criterion together, and proposes an approach based on cyclomatic complexity and call numbers to prioritize test case. The approach mainly evaluates the priority of test case from two aspects,one hand the cyclomatic complexity of function module is used to measure the complex of function module code and is taken as a potential agent of the possibility that the module fails,and it improves some traditional techniquees which often measure the fault proneness by the covering statement numbers, the covering method numbers or the historical information; On the other hand, through the analysis of static call graph about the test software, this paper takes the call numbers of the function module which is direct or indirect called by other function modules as a performance index of fault severity, and it improves the traditional dependence on historical data to assess fault severity. then assign different weights for fault proneness and fault severity to evaluate TA(Testing-Ability) for each test module. Finally,through analysing the coverage information of each test case, and taking the sum of testing-ability of all the covered modules to determine the priority of each test case..Through experiment, the new prioritization technique is applied to three opensource projects to test their unit test cases, and compares with random prioritization,optimal prioritization and test case prioritization based on coverage. The experiment results show that the new technique is more efficient when comparing with random prioritization and test case prioritization based on coverage, and is most close to the optimal prioritization, and it illustrates the effectiveness and efficiency of the improved algorithm.
Keywords/Search Tags:Regression Test, Test Case Prioritization, Cyclomatic Complexity, Call numbers, Fault Proneness, Fault Severity
PDF Full Text Request
Related items