博碩士論文 101525009 詳細資訊




以作者查詢圖書館館藏 以作者查詢臺灣博碩士 以作者查詢全國書目 勘誤回報 、線上人數:104 、訪客IP:52.15.143.223
姓名 陳新志(Xin-chih Chen)  查詢紙本館藏   畢業系所 軟體工程研究所
論文名稱
(Korat: An O.S.-independent Capture/Replay Test Automation System)
相關論文
★ CRUnit - Capture / Replay Based Unit Testing★ Locating Interested Code by Program Execution Paths with Debugger
★ An OpenStack Based Testing as a Service Platform★ Visualize Ripple Effect with Analyzing Object-Oriented Design Relationship
★ Change History Tracing Tool for Arbitrary Programming Language★ Virtual Objects for Program Visualization in xDIVA
★ Enhance Stress Testing Power by Synchronizing JMeter Test Scripts★ 以 GDB 實作 XThreadDebugger-Linux(XTD-Linux)提供 Linux 平台之多執行緒除錯
★ 支援版本控制系統之文件撰寫工具★ GUI Component Detection for Cross-Platform Applications–Using Input Device and Image Change Synergistic Detection Method
★ 應用設計模式於 RPA 軟體 實作低維護成本的屬性面板自動修正功能★ 使用靜態分析偵測 JavaScript 應用程式中的 Race Condition
★ 基於物件導向與 Clean Code 概念進行 xDiva 重構與優化★ 基於xDIVA之利用關鍵影格將3D物件動畫化與即時保存的視覺化工具
★ CoolPCB:以控制點為主的電路板切割成形繪製自動化方法★ 利用軟體 UI 實現擴充功能 突破原始碼限制的工具
檔案 [Endnote RIS 格式]    [Bibtex 格式]    [相關文章]   [文章引用]   [完整記錄]   [館藏目錄]   [檢視]  [下載]
  1. 本電子論文使用權限為同意立即開放。
  2. 已達開放權限電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。
  3. 請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。

