標題: | Test coverage optimization for large code problems |
作者: | Lin, Ying-Dar Chou, Chi-Heng Lai, Yuan-Cheng Huang, Tse-Yau Chung, Simon Hung, Jui-Tsun Lin, Frank C. 資訊工程學系 電信工程研究所 Department of Computer Science Institute of Communications Engineering |
關鍵字: | Regression testing;Test case selection;Test coverage;Test intensity;Software maintenance |
公開日期: | 1-Jan-2012 |
摘要: | Software developers frequently conduct regression testing on a series of major, minor, or bug-fix software or firmware releases. However, retesting all test cases for each release is time-consuming. For example, it takes about 36 test-bed-days to thoroughly exercise a test suite made up of 2320 test cases for the MPLS testing area that contains 57,758 functions in Cisco IOS. The cost is infeasible for a series of regression testing on the MPLS area. Thus, the test suite needs to be reduced intelligently, not just randomly, and its fault detection capability must be kept as much as possible. The mode of safe regression test selection approach is adopted for seeking a subset of modification-traversing test cases to substitute for fault-revealing test cases. The algorithms, CW-NumMin, CW-CostMin, and CW-CostCov-B, apply the safe-mode approach in selecting test cases for achieving full-modified function coverage. It is assumed that modified functions are fault-prone, and the fault distribution of the testing area is Pareto-like. Moreover, we also assume that once a subject program is getting more mature, its fault concentration will become stronger. Only function coverage criterion is adopted because of the scalability of a software system with large code. The metrics of test's junction reachability and function's test intensity are defined in this study for algorithms. Both CW-CovMax and CW-CostMin algorithms are not safe-mode, but the approaches they use still attempt to obtain a test suite with a maximal amount of function coverage under certain constraints, i.e. the effective-confidence level and time restriction. We conclude that the most effective algorithm in this study can significantly reduce the cost (time) of regression testing on the MPLS testing area to 1.10%, on the average. Approaches proposed here can be effectively and efficiently applied to the regression testing on bug-fix releases of a software system with large code, especially to the releases having very few modified functions with low test intensities. (C) 2011 Elsevier Inc. All rights reserved. |
URI: | http://dx.doi.org/10.1016/j.jss.2011.05.021 http://hdl.handle.net/11536/15013 |
ISSN: | 0164-1212 |
DOI: | 10.1016/j.jss.2011.05.021 |
期刊: | JOURNAL OF SYSTEMS AND SOFTWARE |
Volume: | 85 |
Issue: | 1 |
起始頁: | 16 |
結束頁: | 27 |
Appears in Collections: | Articles |
Files in This Item:
If it is a zip file, please download the file and unzip it, then open index.html in a browser to view the full text content.