博碩士論文 107525007 詳細資訊




以作者查詢圖書館館藏 以作者查詢臺灣博碩士 以作者查詢全國書目 勘誤回報 、線上人數:22 、訪客IP:3.144.189.177
姓名 黃聖傑(Sheng-Chieh Huang)  查詢紙本館藏   畢業系所 軟體工程研究所
論文名稱
(GUI Component Detection for Cross-Platform Applications–Using Input Device and Image Change Synergistic Detection Method)
相關論文
★ 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 平台之多執行緒除錯
★ 支援版本控制系統之文件撰寫工具★ Korat: An O.S.-independent Capture/Replay Test Automation System
★ 應用設計模式於 RPA 軟體 實作低維護成本的屬性面板自動修正功能★ 使用靜態分析偵測 JavaScript 應用程式中的 Race Condition
★ 基於物件導向與 Clean Code 概念進行 xDiva 重構與優化★ 基於xDIVA之利用關鍵影格將3D物件動畫化與即時保存的視覺化工具
★ CoolPCB:以控制點為主的電路板切割成形繪製自動化方法★ 利用軟體 UI 實現擴充功能 突破原始碼限制的工具
檔案 [Endnote RIS 格式]    [Bibtex 格式]    [相關文章]   [文章引用]   [完整記錄]   [館藏目錄]   [檢視]  [下載]
  1. 本電子論文使用權限為同意立即開放。
  2. 已達開放權限電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。
  3. 請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。

摘要(中) 在軟體工程領域,為了維持軟體的品質,「軟體測試」便是一門很重要的課題。軟體測試領域發展至今,回歸測試用來確保既有的功能不受系統修改與維護的影響。回歸測試自動化軟體技術相對成熟且種類多樣也實用化。但目前對於「測試案例自動產生」的實務應用目前仍然有很多實務上的困難。「GUI模型」的建立是目前針對GUI自動化測試的一項前置作業,如果能夠準確且快速的建立待測系統(如應用程式、網頁…等)的GUI模型,便能以GUI模型為基礎來達成測試案例產生的工作。

目前對於GUI模型的建立,大多都是針對特定平台或環境進行逆向工程式解構,或將程式的原始碼進行分析,以及使用開發框架提供的API進行GUI元件(或稱控制項)的提取及操作,這些方法的準確度雖然高但相對地對平台的依存度以及平台的開發知識也非常的高,而且往往要努力跟上該平台的底層升級。例如針對網頁開發的技術,就無法適用於Windows或是 Linux。更不用提手機的各式平台。

