簡易檢索 / 詳目顯示

研究生: 李柏羲
Li, Bo-Hsi
論文名稱: 用於軟體測試修正條件/判斷覆蓋準則之貪婪式演算法研究
Analysis of a Greedy-Based Algorithm for Modified Condition/Decision Coverage Criteria in Software Testing
指導教授: 黃慶育
Huang, Chin-Yu
口試委員: 蘇銓清
Sue, Chuan-Ching
林振緯
Lin, Jenn-Wei
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊系統與應用研究所
Institute of Information Systems and Applications
論文出版年: 2012
畢業學年度: 100
語文別: 英文
論文頁數: 46
中文關鍵詞: 軟體測試修正條件/覆蓋準則
外文關鍵詞: software testing, MC/DC
相關次數: 點閱:2下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 迴歸測試在軟體測試中扮演重要的角色,因為迴歸測試常常用來實行精簡或排序測試個案,並藉由不斷的重複類似的測試過程而取得最佳化的結果。測試個案精簡的方法通常是在一些程式碼或是分支覆蓋率等準則下進行。在軟體迴歸測試中,程式碼覆蓋率是很重要的因子。修改條件/判斷覆蓋是一種高精確度和嚴謹的程式碼覆蓋率準則,常用於需要高安全性的軟體系統上如飛航軟體或是銀行軟體等。在過往的研究中, Hayhurst等人曾經提出以修改條件/判斷覆蓋準則為基準下的測試方法,此種方法主要是用判斷表示式的方法來達到測試個案精簡的目的。然而此方法仍然有些瑕疵,像是不能找到某些重要且特定的錯誤類型。本研究主要是以貪婪演算法的應用來修改與改良Hayhurst的方法,使之更臻於完善。實驗方面,我們使用了四個不同來源的受測程式,並提出三種測試準則做為比較基礎。最後,我們以數種資料與實驗數據來證明我們實驗的內部有效性、外部有效性和結構有效性。


    In general, regression testing plays an important role in software testing which can offer help to minimize test suite size or rearrange the test cases. In software regression testing, the code coverage of target program is a crucial factor while we perform test case reduction and prioritization. Modified Condition/Decision Coverage (MC/DC) is one of the most strict and high-accuracy criterion in code coverage. In previous research, Hayhurst et al proposed a method to implement the MC/DC criterion. However, there might be some flaws when using Hayhurst’s method to select test cases. In this study, we will give some examples to indicate the importance of some test cases which are considered as redundant test cases. Then we describe how to enhance Hayhurst’s method with a greedy-based algorithm. Finally, we perform an experiment with four target programs from three different sites to verify our proposed method, and further prove the construct, internal and external validity of our experiment.

    Chapter 1 Introduction............................1 Chapter 2 Related Works...........................4 2.1 MC/DC.........................................4 2.2 Existing Algorithms for MC/DC.................6 Chapter 3 A Greedy-based Algorithm for MC/DC......10 3.1 Motivating Examples...........................10 3.1.1 Example 3: Operator Mutation................10 3.1.2 Example 4: Grouping Error...................11 3.2 A Greedy-based Algorithm......................13 Chapter 4 Experiments and Discussions.............25 4.1 Experimental Environment......................25 4.2 Criteria......................................27 4.3 Analysis and discussion.......................29 4.4 Validity......................................32 4.4.1 Construct Validity..........................32 4.4.2 Internal Validity...........................33 4.4.3 External Validity...........................41 Chapter 5 Conclusion and Future Work..............42 References........................................44

    [1] RTCA/DO-178B, Software Considerations in Airborne Systems and Equipment Certification, RTCA, Inc., Washington, DC, 1992.
    [2] K. J. Hayhurst, D. S. Veerhusen, J. J. Chilenski, and L. K. Rierson, A Practical Tutorial on Modified Condition/Decision Coverage, Report NASA/ TM-2001-210876, NASA, 2001.
    [3] B. Beizer, Software Testing Techniques, 2nd ed., Van Nostrand Reinhold Company, Inc., 1983.
    [4] J. J. Chilenski and S. P. Miller, “Applicability of Modified Condition/Decision Coverage to Software Testing,” Software Engineering Journal, Vol. 9, No. 5, pp. 193-200, 1994.
    [5] J. A. Jones and M. J. Harrold, “Test-Suite Reduction and Prioritization for Modified Condition/Decision Coverage,” IEEE Trans. on Software Engineering, Vol. 29, No. 3, pp. 195- 209, 2003.
    [6] J. J. Chilenski, “An Investigation of Three Forms of the Modified Condition Decision Coverage (MCDC) Criterion,” Report DOT/FAA/AR-01/18, pp. 214, 2001, National Technical Information Service, Springfield, Virginia.
    [7] T. L. Graves, M. J. Harrold, J.-M. Kim, A. Porter, and G. Rothermel, “An Empirical Study of Regression Test Selection Techniques,” ACM Trans. on Software Engineering and Methodology, Vol. 10, No. 2, pp.184-208, 2001.
    [8] A. Rajan, M. W. Whalen, and M. P. E. Heimdahl, “The Effect of Program and Model Structure on MC/DC Test Adequacy Coverage,” Proceedings of 30th International Conference on Software Engineering, pp. 161-170, 2008, Leipzig, Germany.
    [9] X. Cai and M.R. Lyu, “Software Reliability Modeling with Test Coverage: Experimentation and Measurement with A Fault-Tolerant Software Project,” Proceedings of the 18th IEEE International Symposium on Software Reliability, pp. 17-26, 2007, Trollhättan, Sweden.
    [10] K. J. Hayhurst, D. S. Veerhusen, J. J. Chilenski, and L. K. Rierson, “A Practical Approach to Modified Condition/Decision Coverage,” Proceedings of the 20th Digital Avionics Systems Conference, pp. 1B2/1-1B2/10, 2001, NASA Langley Technical Report Server, Daytona Beach, Florida, USA.
    [11] Y. Jia and M. Harman, "An Analysis and Survey of the Development of Mutation Testing," CREST Centre, King's College London, Technical Report TR-09-06, September 2009.
    [12] “The Software-artifact Infrastructure Repository,” Available: http://sir.unl.edu/portal/, 15 February 2008.
    [13] 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.
    [14] 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.
    [15] S. Rayadurgam and M. P. Heimdahl, “Generating MC/DC adequate test sequences through model checking” In Proceedings of the 28th Annual IEEE/NASA Software Engineering Workshop – SEW-03, Greenbelt, Maryland, December 2003.
    [16] H. Muccini, M. Dias, and D. J. Richardson, “Reasoning about Software Architecture-based Regression Testing through a Case Study,” Proceedings of the 29th IEEE Annual International Computer Software and Applications Conference, pp. 189-195, 2005, Edinburgh, Scotland.
    [17] D. Jeffrey and N. Gupta, “Improving Fault Detection Capability by Selectively Retaining Test Cases during Test Suite Reduction,” IEEE Trans. on Software Engineering, Vol. 33, No. 2, pp. 108-123, February 2007.
    [18] S. Elbaum, A. G. Malishevsky, and G. Rothermel, “Prioritizing Test Cases for Regression Testing,” Proceedings of the 2000 ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 102-112, 2000, Portland, Oregon.
    [19] G. J. Myers, C. Sandler, T. Badgett, and T. M. Thomas, The Art of Software Testing, 2nd ed., John Wiley and Sons, 2004.
    [20] H. K. Wright, M. Kim, and D. E. Perry, “Validity Concerns in Software Engineering Research,” Proceedings of the Workshop on the Future of Software Engineering Research, November 2010.
    [21] C. Y. Huang and C. T. Lin, “Analysis of Software Reliability Modeling Considering Testing Compression Factor and Failure-to-Fault Relationship,” IEEE Trans. on Computers, Vol. 59, No. 2, pp. 283-288, Feb. 2010.
    [22] G. Rothermel, S. Elbaum, A. G. Malishevsky, P. Kallakuri, and X. Qiu, “On Test Suite Composition and Cost-effective Regression Testing,” ACM Trans. on Software Engineering and Methodology (TOSEM), Vol. 13, No. 3, pp. 227-331, July 2004.
    [23] M. J. Harrold, R. Gupta, and M. L. Soffa, “A Methodology for Controlling the Size of a Test Suite,” ACM Trans. on Software Engineering and Methodology (TOSEM), Vol. 2, No. 3, pp. 270-285, July 1993.
    [24] G. Rothermel and M. J. Harrold, “Empirical Studies of a Safe Regression Test Selection Technique,” IEEE Trans. on Software Engineering, Vol. 24, pp. 401-419, 1998.
    [25] J. J. Chilenski and S. P. Miller. “Applicability of Modified Condition/Decision Coverage to Software Testing” Software Engineering Journal, pp. 193-200, September 1994.
    [26] T. Y. Chen and M. F. Lau, “A New Heuristic for Test Suite Reduction.” Information and Software Technology, vol. 40, no. 5-6, pp. 777-787, November 1998.
    [27] Y. S. Ma, J. Offutt, and Y. R. Kwon, “MuJava: A Mutation System for Java,” Proceedings of the 28th International Conference on Software Engineering, pp.827-830, Shanghai, China, 2006.
    [28] Y.T. Yu and M.F. Lau, “A Comparison of MC/DC, MUMCUT and Several Other Coverage Criteria for Logical Decisions”. Journal of Systems and Software, 2005, in press.
    [29] P. Ammann, J. Offutt, and H. Huang. “Coverage Criteria for Logical Expressions.” Proceedings of the 14th International Symposium on Software Reliability Engineering, pp. 99, Washington, DC, USA, 2003.
    [30] H. Zhu, P. A. V. Hall, and J. H. R. May. “Software Unit Test Coverage and Adequacy,” ACM Computing Surveys, pp. 366-427, December 1997.
    [31] M. Papadakis and N. Malevris. “Mutation Based Test Case Generation via a Path Selection Strategy.” Information and Software Technology journal, vol. 54, pp. 915-932, September 2012.
    [32] E. Engstrom, P. Runeson, and M. Skoglund,” A Systematic Review on Regression Test Selection Techniques.” Information and Software Technology journal, vol. 52, pp. 14-30, January 2010.
    [33] G. Kaminski, U. Praphamontripong, P. Ammann, and J. Offutt, “A Logic Mutation Approach to Selective Mutation for Programs and Queries.” Information and Software Technology journal, vol. 53, pp. 1137-1152, October 2011.
    [34] L. Tahat, B. Korel, and M. Harman, H. Ural, “Regression Test Suite Prioritization Using System Models.” Software Testing, Verification and Reliability journal, May 2011.
    [35] S. Yoo and M. Harman, “Regression Testing Minimization, Selection and Prioritization: A Survey.” Software Testing, Verification and Reliability journal, February 2012.
    [36] J. R. Chang, C. Y. Huang, and P. H. Li, “The Investigation and Analysis of Classification-Based Algorithms for Modified Condition/Decision Coverage Criteria,” Proceedings of the 2012 IEEE International Workshop on Information Assurance (IA2012, in conjunction with SERE 2012), pp. 127-136, June 2012.
    [37] J. Kim, A. Porter, and G. Rothermel, “An Empirical Study of Regression test Application Frequency.” Software Testing, Verification and Reliability journal, June 2005.
    [38] K. Cai, P. Caob, Z. Dong, and K. Liu, “Mathematical Modeling of Software Reliability Testing with Imperfect Debugging." Computers & Mathematics with Applications journal, vol. 59, pp. 3245-3285, May 2010.
    [39] J. W. Lin and C. Y. Huang, “Analysis of Test Suite Reduction with Enhanced Tie-Breaking Techniques,” Information and Software Technology, Vol. 51, Issue 4, pp. 679-690, April 2009.

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)

    QR CODE