摘要(中) 在開發軟體的過程中,回歸測試是必不可少的程序,它可以確保開發者修改程式後,程式仍然能夠正常運行。由於回歸測試的過程是繁瑣且重複性高的,現今市面上有許多測試自動化的工具致力於解決這個問題。這些工具大多基於錄製/播放(Capture/Replay)的概念,通常的作法是紀錄使用者的操作後重播出來,以此模擬使用者的操作。而使用者的操作多與滑鼠和鍵盤有關,因此這些工具會以某種手段錄製與播放滑鼠與鍵盤事件,通常是透過特定的作業系統或平台來達成。
ADLINK是一家生產工業電腦的公司,他們希望在工業電腦的軟硬體測試中套用自動化測試工具。不幸的是,傳統的軟硬體測試的過程並不能保證待測物始終保持在同一作業系統或平台,導致現有的自動化測試工具並不能被套用。在本論文中,我們使用C#實做出一個自動化測試的工具Korat。Korat的運作基於錄製/播放的概念,不論待測物處於什麼平台都允許使用者進行測試錄製與播放。
由於Korat 採用的是錄製-播放的架構,使得錄成的測試案例相當容易受到使用者界面的影響。一旦使用者界面有所變更,根據傳統的錄製-播放的方法,使用者必須重新錄製測試案例,而原先錄好的回歸測試案例只有丟棄一途。因此本論文提出一套提高重用性(Reusability)的方法。使用者可以根據自己的需求將測試案例腳本切割成許多小部份,當使用者界面有所變更時,只須修改測試案例中與使用者界面相關的部份,藉此將重用性最大化。另外,測試判定準則(Test oracle)經常是回歸測試惱人的爭議點。Korat允許使用者使用字串斷言(Assertion)或圖片斷言。字串斷言使用的字串為使用者自行控制待測物藉由區域網路(LAN)傳回的訊息;而圖片斷言使用的圖片為安裝在Korat上,用以監控待測物狀態的影像擷取卡擷取的圖片。此外,我們讓ADLINK使用Korat作為自動化回歸測試的系統,實際評價此系統的可用性。
摘要(英) Regression testing is an indispensable process in software development, which ensures stable features have not been adversely broken by new changes. Regression testing is tedious and repetitive in general, thus there are lots of test automation tools aimed at coping with the problem available in the market. One popular kind of tools is based on Capture/Replay (CR) concept. Its idea way is to capture users’ actions and then replay them to the system under test. Most of the users’ actions are related to mouse and keyboard, so the tools may capture mouse and keyboard events in different ways, typically with the help of operating systems (O.S.) or SDK.
ADLINK is an industrial personal computer (IPC) company. Their testing needs require a test engineer to test the system from BIOS to different kinds of operating systems. Unfortunately, conventional capture/replay software testing tools must rely on an O.S. to work. In this paper, we implement a C#-based test automation tool named Korat. Korat is based on CR, which allows SUT to operate in any kind of environments.
Since the concepts of Korat are based on CR, the test scripts are sensitive to graphical user interfaces (GUI). Once GUI is redesigned or changed, users may need to recapture the test cases. We propose a technique that increases the reusability of test scripts. Users can divide the test scripts into many small fragments as wish. When GUI is redesigned or changed, the only thing users need to do is modifying the fragments that is related to the GUI change. In addition, test oracle is another key issue in regression testing. Korat allows users to assert SUT′s status with strings or images. In string assertion, users can send the strings in screen output to Korat so that it can be asserted with the saved string in capture mode. In image assertion, users can grab images by a video capture card equipped on Korat, allowing users to assert the screen output of SUT. An evaluation is presented to demonstrate the usability of Korat, supported by the real usages by ADLINK.
關鍵字(中) ★ 回歸測試
★ 自動化測試
★ 軟硬體測試
★ 錄製/播放
關鍵字(英) ★ Regression test
★ Test automation
★ BIOS testing
★ Capture/Replay
論文目次 Chapter 1 1
1.1 Introduction 1
Chapter 2 5
2.1 Related Work 5
2.1.1 Testing approach 5
2.1.2 Test Automation Tools 8
Chapter 3 13
3.1 Korat Overview 13
3.1.1 Problem Analysis 13
3.1.2 System Architecture 15
3.1.3 USB events emulator 17
3.1.4 Video capture card 21
Chapter 4 22
4.1 Reusability 22
4.1.1 Script fragmentation 23
4.2 File extensions definition 24
Chapter 5 26
5.1 Test oracle 26
5.1.1 Character-based screen output 26
5.1.2 Image-based screen output 28
5.2 Precondition 30
Chapter 6 32
6.1 Commands introduction 32
6.1.1 Capture phase 32
6.1.2 Replay phase 35
Chapter 7 37
7.1 Evaluation 37
7.1.1 Evaluation items 37
7.1.2 Result 37
7.2 Real practice 41
7.2.1 Check CPU name 42
7.2.2 Check total memory 43
7.2.3 Check if audio devices are enabled 44
7.2.4 Check if audio devices are disabled 45
7.2.5 Check number of CPU cores activated 46
7.2.6 Check cache size 47
7.2.7 Check if all the COM ports are enabled 48
7.2.8 Check if COM0 is disabled 49
7.2.9 Check if COM1 is disabled 50
7.2.10 Check CPU frequency 51
Chapter 8 53
8.1 Conclusion 53
8.2 Future works 53
Bibliography 55
參考文獻 [1] "Industrial PC - Wikipedia, the free encyclopedia," https://en.wikipedia.org/wiki/Industrial_PC.
[2] MARPOSS. "INDUSTRIAL COMPUTERS: Frequently Asked Questions," http://www.marposs.com/ftp/files/faq_indpc_115_en.pdf.
[3] ADLINK. "Embedded Computer system, PXI, DAQ, Machine Vision System, Industrial Computer, Automation - ADLINK Technology," http://www.adlinktech.com/.
[4] H. Chien-Hsin, C. Yung-Pin, and P. Wei-Cheng, "Intrusive Test Automation with Failed Test Case Clustering." pp. 89-96.
[5] IBM. "Rational Functional Tester," http://www-03.ibm.com/software/products/en/functional.
[6] T. Yeh, T.-H. Chang, and R. C. Miller, “Sikuli: using GUI screenshots for search and automation,” in Proceedings of the 22nd annual ACM symposium on User interface software and technology, Victoria, BC, Canada, 2009, pp. 183-192.
[7] T. Wall. "Abbot framework for automated testing of Java GUI components and programs," http://abbot.sourceforge.net/.
[8] Microsoft. "Verifying Code by Using UI Automation," http://msdn.microsoft.com/en-us/library/dd286726.aspx.
[9] J. Steven, P. Chandra, B. Fleck, and A. Podgurski, “jRapture: A Capture/Replay tool for observation-based testing,” in Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis, Portland, Oregon, USA, 2000, pp. 158-167.
[10] S. R. Dalal, A. Jain, N. Karunanithi, J. M. Leaton, C. M. Lott, G. C. Patton, and B. M. Horowitz, “Model-based testing in practice,” in Proceedings of the 21st international conference on Software engineering, Los Angeles, California, USA, 1999, pp. 285-294.
[11] T. S. Chow, “Testing Software Design Modeled by Finite-State Machines,” IEEE Trans. Softw. Eng., vol. 4, no. 3, pp. 178-187, 1978.
[12] W. Xi, G. Liang, and M. HuaiKou, "An Approach to Transforming UML Model to FSM Model for Automatic Testing." pp. 251-254.
[13] J. A. Whittaker, and M. G. Thomason, “A Markov Chain Model for Statistical Software Testing,” IEEE Trans. Softw. Eng., vol. 20, no. 10, pp. 812-824, 1994.
[14] C. Bertolini, and A. Mota, “A Framework for GUI Testing Based on Use Case Design,” in Proceedings of the 2010 Third International Conference on Software Testing, Verification, and Validation Workshops, 2010, pp. 252-259.
[15] A. C. D. Neto, R. Subramanyan, M. Vieira, and G. H. Travassos, “A survey on model-based testing approaches: a systematic review,” in Proceedings of the 1st ACM international workshop on Empirical assessment of software engineering languages and technologies: held in conjunction with the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE) 2007, Atlanta, Georgia, 2007, pp. 31-36.
[16] M. Jovic, A. Adamoli, D. Zaparanuks, and M. Hauswirth, “Automating performance testing of interactive Java applications,” in Proceedings of the 5th Workshop on Automation of Software Test, Cape Town, South Africa, 2010, pp. 8-15.
[17] U. I. Forum. "Device Class Definition for Human Interface Devices (HID)," http://www.usb.org/developers/devclass_docs/HID1_11.pdf.
[18] Nuvoton. "Nuvoton Technology Corp.," http://www.nuvoton.com/.
[19] Nuvoton. "NuMicro Family NUC140 Data Sheet," http://www2.nuvoton.com/hq/enu/ProductAndSales/ProductLines/MicrocontrollerApplicationIC/ARMMicrocontroller/ARMCortexTMM0/Documents/NUC140%20Datasheet%20EN.pdf.
[20] ADLINK. "PCIe-HDV62 - Vision - ADLINK Frame Grabbers - ADLINK Technology," http://www.adlinktech.com/PD/web/PD_detail.php?cKind=&pid=1358&seq=&id=&sid=.
[21] C. Woei-kae, T. Tung-Hung, and C. Hung-Hsing, "Integration of specification-based and CR-based approaches for GUI testing." pp. 967-972 vol.1.
[22] L. Chien-Hung, C. Shu-Ling, and H. Tien-Chi, "A Model-Based Testing Tool for Embedded Software." pp. 180-183.
[23] "nc(1) - Linux man page," http://linux.die.net/man/1/nc.
[24] itseez. "OpenCV," http://opencv.org/.
[25] G. Stockman, and L. G. Shapiro, Computer Vision: Prentice Hall PTR, 2001.
[26] OpenCV. "Template Matching - OpenCV documentation," http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html#template-matching.
[27] Microsoft. "Supported Configurations and Platforms for Coded UI Tests and Action Recordings," http://msdn.microsoft.com/en-us/library/dd380742.aspx.
指導教授 鄭永斌(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聯絡  - 隱私權政策聲明