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

串列處理程式之適應性測試判定器建置

Adaptive test oracle construction for list processing programs

指導教授 : 王凡

摘要


軟體測試對軟體工業而言是一個重要而昂貴的動作,測試至少佔了軟體50%以上的成本。為了緩解這種情況,測試自動化是一個非常重要的軟體測試進程。在測試自動化中,其中一個重要組成部分是一個可執行的測試判定器。傳統上的可執行的測試判定器通常是從軟體規格、軟體文檔、程序、甚至程序斷言本身......等,建構而成的。 在本文中,我們從一群測試案例經由類神經網路構造一個測試判定器。我們的方法特別強調測試案例的輸出與輸入串列之間的關係。我們還制定了輸入/輸出串列關係語言(IOLRL)作為輔助工具,進一步讓使用者可以輸入其需要的輸出/輸入串列的關係。透過挖掘使用者給予的測試案例中輸出與輸入串列資訊,我們利用類神經網路構建可執行的測試判定器。這個構造出來的測試判定器可以用來自動化軟體驗證的過程。從實驗結果可以得知,我們構建出來的判定器具有良好的性能。

並列摘要


Software testing is an important and expensive activity to the software industry, with testing accounting for over 50% of the cost of software. To ease this situation, test automation is very critical to the process of software testing. One important component of the test automation is an executable test oracle. Traditionally an executable test oracle is constructed from the software specifications, software documentation, program assertions or even the program itself, etc. In this paper, we construct a test oracle from a set of test cases with neural networks. Our approach especially emphasizes on the relation between the input and output lists of the test cases. We also present input/output list relation language (IOLRL) as an auxiliary tool for users to further specify the particular relation between the input and output lists. By mining the knowledge of the input/output relation from the given set of test cases, we construct an executable test oracle with neural networks. This constructed test oracle can be used to automate the software testing. The experiments show our constructed test oracles have good performance.

參考文獻


[1] C. Anderson, A. von Mayrhauser, and R. Mraz. On the use of neural networks to guide software testing activities. In Procs. International Test Conference, 1995.
[2] H. Barringer, A. Goldberg, K. Havelund, and K. Sen. Rule-based runtime verification. In B. Steffen and G. Levi, editors, VMCAI, volume 2937 of Lecture Notes in Computer Science, pages 44–57. Springer, 2004.
[3] C. M. Bishop. Neural Networks for Pattern Recognition. Oxford University Press, Inc., New York, NY, USA, 1995.
[5] H. Do, S. Elbaum, and G. Rothermel. Supporting controlled experimentation with testing techniques: An infrastructure and its potential impact. Empirical Software Engineering: An International Journal, 10(4):405–435, 2005.
[9] J. Grabowski, D. Hogrefe, G. Rethy, I. Schieferdecker, A. Wiles, and C. Willcock. An introduction to the testing and test control notation (ttcn-3). Computer Networks, 42(3):375 – 403, 2003. ITU-T System Design Languages (SDL).

延伸閱讀