透過您的圖書館登入
IP:18.225.209.95
  • 學位論文

用於安全關鍵軟體測試之增強式MC/DC覆蓋標準的實務評估

A Pragmatic Evaluation of the Enhanced MC/DC Coverage Criterion for the Testing of Safety-Critical Software

指導教授 : 黃慶育

摘要


在開發軟體過程中,隨著程式不斷地被修改,新的測試資料不斷地加入測試套件(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.

參考文獻


[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.

延伸閱讀