博碩士論文 101522007 詳細資訊




以作者查詢圖書館館藏 以作者查詢臺灣博碩士 以作者查詢全國書目 勘誤回報 、線上人數:22 、訪客IP:3.144.176.149
姓名 丁冠華(Kuan-Hua Ting)  查詢紙本館藏   畢業系所 資訊工程學系
論文名稱
(Test Automation for Fault Tolerant Service over Kernel-based Virtual Machine)
相關論文
★ 使用PolyTraceAid進行程式文件覆蓋率計算與分群★ Support Visual Debugging in Electronic Design Automation Software by xDIVA
★ 設計與實作視覺化追蹤點以支援xDIVA進行程式動畫★ Combine Internal Test Oracles and Capture/Replay GUI Testing for Precise Replay and Higher Validation Power
★ Dissimilarity of Polymorphic Execution Sequences★ The Analysis of Capturing System Test Cases into Unit Test Cases
★ 動態延遲載入的測試覆蓋率★ 建構於JMeter之自動化分散式壓力測試架構
★ 模組化因修改具耦合的程式碼所伴隨的成本漣漪★ Design a Pluggable Architecture for Layout Algorithms in xDIVA
★ 重複性程式碼檢測之外掛模組設計★ Visual Perception of Realistic Rendering in xDiva 3D Environment
★ Why and When GUI Test Automation Fails in Practice and Our Solutions to The Problem★ Why and When GUI Test Automation Fails in Practice and Our Solutions to The Problem
★ Very High Precision Optical Character Recognition For Clean-Fixed-Sized True Type Characters★ Enhance Korat by Branch Capability in Capture/Replay User Scenario to Industrial Test Case Automation
檔案 [Endnote RIS 格式]    [Bibtex 格式]    [相關文章]   [文章引用]   [完整記錄]   [館藏目錄]   [檢視]  [下載]
  1. 本電子論文使用權限為同意立即開放。
  2. 已達開放權限電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。
  3. 請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。

