TWI678614B - 測試系統 - Google Patents
測試系統 Download PDFInfo
- Publication number
- TWI678614B TWI678614B TW107120513A TW107120513A TWI678614B TW I678614 B TWI678614 B TW I678614B TW 107120513 A TW107120513 A TW 107120513A TW 107120513 A TW107120513 A TW 107120513A TW I678614 B TWI678614 B TW I678614B
- Authority
- TW
- Taiwan
- Prior art keywords
- test
- image
- module
- behavior
- servo
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Debugging And Monitoring (AREA)
Abstract
一種測試系統包括:取像裝置;伺服裝置,耦接至取像裝置,驅動取像裝置去拍攝待測裝置的應用程式的畫面而獲得影像,並且解析影像以獲得影像所包括的物件資訊,且基於物件資訊獲得對應的測試程序;以及行為制動裝置,耦接至伺服裝置,自伺服裝置接收測試程序,而基於測試程序產生控制訊號,並傳送控制訊號至待測裝置,作為應用程式的輸入訊號。
Description
本發明是有關於一種測試技術,且特別是有關於一種自動化的測試系統。
在資訊通訊產品的開發過程中,往往需要大量且重複的測試程序,以確保產品的品質。因為測試過程的不確定性與測試自動化的高門檻與高成本,造成目前大部分的測試需求仍然仰賴人工完成。隨著人工智慧與物聯網技術的發展,發展出測試自動化技術。而目前現有的測試自動化技術主要有視窗使用者介面自動化(Windows UI Automation)、安卓使用者介面自動化(Android UiAutomator)以及Sikuli。然,這些測試自動化技術具有許多缺失導致使用上的不便。
現有的測試自動化技術相依於待測裝置的系統平台,造成測試人員必須熟悉各種不同的作業環境,依照不同的作業環境撰寫不同的測試程式。例如,Windows UI Automation必須在視窗作業系統環境下才可運作。Android UiAutomator則僅支援Andorid作業系統。Sikuli則必須依賴於Java虛擬機器(Java Virtual
Machine)。
現有的測試程式的容錯性低,對於Sikuli等使用圖形比對的方式運作的測試技術而言,在不同的待測裝置螢幕、不同的作業系統、不同顯示語言或不同瀏覽器中,因為不同的螢幕尺寸、螢幕解析度設定、應用程式/網頁排版,皆有可能造成圖形比對錯誤。操作過程中,若有切換畫面或是有不預期的視窗出現,都會造成執行錯誤。而在以Windows UI Automation或Android UI Automator為基礎的自動化測試實例中,會以物件顯示文字為辨識物件的屬性,這也會造成測試程式在不同作業系統顯示語言間無法相容。
現有的測試自動化技術無法支援作業環境載入前的測試,無論是Windows UI Automation、Android UI Automator、Sikuli皆需要待測裝置的作業系統的支援才能作用,造成基本輸入輸出系統(Basic Input/Output System,BIOS)、系統映像預載(Image Preload)、開箱體驗程序(Out-of-Box Experience,OOBE)等未載入作業系統前的測試項目無法採用現有的測試自動化技術。
測試人員需要程式語言基礎,造成較高的進入門檻及前置學習期。例如:Windows UI Automation、Android UI Automator需要使用標準的程式語言(例如:C++、Java)來開發測試程式,而Sikuli使用自行開發圖形化程式語言。由於這些程式語言艱深難懂,造成現場測試人員遇到問題時,往往無法及時解決。
現有的測試自動化技術在執行自動化測試之前,需要在
待測裝置中額外安裝測試程式或相關的測試平台。而在執行自動化測試時,這些測試程式會在作業系統的背景中執行,佔據系統資源。因此,在進行系統效能測試的情況下,便會對測試結果造成影響。
基於上述,在面對需要進行大量測試的情況下,由於現有的測試自動化技術需要根據待測裝置的作業環境來撰寫不同的測試程式、調整在不同作業系統下測試程式的相容性、需額外執行作業系統載入前的測試以及對測試人員的前置學習期等因素,造成測試人員需要花費許多時間與心力,針對每一台待測裝置進行確認與調整,進而增加大量佈署自動化測試的困難。
本發明提供一種測試系統,可不仰賴於待測裝置的作業系統且不需程式語言基礎的測試自動化系統與方法。
本發明的測試系統,設置用於測試一待測裝置,包括:取像裝置;伺服裝置,耦接至取像裝置,驅動取像裝置去拍攝待測裝置的應用程式的畫面而獲得影像,並且解析影像以獲得影像所包括的物件資訊,且基於物件資訊獲得對應的測試程序;行為制動裝置,耦接至伺服裝置,自伺服裝置接收測試程序,而基於測試程序產生控制訊號,並傳送控制訊號至待測裝置,作為應用程式的輸入訊號。
在本發明的一實施例中,上述伺服裝置包括:物件模型,
儲存多個介面物件分別對應的多個特徵參數;物件偵測模組,基於特徵參數解析影像,以獲得影像中所包括的一或多個介面物件對應的物件資訊;以及測試腳本解譯模組,基於測試腳本來解譯物件資訊,以獲得對應的測試程序,並傳送測試程序至行為制動裝置。
在本發明的一實施例中,所述伺服裝置更包括:異常通知模組,耦接至測試腳本解譯模組,用以發出異常通知訊息。
在本發明的一實施例中,所述應用程式會產生多個受測畫面,伺服裝置透過取像裝置拍攝所述受測畫面而獲得多個訓練影像。透過物件偵測模組基於特徵參數解析各訓練影像,以獲得各訓練影像所包括的介面物件。伺服裝置更包括:物件屬性編輯模組,修改介面物件的物件屬性;以及腳本編寫模組,基於介面物件的物件屬性,產生測試腳本。
在本發明的一實施例中,物件屬性包括物件類別、位置資訊、執行順序、執行行為以及等待時間。
在本發明的一實施例中,所述行為制動裝置包括:第一訊號傳輸介面,耦接至伺服裝置以接收測試程序;第二訊號傳輸介面,用於耦接待測裝置;以及微控制器,耦接至第一訊號傳輸介面與第二訊號傳輸介面,執行輸入裝置模擬器,輸入裝置模擬器基於自第一訊號傳輸介面所接收的測試程序,產生模擬待測裝置的輸入行為的控制訊號,並傳送控制訊號至待測裝置。
在本發明的一實施例中,輸入裝置模擬器為鍵盤模擬
器、滑鼠模擬器、觸控螢幕模擬器、機器手臂模擬器、喇叭模擬器以及繼電器模擬器其中一個或其組合者。
基於上述,本發明利用取像裝置來拍攝待測裝置的應用程式的畫面,透過人工智慧的分析來辨識畫面中的物件,並且根據測試腳本來獲得對應的測試程序,以驅使行為制動裝置來模擬待測裝置的輸入行為,據此,實現自動化的測試過程。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
100‧‧‧測試系統
110‧‧‧待測裝置
111‧‧‧顯示單元
120‧‧‧取像裝置
130‧‧‧伺服裝置
140‧‧‧行為制動裝置
141‧‧‧微控制器
142‧‧‧第一訊號傳輸介面
143‧‧‧第二訊號傳輸介面
201‧‧‧物件模型
202‧‧‧測試腳本
203‧‧‧物件偵測模組
204‧‧‧測試腳本解譯模組
205‧‧‧異常通知模組
401‧‧‧腳本編寫模組
402‧‧‧可識別物件組
403‧‧‧物件屬性編輯模組
404‧‧‧特殊物件處理模組
405‧‧‧特殊事件處理模組
S305~325‧‧‧測試方法的各步驟
圖1是依照本發明一實施例的測試系統的架構圖。
圖2是依照本發明一實施例的測試執行系統的架構圖。
圖3是依照本發明一實施例的測試方法的流程圖。
圖4是依照本發明一實施例的測試腳本編寫系統的架構圖。
圖1是依照本發明一實施例的測試系統的架構圖。請參照圖1,測試系統100包括待測裝置110、取像裝置120、伺服裝置130以及行為制動裝置140。伺服裝置130耦接至取像裝置120與行為制動裝置140。行為制動裝置140耦接至待測裝置110。
待測裝置110包括顯示單元111。顯示單元111用以顯示
應用程式的畫面。待測裝置110可以採用手機、平板電腦、筆記型電腦、桌上型電腦等具有運算功能的電子裝置等方式實施。
取像裝置120可以是數位攝影機或可提供數位影像輸出的類比攝影機,其可採用電荷耦合元件(Charge coupled device,CCD)鏡頭或互補式金氧半電晶體(Complementary metal oxide semiconductor transistors,CMOS)鏡頭等。
伺服裝置130為筆記型電腦、桌上型電腦等具有較高運算功能的電子裝置。伺服裝置130包括處理器以及儲存設備,在儲存設備中儲存有多個模組,處理器驅動這些模組實現測試方法各步驟。
所述處理器可採用中央處理單元(Central Processing Unit,CPU)、圖像處理單元(Graphic Processing Unit,GPU)、物理處理單元(Physics Processing Unit,PPU)、可程式化之微處理器(Microprocessor)、嵌入式控制晶片、數位訊號處理器(Digital Signal Processor,DSP)、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)或其他類似裝置等來實現。所述儲存設備是任意型式的固定式或可移動式隨機存取記憶體(Random Access Memory,RAM)、唯讀記憶體(Read-Only Memory,ROM)、快閃記憶體(Flash memory)、安全數位卡(Secure Digital Memory Card,SD)、硬碟或其他類似裝置或這些裝置的組合。
而取像裝置120可以是整合在伺服裝置130上,也可以是與伺服裝置130各自為獨立的設備,在此並不限制。
行為制動裝置140是用以模擬待測裝置110的輸入行為。例如,倘若待測裝置110為個人電腦,則行為制動裝置140提供鍵盤模擬器與滑鼠模擬器的功能;若待測裝置110為具有觸控螢幕的智慧型手機,則行為制動裝置140提供觸控螢幕模擬器的功能。行為制動裝置140由單晶片微控制器開發板組成,可採用Arduino YUN來實現行為制動裝置140。
進一步地說,行為制動裝置140包括微控制器141、第一訊號傳輸介面142以及第二訊號傳輸介面143。微控制器141耦接至第一訊號傳輸介面142以及第二訊號傳輸介面143。第一訊號傳輸介面142耦接至伺服裝置130以接收測試程序。第二訊號傳輸介面143用於耦接待測裝置110。第一訊號傳輸介面142可以是無線網路介面或乙太網路介面等。第二訊號傳輸介面143可以是通用序列匯流排(Universal Serial Bus,USB)。微控制器141用以執行輸入裝置模擬器。所述輸入裝置模擬器為鍵盤模擬器、滑鼠模擬器、觸控螢幕模擬器、機器手臂模擬器、喇叭模擬器以及繼電器模擬器其中一個或其組合者,其基於自第一訊號傳輸介面142所接收的測試程序,產生模擬待測裝置110的輸入行為的控制訊號,並傳送控制訊號至待測裝置110以作為應用程式的輸入訊號。鍵盤模擬器用以模擬鍵盤的輸入行為。滑鼠模擬器用以模擬滑鼠的輸入行為。觸控螢幕模擬器用以模擬觸控螢幕的輸入行為。機器手臂模擬器用以模擬搬移、搖晃待測裝置110,並且在待測裝置110為掀蓋式裝置時,模擬調整掀蓋角度。喇叭模擬器用以模擬語
音輸入。繼電器模擬器用以模擬充電器、輸出入裝置的插拔。
伺服裝置130傳送測試程序給行為制動裝置140。行為制動裝置140透過無線網路介面或乙太網路介面等第一訊號傳輸介面142將測試程序經由網路控制模組(未繪示)傳送至微控制器141。據此,微控制器141可執行由伺服裝置130傳送過來的測試程序。之後,微控制器141再透過未繪示的網路控制模組連結第二訊號傳輸介面143,將控制訊號輸入至待測裝置110。
圖2是依照本發明一實施例的測試執行系統的架構圖。請參照圖2,伺服裝置130包括物件模型201、測試腳本202、物件偵測模組203、測試腳本解譯模組204以及異常通知模組205。物件偵測模組203、測試腳本解譯模組204以及異常通知模組205可以是儲存在伺服裝置130的儲存設備中的軟體模組,其由一或多個程式碼片段所組成,透過處理器來執行以實現對應的功能。另外,物件偵測模組203、測試腳本解譯模組204以及異常通知模組205也可以是由微控制器晶片所組成的硬體,在此並不限定。測試執行系統負責測試腳本202的執行。
取像裝置120主要用以擷取待測裝置110的顯示單元111所顯示的畫面,並將所擷取的影像交由物件偵測模組203進行解析。物件偵測模組203基於物件模型201中的特徵參數來解析自取像裝置120所獲得的影像,以獲得影像中所包括的一或多個介面物件對應的物件資訊。物件模型201儲存多個介面物件分別對應的多個特徵參數。物件模型201與物件偵測模組203相匹配。
在本實施例中,物件模型201儲存了多種介面物件的特徵參數。所述介面物件包括多種物件類別,例如:按鈕(Button)、核取方塊(CheckBox)、下拉式清單方塊(ComboBox)、日期選取器(DateTimePicker)、標籤項(Label)、連結標籤項(LinkLabel)、清單方塊(ListBox)、多欄式列示盒(ListView)、單選按鈕(RadioButton)、文字方塊(TextBox)等物件類別。
物件偵測模組203為入工智慧處理裝置,具有將輸入的影像解析為一個或多個已定義的介面物件。物件偵測模組203可以採用深度學習(deep learning)類神經網路。物件偵測模組203將自取像裝置120獲得的影像進行卷積(Convolution)與池化(Pooling)的動作,用以提取影像中的特徵訊息並合理化資料量。卷積與池化的動作可進行多次,以進行特徵的最佳化,之後,將其結果再輸入一個已訓練過的深層類神經網路,以取得辨識後的物件資訊。
測試腳本解譯模組204用以基於測試腳本202來解譯由物件偵測模組203所獲得的物件資訊,以獲得對應的測試程序,並傳送測試程序至行為制動裝置140。測試腳本202由後述的測試腳本編寫系統所產生,其用以指示行為制動裝置140何時進行何種操作。
當測試執行過程中出現異常,可透過異常通知模組205來發出通知,以告知測試負責人,並協助排除狀況。異常通知模組205耦接至測試腳本解譯模組204,其用以發出異常通知訊息。
此處所定義的異常事件主要分為三類,物件偵測異常、物件解譯異常以及行為制動異常。
物件偵測異常由物件偵測模組203發出,通過測試腳本解譯模組204來知會異常通知模組205。此類異常的產生源於待測裝置110的畫面上的物件無法透過物件偵測模組203來正確識別,需要測試負責人手動給定物件資訊以排除異常。
物件解譯異常由測試腳本解譯模組204所發出。即,當測試腳本解譯模組204發現物件偵測模組203所偵測到的物件種類與數量與測試腳本202所定義的不相匹配時,發出物件解譯異常至異常通知模組205。此類問題需要測試負責人手動更正物件資訊或測試腳本內容以排除異常。
行為制動異常是由行為制動裝置140發出,通過測試腳本解譯模組204來知會異常通知模組205。行為制動異常的產生是源於行為制動裝置140無法執行測試腳本202所給定的執行行為。此類問題需要測試負責人重設或更換行為制動裝置140。
異常通知模組205可包括異常接收單元、異常通知發送單元、異常處理提示單元以及異常處理執行單元。異常接收單元負責接收來自物件偵測模組203、測試腳本解譯模組204、行為制動裝置140所發出的異常事件(物件偵測異常、物件解譯異常或行為制動異常)。異常通知發送單元負責透過預設的通知方法發出通知。例如,透過即時通訊軟體、電子郵件、簡訊或等來發出通知。異常處理提示單元根據異常事件而在伺服裝置120中進行提
示,並等待測試負責人指示或執行異常排除動作。
圖3是依照本發明一實施例的測試方法的流程圖。請同時參照圖1~圖3,在步驟S305中,伺服裝置130會驅使取像裝置120去拍攝待測裝置110的應用程式的畫面而獲得影像。
接著,在步驟S310中,由伺服裝置130來解析影像,以獲得影像所包括的物件資訊。之後,在步驟S315中,伺服裝置130基於物件資訊獲得對應的測試程序,並且在步驟S320中,傳送測試程序至行為制動裝置140。具體而言,取像裝置120在擷取影像之後,將影像傳送給物件偵測模組203,使得物件偵測模組203利用物件模型201來找出影像中已定義的介面物件的物件類別與位置資訊。位置資訊為介面物件位於影像中的座標位置,例如以介面物件的中心點位置來代表。執行行為進一步包括了所使用的輸入裝置模擬器以及對應的動作。之後,測試腳本解譯模組204將物件類別與位置資訊與測試腳本202進行比對以獲得對應的測試程序,即,各介面物件對應的執行順序、執行行為以及等待時間。
之後,在步驟S325中,透過行為制動裝置140基於測試程序產生控制訊號。例如,行為制動裝置140的微控制器141根據測試程序來決定要先執行哪一個介面物件的執行行為。透過執行行為可以得知所欲使用的輸入裝置模擬器以及對應的行為動作。行為動作包括雙擊、按左鍵等其中一個。
即,在步驟S325中,行為制動裝置140基於測試程序產
生控制訊號,並傳送控制訊號至待測裝置110,作為應用程式的輸入訊號。
舉例來說,假設透過物件偵測模組203來辨識出介面物件A對應的物件類別為按鈕以及其位置資訊為(15,20)。之後,測試腳本解譯模組204將所述獲得的物件資訊與測試腳本202進行比對,而獲得介面物件A對應的執行順序、執行行為以及等待時間。例如,介面物件A執行順序為第1位,使用滑鼠模擬器,對應的行為動作為“雙擊”,等待時間為500毫秒。據此,將所述執行順序、執行行為以及等待時間作為測試程序而傳送至行為制動裝置140。如此,行為制動裝置140會產生模擬滑鼠的“雙擊”動作的控制訊號,在等待500毫秒之後,將控制訊號傳送給待測裝置110。待測裝置110基於所接收到的控制訊號來執行應用程式中對應的操作。
在所述測試方法執行之前,伺服裝置130需先建立出測試腳本。應用程式會產生多個受測畫面,伺服裝置130透過取像裝置120拍攝這些受測畫面而獲得多個訓練影像,以人工智慧在這些訓練影像中辨識出受測物件,而測試負責人只需以表格化文字指定受測物件與執行動作即可完成測試腳本的編寫。底下再舉例來說明測試腳本編寫系統的實施方式。測試腳本編寫系統提供測試負責人編寫測試腳本的環境。
圖4是依照本發明一實施例的測試腳本編寫系統的架構圖。在本實施例中,伺服裝置130更包括腳本編寫模組401、可識
別物件組402、物件屬性編輯模組403、特殊物件處理模組404以及特殊事件處理模組405。腳本編寫模組401、物件屬性編輯模組403、特殊物件處理模組404以及特殊事件處理模組405可以是儲存在伺服裝置130的儲存設備中的軟體模組,也可以是由微控制器晶片所組成的硬體,在此並不限定。
物件偵測模組203將可識別的介面物件的物件資訊儲存至可識別物件組402,透過物件屬性編輯模組403來編輯可識別的介面物件的物件屬性。並且,物件偵測模組203會將所偵測到的介面物件告知腳本編寫模組401,而腳本編寫模組401在自物件屬性編輯模組403獲得可識別的介面物件的物件屬性之後,再利用特殊物件處理模組404與特殊事件處理模組405來對未被識別的介面物件進行額外定義。
可識別物件組402是經由物件偵測模組203將訓練影像中可識別的介面物件篩選出來的集合。每個介面物件具有多個物件屬性。物件屬性包括物件類別、位置資訊、執行順序、執行行為以及等待時間。執行行為進一步包括制動器以及行為動作。制動器表示用來執行行為動作的模組,例如,可以是行為制動裝置140所提供的輸入裝置模擬器。另外,為了便於區別執行順序,還可以進一步包括區域此一屬性。
舉例來說,表1所示為可識別物件組402中所記載內容的實施例。第一個屬性為物件類別,用以識別介面物件屬於哪一種控制項,包括按鈕、核取方塊、下拉式清單方塊、日期選取器、標籤項、連結標籤項、清單方塊、多欄式列示盒、單選按鈕、文字方塊等。第二個屬性為位置資訊,用以表示介面物件在訓練影像中的座標位置。例如,以介面物件的中心位置來作為其位置資訊,以減少測試執行過程的誤差。
第三、第四個屬性為區域、執行順序。同一時間、同一畫面通常會有多個相同物件類別的介面物件,例如:三個按鈕。此時,為方便區別,將顯示單元111所擷取的訓練影像分為若干個區域,並由一個固定的規則加以定義,例如,先由左至右,再由上至下。在相同的區域中,進一步對同一類的介面物件區分執行順序。執行順序亦可由一個固定的規則加以定義,例如,先由左至右,再由上至下,根據介面物件的所在位置加以排序,來產生執行順序。而區域這個屬性還有一個功能,當取像裝置120採用多個攝影機或具有對焦功能的攝影機架構時,伺服裝置130可透過讀取區域這個屬性,採用相對應攝影機的輸出影像或指定攝影機的對焦區域,以提升物件偵測模組203的辨識率。在可識別物件組402中的區域、執行順序這兩個屬性只是預設值,可透過物件屬性編輯模組403加以修改。
第五個屬性為執行行為動作的制動器。例如,若標示為“滑鼠模擬器”,則採用行為制動裝置140的滑鼠模擬器。第六個屬性為行為動作,為預期在測試執行階段所要執行的動作。第七個屬性為等待時間,為動作執行後測試執行系統等待不作動的時間。設定此等待時間可減少因時序(Timing)問題所造成的錯誤。
物件屬性編輯模組403用以修改介面物件的物件屬性。例如,制動器、行為動作與等待時間可由測試腳本編輯人員透過物件屬性編輯模組403來進行設定。
而倘若測試流程中有介面物件無法由物件偵測模組203所識別,則可透過特殊物件處理模組404進行額外定義。特殊物件共有五個屬性。第一個屬性為編號,用以識別每一個特殊物件,故此屬性有唯一性,不可有任兩個物件具有相同的值。另四個屬性為位置資訊、制動器、行為動作及等待時間,其定義分別與所述表1相同,但此四個屬性都需要由測試腳本編輯人員於特殊物件處理模組404內人工給定。
另外,倘若測試流程中有與控制項無關的動作(例如,按Windows鍵),則可透過特殊事件處理模組405進行額外定義。特殊事件共有四個屬性。第一個屬性為編號,用以識別每一個特殊事件,故此屬性有唯一性,不可有任兩個事件具有相同的值。另三個屬性為制動器、行為動作及等待時間,其定義分別與所述表1相同,但此三個屬性都需要由測試腳本編輯人員於特殊事件處理模組405內人工給定。一般測試過程中,常需要進行螢幕截
圖,以做為除錯或測試過程紀錄(Log)使用。此時,即可定義制動器為“取像裝置”,動作為“截圖(Screenshot)”的特殊事件。本系統自動控制取像裝置120完成拍圖及後續動處理,例如將影像儲存於特定資料夾,自動編號,給定專案與時間資訊等資訊。
腳本編寫模組401用以基於介面物件的物件屬性,產生測試腳本202。在此,腳本編寫模組401為模組化工具,方便測試腳本編輯人員開發測試腳本202。測試腳本202以頁面為單位。一個典型的測試腳本202由多個頁面組成,以完成測試流程內多個受測畫面的操作。一個頁面即對應到待測裝置110的一個受測畫面。表2所示為測試腳本202中一個頁面的示意圖。
一個頁面基本上由三個部分組成頁面編號、動作單元、斷開時間(Tineout)。頁面編號用以識別每一個頁面,具有唯一性,不可有任兩個頁面具有相同的編號。動作單元定義在此頁面需要執行的測試操作,由多個介面物件(包括可識別的介面物件、特殊物件、特殊事件)組成。斷開時間用以增加測試執行的強健性。倘若本頁面的操作未在斷開時間內完成,或待測裝置110當
前的受測畫面未在斷開時間內進入下一個受測畫面,則可進一步透過異常通知模組205發出異常。
另外,伺服裝置130還可提供測試環境校正系統,用以確保取像裝置120能夠取得合適大小的影像,供測試執行系統與測試腳本編寫系統使用。在本實施例中,為提供最佳實作效果,除了所述物件模型201(對應於視窗物件的模型)之外,還另外提供另一物件模型,其對應於待測裝置110的顯示單元111外框。在測試環境校正系統中,使用對應待測裝置110的顯示單元111外框的物件模型,來提供邊界框(Boundary Box)資訊與滑鼠位置資訊。
測試環境校正系統用以估測待測裝置110的顯示單元111的邊界框是否在容差範圍內。自所述另一物件模型取得邊界框資訊,並解析出上下邊界與左右邊界兩組數值。之後,確認上下邊界與左右邊界這兩組數值之中,至少有一組居於邊界容差範圍內。即上下邊界數值位於上下邊界容差範圍內,或左右邊界位於左右邊界容差範圍內。若無任一組數值居於邊界容差範圍,則可進一步發出警示,提示測試人員移動待測裝置110或取像裝置120,直到至少有一組數值居於邊界容差範圍內。若上下邊界與左右邊界這兩組數值皆位於邊界容差範圍內,則可確認待測裝置110的擺放位置合適,即可完成測試環境校正。若只有一組數值居於邊界容差範圍,則必須持續進行校正。
另外,測試執行系統若是透過滑鼠模擬器、觸控螢幕模
擬器來執行行為動作時,往往需要基於螢幕解析度的座標值。因此,在測試環境校正階段則需要取得螢幕解析度資訊。在此,可利用滑鼠模擬器步進移動滑鼠,再利用人工智慧判別滑鼠的位置。藉此自動推算出螢幕解析度,免去人工查找的麻煩。首先,將滑鼠座標歸零,回到螢幕解析度座標的原點(通常為螢幕左上角)。接著,指示滑鼠模擬器於給定螢幕方向依滑鼠單位步進量前進。滑鼠單位步進量為滑鼠每次前進的一個固定量,例如為3個像素。螢幕方向可依序給定為向右或向下。之後,判讀物件偵測模組203回報的滑鼠座標。若物件偵測模組203連續若干次回報空值,即判斷滑鼠已移出螢幕邊界外,並回報最後一個非空值的步進計數。由最後一個非空值的步進計數乘上滑鼠單位步進量即可推算出給定螢幕方向的螢幕解析度。所推算出的螢幕解析度亦可儲存為一組設定檔(Profile),方便之後同款的待測裝置可直接套用,不必再進行螢幕解析度獲取的流程。
又,伺服裝置130還提供了測試環境讀取系統,用以自動讀取測試機的系統環境。測試人員往往需要記錄待測裝置110的系統環境,以供分析測試結果時使用。在此,伺服裝置130導入物件偵測與字符識別等技術,實現此需求的自動化,有效降低測試人員手動抄寫系統環境的負擔。字符識別技術可根據一字符模型將具文字資料的圖像進行分析識別,取得其中的文字資訊。
例如,將輸入畫面進行預處理,以過濾非文字部分並移除雜訊(常用的演算法有灰階後二值化、中值濾波等)。接著文字
切割,取得單一字元的圖像(常用的演算法有水平投影和垂直投影等)。將每一個字元進行特徵抽取,取得字元的架構、外型、像素方向等特徵值。最後由辨識器辨別出每一個字元(常用的演算法有線性分類器(Linear Classifier)、類神經網路(Neural Network)、支援向量機(Support Vector Machine)等)。
由於字符識別技術尚未達到100%的辨識率,故,測試環境讀取系統會進一步將取像裝置120所抓取的原圖與字符識別技術所辨別出來的最佳N個可能答案(Top N)一併呈現出來,供測試人員圈選正確答案。若正確答案不在N個可能答案內,測試環境讀取系統也提供測試人員手動確認的介面,並收集此類辨識不佳的樣本,以供辨識器的再訓練或調適使用。
綜上所述,所述實施例是利用伺服裝置來執行測試腳本,而不是於待測裝置中來執行,利用取像裝置拍攝應用程式的畫面,進而透過伺服裝置分析所獲得的影像來獲得畫面中的物件,並驅使行為制動裝置來模擬待測裝置的輸入行為,使得待測裝置進一步執行對應的操作。據此,具有不需倚賴待測裝置的作業系統、並且具有高容錯性、支援作業環境載入前的自動化、不需額外安裝測試程式等優勢。
此外,所述實施例所提供的物件化的編寫方式,讓一般測試人員可輕鬆來編寫測試腳本。即,借力於人工智慧的發展,以人工智慧辨識受測物件,之後,測試人員只需以表格化文字指定受測物件與執行動作,即可完成自動化測試腳本的編寫,大大
降低一般測試人員進行測試自動化的門檻。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
Claims (9)
- 一種測試系統,設置用於測試一待測裝置,包括:一取像裝置;一伺服裝置,耦接至該取像裝置,驅動該取像裝置去拍攝該待測裝置的一應用程式的一畫面而獲得一影像,並且解析該影像以獲得該影像所包括的一物件資訊,且基於該物件資訊獲得對應的一測試程序;以及一行為制動裝置,耦接至該伺服裝置,自該伺服裝置接收該測試程序,而基於該測試程序產生一控制訊號,並傳送該控制訊號至該待測裝置,作為該應用程式的一輸入訊號,其中該行為制動裝置包括:一第一訊號傳輸介面,耦接至該伺服裝置以接收該測試程序;一第二訊號傳輸介面,用於耦接該待測裝置;以及一微控制器,耦接至該第一訊號傳輸介面與該第二訊號傳輸介面,執行一輸入裝置模擬器,該輸入裝置模擬器基於自該第一訊號傳輸介面所接收的該測試程序,產生模擬該待測裝置的輸入行為的該控制訊號,並傳送該控制訊號至該待測裝置。
- 如申請專利範圍第1項所述的測試系統,其中該伺服裝置包括:一物件模型,儲存多個介面物件分別對應的多個特徵參數;一物件偵測模組,基於該些特徵參數解析該影像,以獲得該影像中所包括的一或多個所述介面物件對應的該物件資訊;以及一測試腳本解譯模組,基於一測試腳本來解譯該物件資訊,以獲得對應的該測試程序,並傳送該測試程序至該行為制動裝置。
- 如申請專利範圍第2項所述的測試系統,其中該伺服裝置更包括:一異常通知模組,耦接至該測試腳本解譯模組,發出一異常通知訊息。
- 如申請專利範圍第2項所述的測試系統,其中該應用程式會產生多個受測畫面,該伺服裝置透過該取像裝置拍攝該些受測畫面而獲得多個訓練影像,透過該物件偵測模組基於該些特徵參數解析每一該些訓練影像,以獲得該些訓練影像所包括的多個所述介面物件,其中,該伺服裝置更包括:一物件屬性編輯模組,修改多個所述介面物件的物件屬性;以及一腳本編寫模組,基於多個所述介面物件的物件屬性,產生該測試腳本。
- 如申請專利範圍第4項所述的測試系統,其中該物件屬性包括一物件類別、一位置資訊、一執行順序、一執行行為以及一等待時間。
- 如申請專利範圍第5項所述的測試系統,其中該輸入裝置模擬器為一鍵盤模擬器、一滑鼠模擬器、一觸控螢幕模擬器、一機器手臂模擬器、一喇叭模擬器以及一繼電器模擬器其中一個或其組合者。
- 一種測試系統,設置用於測試一待測裝置,包括:一取像裝置;一伺服裝置,耦接至該取像裝置,驅動該取像裝置去拍攝該待測裝置的一應用程式的一畫面而獲得一影像,並且解析該影像以獲得該影像所包括的一物件資訊,且基於該物件資訊獲得對應的一測試程序;以及一行為制動裝置,耦接至該伺服裝置,自該伺服裝置接收該測試程序,而基於該測試程序產生一控制訊號,並傳送該控制訊號至該待測裝置,作為該應用程式的一輸入訊號,其中該伺服裝置包括:一物件模型,儲存多個介面物件分別對應的多個特徵參數;一物件偵測模組,基於該些特徵參數解析該影像,以獲得該影像中所包括的一或多個所述介面物件對應的該物件資訊;以及一測試腳本解譯模組,基於一測試腳本來解譯該物件資訊,以獲得對應的該測試程序,並傳送該測試程序至該行為制動裝置;以及一異常通知模組,耦接至該測試腳本解譯模組,發出一異常通知訊息。
- 一種測試系統,設置用於測試一待測裝置,包括:一取像裝置;一伺服裝置,耦接至該取像裝置,驅動該取像裝置去拍攝該待測裝置的一應用程式的一畫面而獲得一影像,並且解析該影像以獲得該影像所包括的一物件資訊,且基於該物件資訊獲得對應的一測試程序;一行為制動裝置,耦接至該伺服裝置,自該伺服裝置接收該測試程序,而基於該測試程序產生一控制訊號,並傳送該控制訊號至該待測裝置,作為該應用程式的一輸入訊號,其中該伺服裝置包括:一物件模型,儲存多個介面物件分別對應的多個特徵參數;一物件偵測模組,基於該些特徵參數解析該影像,以獲得該影像中所包括的一或多個所述介面物件對應的該物件資訊;以及一測試腳本解譯模組,基於一測試腳本來解譯該物件資訊,以獲得對應的該測試程序,並傳送該測試程序至該行為制動裝置;其中該應用程式會產生多個受測畫面,該伺服裝置透過該取像裝置拍攝該些受測畫面而獲得多個訓練影像,透過該物件偵測模組基於該些特徵參數解析每一該些訓練影像,以獲得該些訓練影像所包括的多個所述介面物件,其中,該伺服裝置更包括:一物件屬性編輯模組,修改多個所述介面物件的物件屬性;以及一腳本編寫模組,基於多個所述介面物件的物件屬性,產生該測試腳本。
- 如申請專利範圍第8項所述的測試系統,其中該中該物件屬性包括一物件類別、一位置資訊、一執行順序、一執行行為以及一等待時間。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107120513A TWI678614B (zh) | 2018-06-14 | 2018-06-14 | 測試系統 |
US16/112,796 US20190384698A1 (en) | 2018-06-14 | 2018-08-27 | Test system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107120513A TWI678614B (zh) | 2018-06-14 | 2018-06-14 | 測試系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI678614B true TWI678614B (zh) | 2019-12-01 |
TW202001558A TW202001558A (zh) | 2020-01-01 |
Family
ID=68840608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107120513A TWI678614B (zh) | 2018-06-14 | 2018-06-14 | 測試系統 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20190384698A1 (zh) |
TW (1) | TWI678614B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI801902B (zh) * | 2021-06-16 | 2023-05-11 | 德制國際有限公司 | 使用圖形化介面編輯自動化設備作業流程之方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258902B (zh) * | 2020-01-17 | 2022-07-19 | 深圳平安医疗健康科技服务有限公司 | 基于SockJS服务器的性能测试方法和性能测试*** |
TWI753613B (zh) * | 2020-10-16 | 2022-01-21 | 博鑫醫電股份有限公司 | 醫療設備的檢測方法及實現該檢測方法的檢測系統 |
TWI780797B (zh) * | 2020-10-16 | 2022-10-11 | 博鑫醫電股份有限公司 | 用於輔助醫療設備檢測系統的彈性框架 |
US11966288B2 (en) * | 2021-02-10 | 2024-04-23 | Samsung Electronics Co., Ltd. | Electronic apparatus performing self-test using self-test application and control method thereof |
US11586316B1 (en) * | 2022-05-23 | 2023-02-21 | Rohde & Schwarz Gmbh & Co. Kg | Test system and testing method for testing a device under test |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI303392B (en) * | 2004-12-08 | 2008-11-21 | Marena Systems Corp | A method and system for automatically focusing an image detector for defect detection and analysis |
TWM400657U (en) * | 2010-06-09 | 2011-03-21 | Star Techn Inc | Probing apparatus |
CN104280398A (zh) * | 2013-07-05 | 2015-01-14 | 上海维锐智能科技有限公司 | 一种电子元器件的自动测试装置 |
TWI624543B (zh) * | 2011-09-25 | 2018-05-21 | 賽瑞諾斯有限公司 | 用於多重分析的系統和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6785845B2 (en) * | 2001-04-10 | 2004-08-31 | Hewlett-Packard Development Company, L.P. | POS terminal test system and method |
US20180157386A1 (en) * | 2016-12-05 | 2018-06-07 | Jiawen Su | System and Method for detection, exploration, and interaction of graphic application interface |
US20180364131A1 (en) * | 2017-06-14 | 2018-12-20 | Optofidelity Oy | Testing apparatus |
-
2018
- 2018-06-14 TW TW107120513A patent/TWI678614B/zh active
- 2018-08-27 US US16/112,796 patent/US20190384698A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI303392B (en) * | 2004-12-08 | 2008-11-21 | Marena Systems Corp | A method and system for automatically focusing an image detector for defect detection and analysis |
TWM400657U (en) * | 2010-06-09 | 2011-03-21 | Star Techn Inc | Probing apparatus |
TWI624543B (zh) * | 2011-09-25 | 2018-05-21 | 賽瑞諾斯有限公司 | 用於多重分析的系統和方法 |
CN104280398A (zh) * | 2013-07-05 | 2015-01-14 | 上海维锐智能科技有限公司 | 一种电子元器件的自动测试装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI801902B (zh) * | 2021-06-16 | 2023-05-11 | 德制國際有限公司 | 使用圖形化介面編輯自動化設備作業流程之方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202001558A (zh) | 2020-01-01 |
US20190384698A1 (en) | 2019-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI678614B (zh) | 測試系統 | |
US11061661B2 (en) | Image based method and system for building object model and application states comparison and graphic-based interoperability with an application | |
US11755347B2 (en) | Method and system for accessing table content in a digital image of the table | |
US8549478B2 (en) | Graphical user interface input element identification | |
WO2021115345A1 (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN104391797A (zh) | Gui控件的识别方法和装置 | |
CN107526676B (zh) | 一种跨***测试方法及装置 | |
CN108509343A (zh) | 基于图像识别技术的自动化测试方法及*** | |
US20170322637A1 (en) | Mouse action capture and replay system and method, recording medium, and program product | |
US11995428B2 (en) | Method and system for providing image-based interoperability with an application | |
CN111143188A (zh) | 一种对应用进行自动化测试的方法及设备 | |
CN115982005A (zh) | 基于人工智能的自动化测试方法和装置 | |
Havranek et al. | V2s: A tool for translating video recordings of mobile app usages into replayable scenarios | |
CN113609028A (zh) | 一种页面测试方法、计算设备及可读存储介质 | |
CN110659193B (zh) | 测试*** | |
CN115905016A (zh) | 一种BIOS Setup搜索功能测试方法、装置、电子设备及存储介质 | |
Pan et al. | Research on functional test of mobile app based on robot | |
CN106776084B (zh) | 一种RabbitMQ集群服务的错误检测封装方法 | |
CN112286785A (zh) | 用户界面的异常检测方法及装置 | |
TW202034132A (zh) | 滑鼠游標影像偵測比對與回饋狀態判斷方法 | |
CN118035103A (zh) | 一种仅基于图像的非侵入式跨平台测试迁移方法 | |
CN111522737B (zh) | 一种前端界面的自动化测试校验方法、装置及存储介质 | |
Gamal et al. | Owl Eye: An AI-Driven Visual Testing Tool | |
CN117112034A (zh) | 驱动控制方法、装置、电子设备及计算机存储介质 | |
CN117992355A (zh) | 一种基于相似度的兼容性测试方法及相关产品 |