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

運用延伸的PIE技術於軟體可測試性分析

Software Testability Analysis Using Extended PIE Techniques

指導教授 : 黃慶育
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


在軟體工程當中,測試階段中所獲得的資料可以幫助開發更準確的預測軟體可靠度。但是隨著軟體複雜度的增加,測試階段需要花費越來越多的負擔。為了減少測試的花費,除了發展新的測試技術外,如何建立一個可以有效測試的軟體也變成了一個新的議題。因此,各式各樣有關軟體可測試性的研究紛紛興起。PIE軟體可測試度分析是在過去許多用來評估軟體可測試度方法裡的其中之一,其主要是由傳播(propagation)、感染(infection)、和執行(execution)三個步驟所組成。以往的一些研究說明了PIE軟體可測試度分析可以有效的幫助測試階段進行。然而,PIE可測試度分析隨著程式的增長需要花費大量的運算及時間來評估軟體元件的可測試度。在這篇論文當中,我們提出了使用group testability取代location testability以達到加速PIE可測試度分析的目的。我們所提出的方法主要可分為三個步驟:將程式轉化為數個區塊、將區塊轉化為數個群組、標記目標。最後,我們會將結果與傳統的PIE軟體可測試度分析做比較。我們也開發了一個名為ePAT的工具來幫助我們標記出需要分析的目標。我們的實驗結果指出所需分析的程式碼數量可以有效的減少,並且計算出的可測試度仍然是處於可以接受的範圍。

關鍵字

軟體可測試度

並列摘要


In software engineering, data that was gained from a testing phase can help developers to predict software reliability precisely. But the testing stage takes more and more effort due to the growing complexity of software. How to build software that can be tested efficiently has become an important topic in addition to enhancing and developing new testing methods. Thus, research on software testability has been developed variously. In the past, a dynamic technique for estimating program testability, was proposed and called propagation, infection, and execution (PIE) analysis. Previous research studies show that PIE analysis can complement software testing. However, this technique requires a lot of computational overhead in estimating the testability of software components. In this thesis, we propose a method (EPIE) to accelerate the traditional PIE analysis based on generating group testability as a substitute for location testability. This technique can be separated into three steps: breaking a program into blocks, dividing blocks into groups, and marking target statements. We developed a tool called ePAT (extended PIE Analysis Tool) to help us identify the locations which will be analyzed. The experimental result shows that the number of analyzed locations can be effectively decreased and that the estimated value of testability remains acceptable and useful.

並列關鍵字

Software testability

參考文獻


[4] 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, Jul. 1993.
[5] 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, Jul. 2004.
[6] 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, Mar. 2003.
[9] R. S. Freedman, “Testability of Software Component”, IEEE Transaction on Software Engineering, Vol. 17, No. 6, pp. 553-564, 1991.
[10] R. V. Binder, “Design for testability in object-oriented systems”, Commun. ACM, Vol. 37, Iss. 9, pp. 87-101, Sep. 1994.

延伸閱讀