簡易檢索 / 詳目顯示

研究生: 黃昱齊
Huang, Yu-Chi
論文名稱: Design and Analysis of Cost-Cognizant Test Case Prioritization Using Genetic Algorithm with Test History
運用基因演算法與測試歷史於成本認知的測試個案排序之設計與分析
指導教授: 黃慶育
Huang, Chin-Yu
口試委員:
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2009
畢業學年度: 97
語文別: 英文
論文頁數: 64
中文關鍵詞: 回歸測試成本認知測試個案排序測試個案成本錯誤嚴重度偵錯速率APFDc
外文關鍵詞: regression testing, cost-cognizant test case prioritization, test cost, fault severity, rate of fault detection, Average Percentage of Faults Detected per Cost
相關次數: 點閱:2下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • Regression testing is an expensive testing process used to assure the quality of modified software. Test case prioritization techniques schedule test cases for regres-sion testing in an order that attempts to increase the effectiveness in terms of meeting some performance goal. The most general performance goal, the rate of fault detection, measures how quickly faults are detected within the testing process. It assumes all test case costs and fault severities are uniform. However, test case costs and fault sever-ities are usually vary. In order to produce a more satisfactory order, the cost-cognizant metric that incorporates varying test case costs and fault severities is proposed. In this thesis, we propose a cost-cognizant test case prioritization technique based on the use of historical records. We gather historical records from the latest regression testing and then use a genetic algorithm to determine the most effective order. We run a con-trolled experiment to evaluate the proposed technique’s effectiveness. We compare the proposed technique with five existing techniques, and with two techniques that serve as an experiment control. Experimental results indicate that our proposed technique frequently yields a higher Average Percentage of Faults Detected per Cost (APFDc). The results also show that our proposed technique is also useful in terms of APFDc when all test case costs and fault severities are uniform.


    回歸測試是一個昂貴的測試程序,他常用來確保經過修改後的軟體之品質。測試個案優先排序技術排定測試個案在回歸測試中被執行之優先順序,期望能增加測試的效力並達到所設定的效能目標。最常見的效能目標是偵測錯誤之速度,也就是在測試過程中,錯誤能多快地被找到。此效能目標假設所有測試個案之執行成本以及所找到的錯誤之嚴重程度都是一致的。然而,測試個案之執行成本以及所找到的錯誤之嚴重程度往往是不同的。為了產生更符合現實的測試個案執行順序,具成本認知的效能目標被提出。他在評估測試效力時,將測試個案之執行成本以及所找到的錯誤之嚴重程度納入考量。
    在本篇論文中,我們提出了一個以測試歷史導向並具成本認知的測試個案優先排序技術。我們收集上一次回歸測試所留下來的測試歷史紀錄,接著運用基因演算法結合這些歷史紀錄找出在過去具有最高效能的測試個案執行順序。此外 ,我們利用受控實驗來評估所提出的方法之測試效果。我們將其與其他五個已存在的測試個案優先排序技術及兩個作為實驗控制的測試個案優先排序技術做比較。實驗結果指出,我們所提出來的方法經常能產生具有較高Average Percentage of Faults Detected per Cost (APFDc)值的測試個案優先排序。實驗結果也顯示,即使測試過程中所有測試個案之執行成本以及所找到的錯誤之嚴重程度都是一致的,所提出的方法依然能找出有效的測試個案優先排序。

    Abstract ii Abstract (Chinese) iii Acknowledgement iv List of Tables vii List of Figures viii Chapter 1 Introduction 1 Chapter 2 Background and Related Work 5 2.1 Test Case Prioritization 5 2.2 Cost-Cognizant Test Case Prioritization 7 2.3 Related Works 8 2.3.1 Time-Aware Test Suite Prioritization 8 2.3.2 Historical Value-Based Approach 11 2.3.3 Other Related Works 13 2.4 Metrics of Prioritization Effectiveness 15 Chapter 3 The Proposed Technique 17 3.1 Overview 17 3.2 Genetic Algorithm 19 3.2.1 Crossover 26 3.2.2 Mutation 28 3.2.3 Fitness Function 30 Chapter 4 Experiments and Discussion 33 4.1 Experiment Instrumentation 33 4.1.1 Programs and Comparator Techniques 34 4.1.2 Test Case Cost and Fault Severity Design 38 4.2 Effectiveness Comparisons and Discussion 40 Chapter 5 Impact of Number of Generations and Population Size 53 5.1 Efficiency Comparison and Analysis 53 5.2 Effectiveness analysis 55 Chapter 6 Conclusions and Future Work 60 References 62

    [1] J.M. Kim, A. Porter, and G. Rothermel, “An Empirical Study of Regression Test Application Frequency,” Proc. 22nd Int’l Conf. Software Eng., pp. 126-135, June 2000

    [2] D. Binkley, “Semantics Guided Regression Test Cost Reduction,” IEEE Trans. Software Eng., vol. 23, no.8, pp. 498-516, Aug. 1997

    [3] Y.F. Chen, D.S. Rosenblum, and K.P. Vo, “TestTube: A System for Selective Re-gression Testing,” Proc. 16th Int’l Conf. Software Eng., pp. 211-222, May 1994

    [4] H.K.N. Leung and L.J. White, “A Study of Integration Testing and Software Re-gression at the Integration Level,” Proc. Conf. Software Maintenance, pp. 290-300, Nov. 1990.

    [5] G.. Rothermel and M.J. Harrold, “A Safe, Efficient Regression Test Selection Technique,” ACM Trans. Software Eng. And Methodology, vol. 6, no. 2, pp. 173-210, Apr. 1997.

    [6] T.L. Graves, M.J. Harrold, J.M. Kim, A.Porter, and G. Rothermel, “An Empirical Study of Regression Test Selection Techniques,” ACM Trans. Software Eng. And Methodology, vol 10, no. 2, pp. 184-208, Apr. 2001.

    [7] 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, Mar. 1996.

    [8] M.J. Harrold, R. Gupta, and M.L. Soffa, “A Methodology for Controlling the Size of a Test Suite,” ACM Trans. Software Eng. And Methodology, vol. 2, no. 3, pp. 270-285, July 1993.

    [9] 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,” Proc. Int’l Conf. Software Maintenance, pp. 34-43, Nov. 1998.

    [10] W.E. Wong, J.R. Horgan, S. London, and A.P Mathur, “Effect of Test Set Mini-mization on Fault Detection Effectiveness,” Software Practice and Experience, vol. 28, no. 4, pp. 347-369, Apr. 1998.

    [11] G. Rothermel, R.H. Untch, Chu Chengyun, and M.J. Harrold, “Prioritizing Test Cases for Regression Testing,” IEEE Trans. Software Eng., vol. 27, no. 10, pp. 929-948, Oct. 2001.

    [12] S. Elbaum, A.G. Malishevsky, and G Rothermel, “Test Case Prioritization: A Family of Empirical Studies,” IEEE Trans. Software Eng., vol. 28, no. 2, pp. 159-182, Feb. 2002.

    [13] S. Elbaum, G. Rothermel, S. Kanduri, and A.G. Malishevsky, “Selecting A Cost-Effective Test Case Prioritization Technique,” Software Quality Control, vol 12, no. 3, pp. 185-210, Sept. 2004.

    [14] L. Mei, Z. Zhang, W.K. Chan, and T.H. Tse, “Test Case Prioritization for Regres-sion Testing of Service-Oriented Business Applications,” Proc. 18th Int’l Conf. on WWW, pp. 901-910, Apr. 2009.

    [15] K.R. Walcott, M.L. Soffa, G.M. Kapfhammer, and R.S. Roos, “Time-Aware Test Suite Prioritization,” Proc. Int’l Conf. International Symposium on Software Testing and Analysis, pp. 1-12, July 2006.

    [16] A.G. Malishevsky, J.R. Ruthruff, G. Rothermel, and S. Elbaum, “Cost-cognizant Test Case Prioritization,” Technical Report TR-UNL-CSE-2006-0004, University of Nebraska-Lincoln, March 2006.

    [17] J.M Kim, and A. Porter, “A History-Based Test Prioritization Technique for Re-gression Testing in Resource Constrained Environments,” Proc. 24th Int’l Conf. Soft-ware Eng., pp. 119-129, May 2002.

    [18] H. Park, H. Ryu, and J. Baik, “Historical Value-Based Approach for Cost-cognizant Test Case Prioritization to Improve the Effectiveness of Regression Testing,” Proc. 2nd Int’l Conf. Secure System Integration and Reliability Improvement, pp. 39-46, July 2008.

    [19] Z. Li, M. Harman, and R.M. Hierons, “Search Algorithms for Regression Test Case Prioritization,” IEEE Trans. Software Eng., vol. 33, no. 4, pp. 225-237, Apr. 2007.

    [20] S. Elbaum, A. Malishevsky, and G. Rothermel, “Incorporating Varying Test Costs and Fault Severities into Test Case Prioritization,” Proc. 23rd Int’l Conf. Software Eng., May 2001.

    [21] B. Qu, C.Nie, B. Xu, and X. Zhang, “Test Case Prioritization for Black Box Testing,” In Proc. of Computer Software and Applications Conf., vol. 1, pp. 465-474, July 2007.

    [22] D. Jeffrey, and N.Gupta, “Test Case Prioritization Using Relevant Slices,” In Proc. of Computer Software and Applications Conf., vol. 1, pp.411-420, Sept. 2006.

    [23] H. Do, G. Rothermel, and A. Kinneer, “Empirical Studies of Test Case Prioritiza-tion in a JUnit testing environment,” Proc. 15th Int’l Symposium Software Reliability Eng., pp.113-124, Nov. 2004.

    [24] H. Srikanth, L. Williams, and J. Osborne, “System Test Case Prioritization of New and Regression Test Cases,” Proc. Int’l Symposium Empirical Software Eng., pp. 10, Nov. 2005.

    [25] M. Sherriff, M. Lake, and L. Williams, “Prioritization of Regression Tests Using Singular Value Decomposition with Empirical Change Records,” Proc. 18th Int’l Symposium Software Reliability Eng., vol. 5, no. 9, pp. 81-90, Nov. 2007.

    [26] M. Zengkai, and Z. Jianjun, “Test Case Prioritization Based on Analysis of Pro-gram Structure,” Proc. 15th Asia-Pacific Software Eng. Conf., pp. 471-478, Dec. 2008.

    [27] J.Karlsson, and K.Ryan, “A Cost-Value Approach for Prioritizing Requirements,” IEEE Software, vol.14, no. 5, pp. 67-74, Oct. 1997.

    [28] B. Boehm, and L. Huang, “Value-Based Software Engineering: A Case Study,” IEEE Computer, vol. 36, no. 3, pp. 33-41, March 2003.

    [29] Software-artifact Infrastructure Repository, http://sir.unl.edu

    [30] C. Kaner, J. Bach, and B. Pettichord, “Lessons Learned in Software Testing,” John Wiley & Sons, New York, New York, U.S.A., Dec. 2002

    [31] R. Black, “Critical Testing Processes,” Addison-Wesley, Boston, Massachusetts, U.S.A., 2004

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

    QR CODE