簡易檢索 / 詳目顯示

研究生: 張君儒
Jun-Ru Chang
論文名稱: 用於安全關鍵軟體測試之增強式MC/DC覆蓋標準的實務評估
A Pragmatic Evaluation of the Enhanced MC/DC Coverage Criterion for the Testing of Safety-Critical Software
指導教授: 黃慶育
Chin-Yu Huang
口試委員:
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2006
畢業學年度: 94
語文別: 英文
論文頁數: 51
中文關鍵詞: 覆蓋修正條件/判斷覆蓋高維立方體格雷碼回歸測試
外文關鍵詞: coverage, Modified condition/decision coverage (MC/DC), n-cube, Gray Code, regression testing
相關次數: 點閱:2下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 在開發軟體過程中,隨著程式不斷地被修改,新的測試資料不斷地加入測試套件(test suite),使得測試套件的容量逐漸增加,造成軟體回歸測試(regression testing)所花的時間也變得越來越長。事實上,並不是所有存在於測試套件中的測試資料都必須執行,因為有些測試資料是可以由其他的測試資料取代。因此,尋找有效的方法來減少測試資料的數量是非常重要。修正條件/判斷覆蓋(MC/DC)是一個重要的驗證度量方法,能夠有效地減少測試資料的數量來縮短執行回歸測試的時間。針對條件層級,我們提出使用高維立方體(n-cube)和格雷碼(Gray Code)的資料結構來實做修正條件/判斷覆蓋,並且使用高維立方體和遮蔽邏輯閘輸入的特性來減少搜尋時間。在這篇論文中,我們提出四個步驟來區分必要和多餘的測試個案。此外,我們並展示實做出來的回歸測試工具。這套工具可用於度量各種測試涵蓋並且能夠分析哪些程式碼被修改過來決定哪些測試個案需要重新執行。最後,我們將會使用簡單的程式來執行這個工具並且將所得出來的結果與國家航空暨太空總署(NASA)的方法所得出來的結果作個比較。可發現我們的實做方法比較符合一開始修正條件/判斷覆蓋的定義。


    With the size of test suites growing, the cost time of software regression testing becomes longer. In practice, finding an effective method to reduce the size of test suites is important. Modified condition/decision coverage (MC/DC) criterion is an effectual verification measurement and can reduce the total number of test cases effectively. To implement MC/DC, our method which focuses on the condition-level uses the data structure of n-cube and Gray Code to satisfy the MC/DC criterion. We also use the property of n-cube graph and the masked input of gates to reduce the searching time. In this thesis, we propose four steps to differentiate the necessary test cases and redundancy test cases. Besides, we also demonstrate a practical regression testing tool and we use JAVA to implement this tool. It can be used to all kinds of testing coverage measurement and can determine which test cases should be re-run. Finally, we will use a simple program to walkthrough the working process of this tool and give a fair comparison with the NASA’s method.

    Abstract (English) i Abstract (Chinese) ii 誌謝 iii List of Tables vi List of Figures vii 1 Introduction 1 2 Background Knowledge 4 2.1 White-box test and black-box test 4 2.2 Coverage 6 2.3 Modified condition/decision coverage 9 2.4 The property of Gray Code and n-cube graph 11 3 Approach to Implement MC/DC 13 3.1 Create the graph of n-cube 13 3.2 Fill the result of Boolean expression into vertices 17 3.3 Find the necessary test cases 20 3.4 Find the lost test cases 25 4 Tool Design and Experiment 28 4.1 The purpose of TASTE 28 4.2 The scaffold of TASTE 29 4.2.1 Transform the program into components 30 4.2.2 Insert the information into blocks 32 4.2.3 Execute every test case 35 4.2.4 Analyze the different between two projects 36 4.3 Execution result 37 5 Conclusions and Future Works 46 References 48

    [1] B. Beizer, Software Testing Techniques, Second ed., Van Nostrand Reinhold Company, Inc., 1983.
    [2] G. J. Myers, The Art of Software Testing, John Wiley & Sons, 1979.
    [3] F. Bergadano and D. Gunetti, "Testing by Means of Inductive Program Learning", ACM Transactions on Software Engineering and Methodology, Vol. 5, No. 2, pp.119-145, April 1996.
    [4] G. Rothermel and M. J. Harrold, "Analyzing Regression Test Selection Techniques", IEEE Transactions on Software Engineering, Vol. 22, No. 8, pp.529-551, Aug. 1996.
    [5] G. Rothermel and M. J. Harrold, "A Safe, Efficient Regression Test Selection Technique", ACM Transactions on Software Engineering and Methodology, Vol. 6, No. 2, pp.173-210, April 1997.
    [6] 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.
    [7] P. J. Bernhard, "A Reduced Test Suite for Protocol Conformance Testing", ACM Transactions on Software Engineering and Methodology, Vol. 3, No. 3, pp.201-220, July 1994.
    [8] G. Rothermel and S. Elbaum, A. G. Malishevsky, P. Kallakuri, X. Qiu, "On Test Suite Composition and Cost-Effective Regression Testing", ACM Transactions on Software Engineering and Methodology, Vol. 13, No. 3, pp.277-331, July 2004.
    [9] W. E. Wong, J. R. Horgan, S. London, and A. P. Mathur, "Effect of Test Set Size and Block Coverage on the Fault Detection Effectiveness", In Proceedings of the Fifth International Symposium on Software Reliability Engineering, pp.230-238, Nov. 1994.
    [10] 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.
    [11] Y. Y. Li, "Structural Test Cases Analysis and Implementation", 42nd Midwest Symposium on Circuits and Systems, Vol. 2, pp.882-885, Aug. 1999.
    [12] S. Elbaum, D. Gable, and G. Rothermel, "The Impact of Software Evolution on Code Coverage Information", Proceedings of the IEEE International Conference on Software Maintenance, pp.170-179, Nov. 2001.
    [13] J. Aidemark, P. Folkesson, and J. Karlsson, "Path-Based Error Coverage Prediction", Journal of Electronic Testing: Theory and Applications, Vol. 18, No. 3, pp.343-349, June 2002.
    [14] Y. K. Malaiya, M. N. Li, J. M. Bieman, and R. Karcich, "Software Reliability Growth With Test Coverage", IEEE Transactions on Reliability, Vol. 51, No. 4, pp.420-426, Dec. 2002.
    [15] P. Ammann, J. Offutt, and H. Huang, "Coverage Criteria for Logical Expressions", 14th International Symposium on Software Reliability Engineering, pp.99-107, Nov. 2003.
    [16] S. A. Vilkomir, K. Kapoor, and J. P. Bowen, "Tolerance of Control-Flow Testing Criteria", Computer Software and Applications Conference, 2003. COMPSAC 2003. Proceedings. 27th Annual International, pp.182-187, Nov. 2003.
    [17] M. Renieris, S. Chan-Tin, and S. P. Reiss, "Elided Conditionals", Proceedings of the ACM-SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, pp.52-57, 2004.
    [18] H. Zhu, P. A. V. Hall, and J. H. R. May, "Software Unit Test Coverage and Adequacy", ACM Computing Surveys, Vol. 29, No. 4, pp.366-427, Dec. 1997.
    [19] J. R. Horgan and S. London, "Data Flow Coverage and the C Language", Proceedings of the symposium on Testing, analysis, and verification, pp.87-97, 1991.
    [20] T.-Y. Jiang, C.-N. J. Liu, and J.-Y. Jou, "An Observability Measure to Enhance Statement Coverage Metric for Proper Evaluation of Verification Completeness", Proceedings of the 2005 conference on Asia South Pacific design automation, pp.323-326, 2005.
    [21] J. M. Bieman and J. L. Schultz, "An Empirical Evaluation (and Specification) of the All-du-paths Testing Criterion", Software Engineering Journal, Vol. 7, No. 1, pp.43-51, Jan. 1992.
    [22] K. J. Hayhurst, D. S. Veerhusen, J. J. Chilenski, and L. K. Rierson, "A Practical Approach to Modified Condition/Decision Coverage", Technical Report: NASA-2001-tm210876, 2001.
    [23] J. J. Chilenski and S. P. Miller, "Applicabiliy of Modified Condition/Decision Coverage to Software Testing", Software Engineering Journal, Vol. 9, No. 5, pp.193-200, 2001.
    [24] Y. T. Yu and M. F. Lau, "Comparing Several Coverage Criteria for Detecting Faults in Logical Decisions", In Proceedings of Fourth International Conference on Quality Software, pp.14-21, 2004.
    [25] K. Kapoor and J. Bowen, "Experimental Evaluation of the Variation in Effectiveness for DC, FPC and MC/DC Test Criteria", Proceedings of the 2003 International Symposium on Empirical Software Engineering, pp.185-194, Oct. 2003.
    [26] S. Rayadurgam and M. P. E. Heimdahl, "Generating MC/DC Adequate Test Sequences through Model Checking", Software Engineering Workshop, 2003. Proceedings. 28th Annual NASA Goddard, pp.91-96, Dec. 2003.
    [27] K. J. Hayhurst, D. S. Veerhusen, J. J. Chilenski, and L. K. Rierson, "A Practical Tutorial on Modified Condition/Decision Coverage", Technical Report: NASA-2001-tm210876, 2001.
    [28] S. A. Vilkomir and J. P. Bowen, "Reinforced Condition/Decision Coverage (RC/DC): A New Criterion for Software Testing", Proceedings of the 2nd International Conference of B and Z Users on Formal Specification and Development in Z and B, Vol. 2272, pp.291-308, Jan. 2002.
    [29] RTCA/DO-178B, Software Considerations in Airborne Systems and Equipment Certification, RTCA, Inc., Washington, D. C., Dec. 1992.
    [30] H. Y. Chen, T. H. Tse, F. T. Chan, and T. Y. Chen, "In Black and White: An Integrated Approach to Class-Level Testing of Object-Oriented Programs", ACM Transactions on Software Engineering and Methodology, Vol. 7, No. 3, pp.250-295, 1998.
    [31] M. J. Harrold, D. Rosenblum, G. Rothermel, and E. Weyuker, "Empirical Studies of a Prediction Model for Regression Test Selection", IEEE Transactions on Software Engineering, Vol. 27, No. 3, pp.248-263, 2001.
    [32] G. Rothermel and M. J. Harrold, "Empirical Studies of a Safe Regression Test Selection Technique", IEEE Transactions on Software Engineering, Vol. 24, No. 6, pp.401-419, 1998.
    [33] T. L. Graves, M. J. Harrold, J.-M. Kim, A. Porter, and G. Rothermel, "An Empirical Study of Regression Test Selection Techniques", ACM Transactions on Software Engineering and Methodology, Vol. 10, No. 2, pp.184-208, April 2001.
    [34] 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.
    [35] H. Agrawal, J. Horgan, E. Krauser, and S. London, "Incremental Regression Testing", Proc. Conf. Software Maintenance, pp.348-357, Sept. 1993.
    [36] C. Michael and G. McGraw, "Automated Software Test Data Generation for Complex Programs", 13th IEEE International Conference on Automated Software Engineering, pp.136-146, Oct. 1998.
    [37] Y. W. Kim, "Efficient Use of Code Coverage in Large-scale Software Development", Proceedings of the 2003 conference of the Centre for Advanced Studies on Collaborative research, pp.145-155, 2003.
    [38] H. Agrawal, "Efficient Coverage Testing Using Global Dominator Graphs", Proceedings of the 1999 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, pp.11-20, 1999.
    [39] Z. Chen, B. Xu, H. Yang, and H. Chen, "Test Coverage Analysis Based on Program Slicing", IEEE International Conference on Information Reuse and Integration, pp.559-565, 2003.
    [40] Man F. Lau and Yuen T. Yu, "An Extended Fault Class Hierarchy for Specification-Based Testing", ACM Transactions on Software Engineering and Methodology, Vol. 14, No. 3, pp.247-276, July 2005.

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

    QR CODE