研究生: |
林俊瑋 Jun-Wei Lin |
---|---|
論文名稱: |
應用改良式平手判別技巧於測試個案精簡演算法之分析 Test Suite Reduction Analysis with Enhanced Tie-Breaking Techniques |
指導教授: |
黃慶育
Chin-Yu Huang |
口試委員: | |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 資訊工程學系 Computer Science |
論文出版年: | 2008 |
畢業學年度: | 96 |
語文別: | 英文 |
論文頁數: | 42 |
中文關鍵詞: | 軟體測試 、測試覆蓋標準 、測試個案精簡 、錯誤偵測效率 、平手判別 |
外文關鍵詞: | software testing, testing criteria, test suite reduction, test suite minimization, fault detection effectiveness, tie-breaking |
相關次數: | 點閱:2 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
在軟體開發與維護過程中,為了測試新功能或滿足測試覆蓋率,測試個案不斷地被產生,使得測試套件的大小不斷增加。在有限的時間及軟硬體資源下,有必要應用測試套件精簡演算法移除多餘的測試個案。根據以往文獻指出,對一測試套件作精簡,很可能也同時降低了該套件的偵錯能力。目前,為了保留精簡過後測試套件的偵錯能力而提出的方法,皆某種程度地增加了精簡過後測試套件的大小。在本論文中,我們提出一個一般性的測試套件精簡技巧,在測試套件精簡過程中,對於同等重要的測試個案,使用額外的覆蓋條件做為選擇標準。我們將使用此技巧改良兩個已知的測試套件精簡演算法。實驗結果顯示,我們的技巧能在幾乎不影響原演算法之精簡能力的情況下,較大程度地保留套件的偵錯能力。此外,在特定情況下,我們的技巧可以大幅度地加速精簡過程。
During software development, test cases are continuously generated to exercise new functionality or to maintain test adequacy. Thus, the sizes of test suites may grow significantly over time. Due to time and resource constraints, it is necessary to remove the redundant test cases through test suite minimization techniques. A potential drawback of these techniques is that minimizing a test suite might reduce its ability to reveal faults. Prior work has shown that test suite minimization techniques can severely compromise the fault detection effectiveness of test suites. In the literatures, some works were dedicated to improving the fault detection effectiveness retention of reduced test suites. However, most of them affect some extent of suite size reduction. In this thesis, we present a novel approach for test suite reduction that uses additional testing criterion to break the ties in the minimization process. We integrated the proposed approach with two existing algorithms and conducted experiments for evaluation. The experiment results show that, compared to existing approaches, the proposed approach can improve the fault detection effectiveness of reduced suites with negligible increase in the size of the suites. Besides, under specific condition, the proposed approach can also accelerate the process of minimization.
[1] IEEE Computer Society, IEEE Standard Glossary of Software Engineering Terminology (IEEE Std 610.12-1990), IEEE Computer Society Press, 1993.
[2] P. C. Jorgensen, Software Testing: A Craftsman’s Approach, second edition, CRC Press, 2002.
[3] M. J. Harrold, R. Gupta, and M. L. Soffa, “A Methodology for Controlling the Size of a Test Suite,” ACM Transactions on Software Engineering and Methodology, vol. 2, no. 3, pp. 270–285, July 1993.
[4] V. Chvatal, “A Greedy Heuristic for the Set-Covering Problem,” Math. Operations Research, vol. 4, no. 3, pp. 233-235, August 1979.
[5] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, second edition, MIT Press, 2001.
[6] W. E. Wong, J. R. Horgan, S. London, and A. P. Mathur, “Effect of Test Set Minimization on Fault Detection Effectiveness,” Proceedings of the 17th International Conference on Software Engineering (ICSE’95), pp. 41–50, April 1995, Seattle, Washington, USA
[7] W. E. Wong, J. R. Horgan, S. London, and A. P. Mathur, “Effect of Test Set Minimization on Fault Detection Effectiveness,” Software—Practice and Experience, vol. 28, no. 4, pp. 347-369, April 1998.
[8] G. Rothermel, M. J. Harrold, J. Ostrin, and C. Hong, “An Empirical Study of the Effects of Minimization on the Fault Detection Capabilities of Test Suites,” Proceedings of the 14th International Conference on Software Maintenance, (ICSM´98), pp. 34-43, November 1998, Bethesda, MD, USA.
[9] G. Rothermel, M. J. Harrold, J. von Ronne, and C. Hong, “Empirical Studies of Test-Suite Reduction,” Software Testing, Verification, and Reliability, vol. 12, no. 4, pp. 219-249, October 2002.
[10] D. Jeffrey and N. Gupta, “Test Suite Reduction with Selective Redundancy,” Proceedings of the 21st International Conference on Software Maintenance (ICSM’05), pp. 549-558, September 2005, Budapest, Hungary.
[11] D. Jeffrey and N. Gupta, “Improving Fault Detection Capability by Selectively Retaining Test Cases during Test Suite Reduction,” IEEE Transactions on Software Engineering, vol. 33, no. 2, pp. 108-123, February 2007
[12] M. Hutchins, H. Foster, T. Goradia, and T. Ostrand, “Experiments on the Effectiveness of Dataflow- and Controlflow-Based Test Adequacy Criteria,” Proceedings of the 16th International Conference on Software Engineering (ICSE´94), pp. 191–200, May 1994, Sorrento, Italy.
[13] G. Rothermel, R. H. Untch, C. Chu, and M. J. Harrold, “Prioritizing Test Cases for Regression Testing,” IEEE Transactions on Software Engineering, vol. 27, no. 10, pp. 929-948, October 2001.
[14] M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman and Company, 1979.
[15] T. Y. Chen and M. F. Lau, “Dividing Strategies for the Optimization of a Test Suite,” Information Processing Letters, vol. 60, no. 3, pp. 135- 141, November 1996.
[16] T. Y. Chen and M. F. Lau, “A New Heuristic for Test Suite Reduction,” Information and Software Technology, vol. 40, no. 5-6, pp. 347-354, July 1998.
[17] T. Y. Chen and M. F. Lau, “A Simulation Study on Some Heuristics for Test Suite Reduction,” Information and Software Technology, vol. 40, no. 13, pp. 777-787, November 1998.
[18] H. Zhong, L. Zhang, and H. Mei, “An Experimental Comparison of Four Test Suite Reduction Techniques,” Proceedings of the 28th International Conference on Software Engineering (ICSE´06), pp. 636-640, May 2006, Shanghai, China.
[19] J. G. Lee, A Study of Optimal Test Case Selection Problem, Ph.D. dissertation, Department of Computer Science and Information Engineering, National Chiao Tung University, Taiwan, R.O.C., July 2000.
[20] J. von Ronne, Test Suite Minimization: An Empirical Investigation, university honors college thesis, Oregon State University, Corvallis, USA, June 1999.
[21] S. Tallam and N. Gupta, “A Concept Analysis Inspired Greedy Algorithm for Test Suite Minimization,” Proceedings of the 6th Workshop Program Analysis for Software Tools and Engineering, pp. 35-42, September 2005, Lisbon, Portugal.
[22] J. Black, E. Melachrinoudis, and D. Kaeli, “Bi-Criteria Models for All-Uses Test Suite Reduction,” Proceedings of the 26th International Conference on Software Engineering, (ICSE´04), pp. 106-115, May 2004, Scotland, UK.
[23] B. Xie, Requirement Based Regression Test Suite Reduction using Dependence Analysis, master thesis, School of Information Technology and Engineering, University of Ottawa, Canada, December 2006.
[24] J. A. Jones and M. J. Harrold, “Test-Suite Reduction and Prioritization for Modified Condition/Decision Coverage,” IEEE Transactions on Software Engineering, vol. 29, no. 3, pp. 195-209, March 2003.
[25] W. J. Wu, On the Study of Designing Efficient Test Cases, Ph.D. dissertation, Department of Computer Science, National Tsing Hua University, Taiwan, R.O.C., July 2000.
[26] S. McMaster and A. M. Memon, "Call-Stack Coverage for GUI Test Suite Reduction," IEEE Transactions on Software Engineering, vol. 34, no. 1, pp.99-115, January 2008.
[27] A. Srivastava and J. Thiagrajan, “Effectively Prioritizing Tests in Development Environment,” Proceedings of the International Symposium on Software Testing and Analysis (ISSTA´02), pp. 97-106, July 2002, Rome, Italy.
[28] J. R. Horgan and S. A. London, “ATAC: A Data Flow Coverage Testing Tool for C,” Proceedings of the 2nd Symposium on Assessment of Quality Software Development Tools, pp. 2-10, May 1992, New Orleans, LA, USA.
[29] D. Leon and A. Podgurski, “A Comparison of Coverage-Based and Distribution-Based Techniques for Filtering and Prioritizing Test Cases,” Proceedings of the International Symposium on Software Reliability Engineering (ISSRE´03), pp. 442-456, November 2003, Denver, Colorado, USA.
[30] R. Di Nardo, An Empirical Study of the Regression Testing of an Industrial Software Product, master thesis, Department of System and Computer Engineering, Carleton University, Canada, September 2007.
[31] P. Frankl and S. Weiss, “An Experimental Comparison of the Effectiveness of Branch Testing and Data Flow Testing,” IEEE Transactions on Software Engineering, vol. 19, no. 8, pp. 774–787, August 1993.
[32] P. Frankl and O. Iakounenko, “Further Empirical Studies of Test Effectiveness,” Proceedings of the 6th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 153-162, November 1998, Orlando, FL, USA.
[33] S. Sampath, S. Sprenkle, E. Gibson, and L. Pollock, “Integrating Customized Test Requirements with Traditional Requirements in Web Application Testing,” Proceedings of the Workshop on Testing, Analysis, and Verification of Web Services and Applications (TAV-WEB´06), pp. 23-32, July 2006, Portland, Maine, USA.
[34] “The Software-artifact Infrastructure Repository,” Available: http://sir.unl.edu/portal/, 15 February, 2008