摘要(中) 虛擬機容錯系統(System for Fault Tolerant Virtual Machine)在近幾年來是一個非常熱門的議題,主要用於解決以虛擬機的方式架設伺服器發生虛擬機或實體機故障之後服務能夠迅速復原,或是不被中斷。不過對於虛擬機容錯系統測試自動化的議題卻鮮少有人提出。虛擬機容錯系統是一個非常複雜的系統,其所涵蓋的部分不只是應用程式的部分,還包含了實體機器的作業系統以及硬體裝置的部分。要使一個涵蓋層面非常廣的系統能有穩定、高品質的運作,測試是必不可少的。虛擬機容錯系統的測試是非常耗費時間,若要維持一定的系統品質就需要不斷的測試。在人力有限的情況下,採取手動測試並不是一個明智的選擇,採取測試自動化是必要的手段。
虛擬機容錯系統測試自動化必須模擬測試所需環境是相當困難的。在測試的過程中要能完整模擬出整個環境,如果不能百分之百模擬環境就可能導致測試案例不準確。此外,對於如何設計與實作test oracle也是虛擬機容錯系統測試自動化相當困難的環節,因為根據不同的測試案例,所使用的test oracle不盡相同,有些測試案例是透過觀察虛擬機內部的狀態作為test orcale,而有些測試案例則是觀察虛擬機容錯系統的部分元件的狀態作為test oracle。
本論文對於Fault Tolerant Service over Kernel-based Virtual Machine(FTKVM)開發一套自動化測試系統──Fault Tolerant service over Kernel-based Virtual Machine Test Framework。本系統設計一套測試自動化架構,使得開發人員可以輕鬆撰寫出測試案例,透過參數化的方式提升測試案例的彈性。再者,本系統與Jenkins結合,使得我們能達到對FTKVM回歸測試之目的。透過本系統與Jenkins,本系統能夠幫助開發團隊省去手動測試的時間、並對程式碼修正之後能夠取得快速的回饋,使系統開發者能馬上了解當前系統版本的狀況,進而達到提升系統的品質。
摘要(英) Fault tolerant virtual machine (FTVM) is a popular issue in recent years. When guest O.S., host O.S., or VM crashes, FTVM seeks out methods to keep the services alive without being aware by the clients. But the research about test automation for such a system is rare. Fault tolerant virtual machine is a complicated system, which requires the cooperation among hardware, operating systems, modified virtual machines, and monitoring components. To guarantee high quality fault tolerant virtual machine in development, testing is indispensable. Due to the complexity of testing the system, manual testing is too inefficient and time costly. Test automation is the solution to the problem.
To design and build test automation for FTVM, we face three challenges. First is how to automatically setup test environment. Second is how to simulate the faults to test FTVM. The last is the design and implementation of test oracles to make sure FTVM recover as expected.
This paper develops a test automation system for Fault Tolerant Service over Kernel-based Virtual Machine (FTKVM), named Fault Tolerant service over Kernel-based Virtual Machine Test Framework (FTKVMTF). FTKVMTF is a framework to let testers write test case easily. The purpose of FTKVMTF and Jenkins (a Continuous Integration tool) is to construct a regression test automation for FTKVM developers. As a results, developers of FTKVM can get immediate feedback on their changes to FTKVM in a daily build fashion.
關鍵字(中) ★ 虛擬機容錯系統
★ 測試自動化
★ 虛擬機
關鍵字(英) ★ fault tolerant virtual machine
★ test automation
★ kernel-based virtual machine
論文目次 一、 緒論 1
二、 研究背景與相關研究 3
2-1 虛擬機容錯系統 3
2-2 Fault-Tolerant Service over Kernel-based Virtual Machine (FTKVM) 3
2-2-1 FTKVM系統架構 3
2-2-1-1 Level 1 FTKVM ATCA Architecture 4
2-2-1-2 Level 1 FTKVM General Architecture 5
2-2-2 Fault Model 6
2-2-2-1 Level 1 FTKVM ATCA Architecture Fault Model 6
2-2-2-2 Level 1 FTKVM General Architecture Fault Model 8
2-3 虛擬機管理工具 9
2-3-1 libvirt[15] 9
2-3-2 Virsh 10
2-4 軟體測試技術 10
2-4-1 回歸測試[19] 10
2-4-2 手動測試、測試自動化 11
2-5 Virt Test[20] 11
2-6 Jenkins[21] 15
三、 FTKVMTF – Fault Tolerant Service over Kernel-based Virtual Machine Test Framework 16
3-1 問題分析與解決 16
3-1-1 測試環境建置 16
3-1-2 模擬錯誤 17
3-1-3 測試結果判定標準(test oracle) 18
3-2 FTKVMTF設計與實作 19
3-2-1 測試案例(test case)設計 19
3-2-1-1 測試腳本 19
3-2-1-2 設定檔 20
3-2-2 群組 21
3-2-3 巨集(macro) 21
3-3 FTKVMTF測試架構 23
3-4 FTVMTF運作流程 24
四、 研究成果評估 26
4-1 驗證目標 26
4-2 測試案例驗證目標 26
4-3 與Jenkins結合,驗證目標 27
4-3-1 與Jenkins結合,單回合測試執行多個測試案例 27
4-3-2 與Jenkins結合,單回合測試執行多個測試案例且部分測試案例開啟巨集功能 28
4-4 測試案例 32
4-4-1 測試案例:L1_vm_ftstart 32
4-4-2 Test case:Master_monitor_crash 38
4-4-3 Test case:ft_libvirt_crash 38
4-4-4 Test case:vm_start 39
4-4-5 Test case:L1_ft_vm_crash 39
4-4-6 Test case:L1_guestOS_crash 40
4-4-7 Test case:L1_hostOS_crash 40
4-4-8 Test case:L1_a_hostOS_crash 41
4-5 重要測試成果 41
五、 結論與討論 44
參考文獻 46
參考文獻 [1] Virtual Machine. Available: http://en.wikipedia.org/wiki/Virtual_machine
[2] Test Oracle. Available: http://en.wikipedia.org/wiki/Oracle_(software_testing)
[3] M. Uehara, "Fault tolerant computing in computational field model," in Engineering of Computer-Based Systems, 1997. Proceedings., International Conference and Workshop on, 1997, pp. 34-37.
[4] T. Shwe and A. Win, "A fault tolerant approach in cluster computing system," in Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology, 2008. ECTI-CON 2008. 5th International Conference on, 2008, pp. 149-152.
[5] F. O. Sem-Jacobsen, O. Lysne, and T. Skeie, "Combining Source Routing and Dynamic Fault Tolerance," in Computer Architecture and High Performance Computing, 2006. SBAC-PAD ′06. 18TH International Symposium on, 2006, pp. 151-158.
[6] L. B. Bhajantri and N. Nalini, "A fault tolerance approach to topology control in Distributed Sensor Networks," in Advanced Communication Control and Computing Technologies (ICACCCT), 2012 IEEE International Conference on, 2012, pp. 208-212.
[7] D. J. Scales, M. Nelson, and G. Venkitachalam, "The design of a practical system for fault-tolerant virtual machines," SIGOPS Oper. Syst. Rev., vol. 44, pp. 30-39, 2010.
[8] Y. Tamura, K. Sato, S. Kihara, and S. Moriai, Kemari: Virtual Machine Synchronization for Fault Tolerance.
[9] S. Garg, Y. Huang, C. M. R. Kintala, and K. S. Trivedi, "Minimizing Completion Time of a Program by Checkpointing and Rejuvenation," Sigmetrics Performance Evaluation Review, vol. 24, pp. 252-261, 1996.
[10] J. Gray and A. Reuter, Transaction Processing: Concepts and Techniques, 1993.
[11] K. Vaidyanathan and K. S. Trivedi, "A Comprehensive Model for Software Rejuvenation," IEEE Transactions on Dependable and Secure Computing, vol. 2, pp. 124-137, 2005.
[12] Advanced Telecommunications Computing Architecture. Available: http://en.wikipedia.org/wiki/Advanced_Telecommunications_Computing_Architecture
[13] R. Hillbrecht and L. C. E. de Bona, "A SNMP-Based Virtual Machines Management Interface," in Utility and Cloud Computing (UCC), 2012 IEEE Fifth International Conference on, 2012, pp. 279-286.
[14] W. Song, D. Li, J. Hai, S. Xuanhua, Z. Yankun, G. Wei, et al., "Virtual Machine Management Based on Agent Service," in Parallel and Distributed Computing, Applications and Technologies (PDCAT), 2010 International Conference on, 2010, pp. 199-204.
[15] libvirt. Available: http://en.wikipedia.org/wiki/Libvirt
[16] Xen. Available: http://wiki.xen.org/wiki/Scheduling_in_Xen
[17] Virtualbox. Available: https://www.virtualbox.org/
[18] M. Bolte, M. Sievers, G. Birkenheuer, O. Niehorster, and A. Brinkmann, "Non-intrusive virtualization management using libvirt," in Design, Automation & Test in Europe Conference & Exhibition (DATE), 2010, 2010, pp. 574-579.
[19] Regression test. Available: http://en.wikipedia.org/wiki/Regression_testing
[20] Virt test. Available: http://virt-test.readthedocs.org/en/latest/
[21] Jenkins. Available: https://wiki.jenkinsci.org/display/JENKINS/Home
[22] S. Dosinger, R. Mordinyi, and S. Biffl, "Communicating continuous integration servers for increasing effectiveness of automated testing," in Automated Software Engineering (ASE), 2012 Proceedings of the 27th IEEE/ACM International Conference on, 2012, pp. 374-377.
[23] Secure Shell. Available: http://en.wikipedia.org/wiki/Secure_Shell
[24] Magic SysRq key. Available: http://en.wikipedia.org/wiki/Magic_SysRq_key
[25] D. Hoffman, P. A. Strooper, and L. J. White, "Boundary Values and Automated Component Testing," Software Testing, Verification & Reliability, vol. 9, pp. 3-26, 1999.
[26] R. Zhao and L. Zheng, "Boundary Value Testing Using Integrated Circuit Fault Detection Rule," in Testing: Academic and Industrial Conference - Practice and Research Techniques, 2009. TAIC PART ′09., 2009, pp. 3-12.
指導教授 鄭永斌(Yung-Pin Cheng) 審核日期 2014-7-14
推文 facebook   plurk   twitter   funp   google   live   udn   HD   myshare   reddit   netvibes   friend   youpush   delicious   baidu   
網路書籤 Google bookmarks   del.icio.us   hemidemi   myshare   

若有論文相關問題,請聯絡國立中央大學圖書館推廣服務組 TEL:(03)422-7151轉57407,或E-mail聯絡  - 隱私權政策聲明