本論文將針對偵測待測系統的GUI元件提出新的方法,該方法將透過影像處理並與基本的通用輸入裝置進行協同識別,以偵測GUI元件;此方法具有高度與平台無關,並且無懼於平台的底層技術升級的特性。
摘要(英) In the field of software engineering, software testing is an important and major method to ensure software quality. In practical software testing, regression testing software tools have matured and varied. Regression test automation is to make sure that the system features that function correctly are not affected by software changes. On the other hand, “automated test case generation” remains to be very difficult in practice. The construction of the “GUI Model” is an important step toward GUI test case generation. If we can construct the GUI model of the system under test (such as application, webpage, etc.) accurately and quickly, it can be used to achieve GUI test case generation.
Most attempts to construct the GUI model are done by reverse engineering the program on specific platform, environment, or even analyzing the source code of the program when there is poor support from platforms. In some modern platforms, they can use the API provided by the platforms to extract and operate GUI components (called “control-items”). However, these approaches introduce very high dependency and coupling to the underlying platform and the results are not applicable to another platform. For example, approaches that aim for web technology are not applicable to Windows or Linux.
This paper proposes a new method for GUI component detection of the system under test using image processing and basic universal input devices. It is totally platform-independent. Finally, we will use this method to test different types of system under test to verify and evaluate the feasibility of the method.
關鍵字(中) ★ GUI自動化測試
★ 測試案例自動產生
★ GUI模型
★ GUI元件偵測
★ 圖形化使用者介面
關鍵字(英) ★ GUI automated testing
★ test case generation
★ GUI model
★ GUI component detection
★ GUI
★ Graphic User Interface
論文目次 摘 要 I
Abstract II
致 謝 III
Contents IV
Figures V
Tables VII
Chapter 1. Introduction 1
Chapter 2. Background and Related Work 4
2-1 GUI (Graphical User Interface) 4
2-2 Build GUI model 5
2-3 Image-based UI Automation 5
2-4 GUI component detection/extraction 6
2-5 Object detection 6
2-6 Feature extraction 7
Chapter 3. Problem Analysis 8
3-1 Limitations on previous GUI component analysis tools 8
3-1-1 Limitations on reverse engineering method 8
3-1-2 Limitations on GUI automation support framework 9
3-2 Why do we need the GUI-IDICS method and what it can achieve? 9
Chapter 4. Image Processing and Mouse Cursor - A Synergistic Approach 11
4-1 Area detection filtering method 11
4-2 Boundary detection by cursor′s help 12
4-2-1 Image difference boundary detection (DIFF_Bound) 13
1. Image Difference Summation (DIFF_SUM) 13
2. Image Difference Edge Surrounding (DIFF_EDGE) 16
3. Image Difference Binarization (DIFF_BIN) 19
4. Image Difference Corner Reduction (DIFF_CORNER) 20
4-2-2 Cursor monitoring boundary detection (CUR_Monitor) 23
1. Cursor State Monitoring (CUR_CNG) 23
2. Cursor State and Pixel Color Monitoring (CUR_PIXEL) 26
Chapter 5. System Design and Architecture 29
5-1 Detection method modular architecture – PASS architecture 29
5-2 Detection program workflow 30
5-3 GUI component detection workflow 32
5-4 Results screenshot 33
5-5 User interface and functions of detection program 34
Chapter 6. Experiment and Evaluation 36
6-1 Experimental definition and premise 36
6-2 Experimental results 37
6-2-1 Type of system under test - general desktop GUI application 37
6-2-2 Type of system under test – Webpage 42
6-3 Summary and discussion 46
Chapter 7. Conclusion and Future Work 48
Chapter 8. Reference 50
參考文獻 [1] Memon, Atif, Ishan Banerjee, and Adithya Nagarajan. “GUI ripping: Reverse engineering of graphical user interfaces for testing.” 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings.. IEEE, 2003.
[2] Memon, Atif M. “An event‐flow model of GUI‐based applications for testing.” Software testing, verification and reliability 17.3 (2007): 137-157.
[3] Kull, Andres. “Automatic GUI model generation: State of the art.” 2012 IEEE 23rd International Symposium on Software Reliability Engineering Workshops. IEEE, 2012.
[4] Nguyen, Bao N., et al. “GUITAR: an innovative tool for automated testing of GUI-driven software.” Automated software engineering 21.1 (2014): 65-105.
[5] Lee, Shin-Jie, et al. “Test Command Auto-Wait Mechanisms for Record and Playback-Style Web Application Testing.” 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC). Vol. 2. IEEE, 2018.
[6] Memon, Atif M., Mary Lou Soffa, and Martha E. Pollack. “Coverage criteria for GUI testing.” ACM SIGSOFT Software Engineering Notes 26.5 (2001): 256-267.
[7] Grilo, André MP, Ana CR Paiva, and João Pascoal Faria. “Reverse engineering of GUI models for testing.” 5th Iberian Conference on Information Systems and Technologies. IEEE, 2010.
[8] White, Lee, and Husain Almezen. “Generating test cases for GUI responsibilities using complete interaction sequences.” Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000. IEEE, 2000.
[9] Smokris. “How can I detect elements of GUI using OpenCV?”: Stack- Overflow. 7 March 2012. 2 April 2019 <https://dsp.stackexchange.com/questions/1657/how-can-i-detect-elements-of-gui-using-opencv>.
[10] Yun, Young-Sun, et al. "Detection of GUI Elements on Sketch Images Using Object Detector Based on Deep Neural Networks." International Conference on Green and Human Information Technology. Springer, Singapore, 2018.
[11] Redmon, Joseph, et al. "You only look once: Unified, real-time object detection." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.
[12] .NET Framework Documentation: Using UI Automation for Automated Testing. 30 March 2017 <https://docs.microsoft.com/en-us/dotnet/framework/ui-automation/using-ui-automation-for-automated-testing>.
[13] Yeh, Tom, Tsung-Hsiang Chang, and Robert C. Miller. "Sikuli: using GUI screenshots for search and automation." Proceedings of the 22nd annual ACM symposium on User interface software and technology. 2009.
[14] Cheng, Yung-Pin, Deron Liang, and Wei-Jen Wang. "KORAT—A platform independent test automation tool by emulating keyboard/mouse hardware signals." 2016 IEEE AUTOTESTCON. IEEE, 2016.
[15] Chang, Tsung-Hsiang, Tom Yeh, and Robert C. Miller. "GUI testing using computer vision." Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. 2010.
[16] Bakaev, Maxim, et al. "Auto-extraction and integration of metrics for web user interfaces." Journal of Web Engineering 17.6 (2018): 561-590.
[17] Li, Yingjun, S. U. N. Yingji, and Z. H. A. O. Qingyu. "Ui automation based on runtime image." U.S. Patent Application No. 13/787,801.
[18] OpenCV. “MSER Class Reference”: OpenCV Documentation. 2 April 2019 <https://docs.opencv.org/3.4/d3/d28/classcv_1_1MSER.html>.
[19] Windows File Explorer: Wikipedia. 11 April 2019 <https://en.wikipedia.org/wiki/File_Explorer>.
[20] TeamViewer. 11 April 2019 <https://www.teamviewer.com/>.
[21] PuTTY. 11 April 2019 <https://www.putty.org/>.
[22] Home: E-Invoice Platform. 11 April 2019 <https://www.einvoice.nat.gov.tw/>.
[23] Firefox Support. 11 April 2019 <https://support.mozilla.org/zh-TW/products/firefox>.
[24] Home: Central Weather Bureau. 11 April 2019 <https://www.cwb.gov.tw/>.
指導教授 鄭永斌(Yung-Ping Cheng) 審核日期 2020-7-15
推文 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聯絡  - 隱私權政策聲明