跳到主要內容

簡易檢索 / 詳目顯示

研究生: 賴仕哲
Shi-Zhe Lai
論文名稱: 以自動學習修正方法提升Korat影像辨識功能之準確度
指導教授: 鄭永斌
口試委員:
學位類別: 碩士
Master
系所名稱: 資訊電機學院 - 資訊工程學系
Department of Computer Science & Information Engineering
論文出版年: 2020
畢業學年度: 108
語文別: 中文
論文頁數: 46
中文關鍵詞: 軟體測試測試自動化影像辨識
相關次數: 點閱:9下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 在軟體開發的過程當中,為了修復、重構或是增加功能,工程師會不斷的修改既有的程式碼。為了確保在每一次改動之後的軟體品質,回歸測試非常重要。為了讓測試人員進行回歸測試更有效率,本實驗室開發了一套錄製/播放類的測試工具-Korat。
    Korat為了達到非平台相依,使用影像辨識來偵測目標,在非Windows平台時,我們透過影像擷取卡取得待測系統的畫面,作為影像辨識的影像來源。我們發現像是Korat這種基於電腦視覺辨識目標類型的工具軟體,在特定狀況的GUI,像是反鋸齒差異、目標影像發生變化或是影像擷取卡雜訊干擾,造成測試當下的影像與錄製時不同,無法正常回放測試案例。
    本論文中我們將針對Korat這個錄製/播放類的測試工具,詳細說明無法正確執行測試案例特定的狀況,並提出自動學習修正腳本方法,自動增加目標圖片,並利用影像辨識結果聯集的方式,減少受到上述問題的影響,最後說明未來能夠改進的方向。


    In the process of software development, in order to repair, refactor or add functions, engineers will constantly modify the existing code. To ensure the quality of the software after every change, regression testing is very important. so as to allow testers to perform regression testing more efficiently, the laboratory has developed a set of recording/playback testing tool - Korat.
    For achieve non-platform dependence, Korat uses image recognition to detect targets. On non-Windows platforms, we use the image capture card to obtain the screen of the system under test as the image source for image recognition. We found that tools such as Korat, which are based on computer vision to identify target, have GUIs in specific situations, such as anti-aliasing, target image changes, or image capture card signal noise interference, resulting in the current test image and recording test image is different, the test case cannot be played back normally.
    In this thesis, we will explain the specific situation of the test case that cannot be correctly executed for recording/playback test tool Korat, and propose an automatic learning and correction script method to automatically increase the target picture and use the method of image recognition result set. Reduce the impact of the above problems, and finally explain the direction that can be improved in the future.

    摘要 i Abstract ii 目錄 iii 圖目錄 v 表目錄 vii 一、緒論 1 二、研究背景 3 2-1 軟體測試 3 2-2 回歸測試 3 2-3 測試自動化 3 2-3-1 測試自動化的分類 4 2-4 GUI測試工具 4 2-4-1 測試案例產生方法 4 2-4-2 GUI 元件的操作 5 2-5 SikuliX 8 2-6 Korat 8 2-6-1 Vision Location Parameter 10 三、問題描述與分析 12 3-1 反鋸齒(Anti-aliasing) 12 3-2 目標影像變化 13 3-3 影像擷取卡 15 3-4 問題分析 18 四、解決方法 22 4-1 分析 22 4-2 實作細節 23 4-2-1 自動取得新目標 24 4-2-2 修改VLP參數 25 4-3 實作成果 26 五、評估 30 5-1 反鋸齒案例 30 5-2 目標影像改變案例 31 5-3 影像擷取卡案例 32 六、結論與未來展望 35 七、參照 36

    [1] Chen, Xin-Chih. “Korat: An O.S.-independent Capture/Replay Test Automation System.” Institute of Computer Science & Information Engineering, National Central University, 2014.
    [2] Jorgensen, Paul C. Software testing: a craftsman’s approach. CRC press, 2018.
    [3] Nidhra, Srinivas, and Jagruthi Dondeti. "Black box and white box testing techniques-a literature review." International Journal of Embedded Systems and Applications (IJESA) 2.2 (2012): 29-50.
    [4] Leung, Hareton KN, and Lee White. "Insights into regression testing (software testing)." Proceedings. Conference on Software Maintenance-1989. IEEE, 1989.
    [5] Agrawal, Hiralal, et al. "Incremental regression testing." 1993 Conference on Software Maintenance. IEEE, 1993..
    [6] Fewster, Mark, and Dorothy Graham. Software test automation. Reading: Addison-Wesley, 1999.
    [7] Jorgensen, Alan, and James A. Whittaker. "An api testing method." Proceedings of the International Conference on Software Testing Analysis & Review (STAREAST 2000). 2000.
    [8] Brooks, Penelope A., and Atif M. Memon. "Automated GUI testing guided by usage profiles." Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering. 2007.
    [9] RaiMan. “RaiMan’s SikuliX”. 1 June 2020 <http://sikulix.com/>.
    [10] Selenium. “SeleniumHQ Browser Automation”. 2 June 2020 <https://www.selenium.dev/>.
    [11] TestComplete. “Automated UI Testing Tools | TestComplete”. 2 June 2020 <https://smartbear.com/product/testcomplete/overview/>.
    [12] SideeX. “SideeX | Auto-First Record-Playback Web Test Automation”. 2 June 2020 <https://sideex.io/>.
    [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] ADLINK. “Edge Computing | IoT Solutions | ADLINK - ADLINK Technology”. 3 June 2020 <https://www.adlinktech.com/en/index.aspx>.
    [15] Cheng, Yung-Pin, Ching-Wei Li, and Yi-Cheng Chen. "Apply computer vision in GUI automation for industrial applications." Mathematical biosciences and engineering: MBE 16.6 (2019): 7526-7545.
    [16] OpenCV. “Template Matching — OpenCV 2.4.13.7 documentation”. 1 June 2020 <https://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/template_matching/template_matching.html>.
    [17] Chen, Li-Hsuan. “Enhance Korat by Branch Capability in Capture/Replay User Scenario to Industrial Test Case Automation.” Institute of Computer Science & Information Engineering, National Central University, 2018.

    QR CODE
    :::