一種非侵入式嵌入式軟件圖形用戶界面自動(dòng)化測(cè)試方法
【專利摘要】本發(fā)明涉及一種非侵入式嵌入式軟件圖形用戶界面自動(dòng)化測(cè)試方法,屬于軟件圖形用戶界面測(cè)試技術(shù)領(lǐng)域。本發(fā)明提出的方法基于嵌入式軟件圖形用戶界面進(jìn)行捕獲、識(shí)別、鍵盤鼠標(biāo)模擬和測(cè)試自動(dòng)控制,實(shí)用可行,通過采集將識(shí)別出的圖像輸出信息作為被測(cè)件的輸出,以模擬控制鍵盤鼠標(biāo)信息為被測(cè)件的輸入,從而完成在不改變嵌入式軟件系統(tǒng)的情況下對(duì)嵌入式軟件系統(tǒng)GUI信息的實(shí)時(shí)捕獲和相應(yīng)操作,完成非侵入式嵌入式軟件圖形用戶界面自動(dòng)化測(cè)試。
【專利說明】
一種非侵入式嵌入式軟件圖形用戶界面自動(dòng)化測(cè)試方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及一種非侵入式嵌入式軟件圖形用戶界面自動(dòng)化測(cè)試方法,屬于軟件圖形用戶界面測(cè)試技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]自動(dòng)化測(cè)試技術(shù)按其機(jī)制可以分為侵入式和非侵入式,侵入式測(cè)試技術(shù)采取某種方式修改內(nèi)部代碼或者控制其運(yùn)行環(huán)境;而非侵入式測(cè)試技術(shù)用于監(jiān)視和檢查軟件,而不修改軟件內(nèi)部結(jié)構(gòu)或者代碼。普通GUI (圖形用戶界面)軟件測(cè)試通常方式是應(yīng)用現(xiàn)有測(cè)試工具構(gòu)建測(cè)試框架,如Robot,RFT、WinRunner等工具。普通⑶I測(cè)試框架方式常常需要與被測(cè)軟件運(yùn)行在同一系統(tǒng),對(duì)資源消耗巨大,不適合嵌入式軟件輕型、占用資源少、高性能、高可靠性、便于移植等特點(diǎn)。嵌入式軟件內(nèi)存較小,實(shí)時(shí)性,與硬件關(guān)系緊密,I/O通道少等特點(diǎn)適合采用非侵入式自動(dòng)測(cè)試機(jī)制。
[0003]現(xiàn)階段嵌入式軟件GUI測(cè)試基本上還是停留在測(cè)試人員根據(jù)需求文檔,先用自然語言寫好測(cè)試用例,再用手工操作嵌入式設(shè)備,用眼睛觀察用戶界面信息,整個(gè)測(cè)試過程非常緩慢而且由于人為疏忽容易導(dǎo)致錯(cuò)誤。
[0004]具有圖形用戶接口的嵌入式軟件,其圖形界面的輸出判斷主要由人腦進(jìn)行,輸入操作由手工操作完成。由于“人”的因素加入,被測(cè)軟件的交聯(lián)環(huán)境必須具有“人”的仿真能力,才能全面實(shí)現(xiàn)測(cè)試的自動(dòng)執(zhí)行。對(duì)于非嵌入式軟件系統(tǒng),由于具有強(qiáng)大的硬件和桌面系統(tǒng)的支持,實(shí)時(shí)監(jiān)控GU1、模擬鍵盤和鼠標(biāo)等行為較為容易,但對(duì)于嵌入式軟件系統(tǒng),由于受有限的硬件條件、操作系統(tǒng)環(huán)境、性能要求等,實(shí)時(shí)監(jiān)控GU1、模擬鍵盤和鼠標(biāo)等行為就顯得較為困難,導(dǎo)致嵌入式軟件的GUI自動(dòng)化測(cè)試缺少有效的方法手段。
【發(fā)明內(nèi)容】
[0005]為了解決現(xiàn)有技術(shù)的不足,本發(fā)明提出了一套實(shí)用可行的基于嵌入式軟件圖形用戶界面的捕獲、識(shí)別、鍵盤鼠標(biāo)模擬和測(cè)試自動(dòng)控制技術(shù)的嵌入式軟件GUI自動(dòng)化測(cè)試方法,通過采集將識(shí)別出的圖像輸出信息作為被測(cè)件的輸出,以模擬控制鍵盤鼠標(biāo)信息為被測(cè)件的輸入,實(shí)現(xiàn)了在不改變嵌入式軟件系統(tǒng)的情況下,對(duì)嵌入式軟件系統(tǒng)GUI信息的實(shí)時(shí)捕獲和相應(yīng)操作,完成非侵入式嵌入式軟件圖形用戶界面自動(dòng)化測(cè)試。
[0006]—種非侵入式嵌入式軟件圖形用戶界面自動(dòng)化測(cè)試方法,主要包括以下步驟:
[0007]第一步,圖像捕獲,采用視頻采集卡把嵌入式軟件系統(tǒng)的視頻采集并存儲(chǔ)到實(shí)施GUI自動(dòng)化測(cè)試的計(jì)算機(jī)上,通過視頻分幀技術(shù)將被測(cè)軟件的GUI視頻信息提取分幀并保存成圖像格式;
[0008]第二步,圖像對(duì)比,以嵌入式軟件系統(tǒng)啟動(dòng)后的初始界面作為初始基準(zhǔn)圖像,新截取圖像,采用圖像信息識(shí)別中的圖像對(duì)比方式,與初始基準(zhǔn)圖像對(duì)比,采用動(dòng)態(tài)圖像差分的方法確定圖像信息是否變化,通過圖像變化閾值進(jìn)行判斷,當(dāng)閾值達(dá)到人工設(shè)定的值后,將變化后的新圖像確定為基準(zhǔn)圖像,加入基準(zhǔn)圖像庫;
[0009]第三步,基準(zhǔn)圖像獲取,對(duì)采集到的視頻進(jìn)行圖像信息截取,同時(shí)依此與基準(zhǔn)圖像庫的基準(zhǔn)圖像對(duì)比,當(dāng)新截取的圖像與所有基準(zhǔn)圖像通過圖像變化閾值達(dá)到人工設(shè)定的值后,將變化后的新圖像確定為基準(zhǔn)圖像,加入基準(zhǔn)圖像庫,通過圖像對(duì)比方式遺漏的軟件界面采用人工捕獲方式,加入基準(zhǔn)圖像庫;
[0010]第四步,圖像建模,選取基準(zhǔn)圖像進(jìn)行圖像建模,圖像建模包括建立圖像動(dòng)態(tài)區(qū)域模型和像素位置模型,模型的參數(shù)為圖像對(duì)比、圖像查找、OCR識(shí)別和鼠標(biāo)移動(dòng)提供參數(shù);
[0011]第五步,測(cè)試腳本生成,采用測(cè)試腳本形式保存測(cè)試用例和圖像建模參數(shù),用于控制測(cè)試的自動(dòng)執(zhí)行,圖像建模的參數(shù)作為圖像對(duì)比、圖像查找、OCR識(shí)別和鼠標(biāo)移動(dòng)提供參數(shù);
[0012]第六步,鼠標(biāo)鍵盤指令執(zhí)行,根據(jù)測(cè)試腳本,解析測(cè)試腳本,在測(cè)試計(jì)算機(jī)中鼠標(biāo)鍵盤指令執(zhí)行通過模擬鼠標(biāo)、鍵盤的底層電子信號(hào)來實(shí)現(xiàn)對(duì)被測(cè)嵌入式軟件的鼠標(biāo)控制和鍵盤輸入;
[0013]第七步,基于GUI圖像的識(shí)別,根據(jù)測(cè)試腳本,解析測(cè)試腳本,通過圖像對(duì)比,圖像查找,文字識(shí)別根據(jù)動(dòng)態(tài)區(qū)域模型參數(shù)在新截取圖像上取出相關(guān)的圖像信息;
[0014]第八步,執(zhí)行結(jié)果的判斷與保存,根據(jù)測(cè)試腳本,解析測(cè)試腳本,當(dāng)解析到結(jié)果保存指令時(shí),軟件圖形用戶界面采用圖像對(duì)比、圖像查找、文字識(shí)別方式識(shí)別出的信息與預(yù)期結(jié)果比較,判斷測(cè)試是否通過,并將圖像對(duì)比,圖像查找,文字識(shí)別的結(jié)果和比較結(jié)果存入數(shù)據(jù)庫。
[0015]步驟四中所述的動(dòng)態(tài)區(qū)域模型用于記錄圖像對(duì)比和圖像查找的動(dòng)態(tài)區(qū)域,包括模型的名稱,左上角坐標(biāo),長度和寬度,為后續(xù)的圖像比對(duì)、圖像查找以及OCR文字識(shí)別提供參照源。
[0016]步驟四中的像素位置模型,用于控制鼠標(biāo)移動(dòng)參數(shù),在基準(zhǔn)圖像中獲取像素位置,包括像素的橫坐標(biāo)和縱坐標(biāo),作為鼠標(biāo)移動(dòng)的參數(shù)。
[0017]步驟五中的測(cè)試腳本主要是圖像信息識(shí)別的函數(shù)和鼠標(biāo)鍵盤操作的函數(shù)構(gòu)成以及邏輯控制,其中,圖像識(shí)別的函數(shù)有圖像對(duì)比函數(shù),圖像查找函數(shù)以及OCR函數(shù),生成時(shí)對(duì)基準(zhǔn)圖像進(jìn)行建模,拖拉鼠標(biāo)選中需要識(shí)別的區(qū)域,獲取區(qū)域位置,根據(jù)選擇的生成函數(shù)功能會(huì)自動(dòng)映射到腳本的關(guān)鍵詞;鼠標(biāo)移動(dòng)與點(diǎn)擊類函數(shù)生成時(shí),在實(shí)時(shí)采集的圖像中,自動(dòng)獲取鼠標(biāo)的位置的像素坐標(biāo),點(diǎn)擊鼠標(biāo),自動(dòng)生成鼠標(biāo)移動(dòng)與點(diǎn)擊的函數(shù)。
[0018]步驟六中通過模擬鼠標(biāo)、鍵盤的底層電子信號(hào)來實(shí)現(xiàn)對(duì)被測(cè)嵌入式軟件的鼠標(biāo)控制和鍵盤輸入的方法包括:
[0019]PCI接口電路負(fù)責(zé)與主機(jī)進(jìn)行通信,通過PCI2.0協(xié)議,主機(jī)對(duì)設(shè)備進(jìn)行控制;FPGA協(xié)議處理電路負(fù)責(zé)對(duì)PCI接口電路輸出的控制指令進(jìn)行解析,并將其轉(zhuǎn)發(fā)至USB接口電路PS/2鍵盤\PS/2鼠標(biāo)接口芯片;同時(shí),F(xiàn)PGA協(xié)議處理電路接收USB接口電路、PS/2鍵盤和PS/2鼠標(biāo)接口芯片發(fā)送來的人機(jī)交互信號(hào),并轉(zhuǎn)發(fā)給PCI接口電路;
[0020]鍵盤模擬主要模擬鍵盤輸出的信號(hào),建立鍵盤對(duì)應(yīng)字符的映射表以及鍵盤信息管理系統(tǒng),通過鍵盤信息控制器把對(duì)應(yīng)的ASCII碼傳送給嵌入式軟件系統(tǒng),實(shí)現(xiàn)對(duì)嵌入式軟件的模擬輸入;
[0021]鼠標(biāo)模擬通過不同的輸入端口連入嵌入式軟件系統(tǒng),實(shí)現(xiàn)鼠標(biāo)的模擬操作,采用在移動(dòng)光標(biāo)前把光標(biāo)移至左上角,通過計(jì)算目標(biāo)位置與左上角的相對(duì)位置來準(zhǔn)確移動(dòng)光標(biāo),鼠標(biāo)的移動(dòng)包含從左上角移動(dòng)到相應(yīng)位置和從當(dāng)前位置移動(dòng)一定距離兩種方式,鼠標(biāo)按鍵形式包括左、右鍵的按下和彈起。
[0022]步驟七中所述的基于GUI圖像的識(shí)別,是指實(shí)時(shí)捕獲嵌入式軟件系統(tǒng)視頻輸出的RGB點(diǎn)陣信息,利用圖像識(shí)別技術(shù),對(duì)采集到的圖像進(jìn)行實(shí)時(shí)地識(shí)別,由計(jì)算機(jī)實(shí)時(shí)“讀”出被測(cè)嵌入式軟件系統(tǒng)GUI信息。
[0023]本方法具有以下優(yōu)勢(shì)與特點(diǎn):
[0024]I)圖形用戶界面的智能識(shí)別主要通過視頻采集來收集嵌入式軟件的視頻輸出,通過圖像比對(duì)來判斷視頻輸出的變化,采用圖像特征識(shí)別技術(shù)來識(shí)別相關(guān)的圖像信息,利用輸出圖像進(jìn)行信息識(shí)別,不會(huì)干擾系統(tǒng)的運(yùn)行,從而實(shí)現(xiàn)非侵入式的對(duì)測(cè)試執(zhí)行結(jié)果判斷。
[0025]2)鍵盤鼠標(biāo)模擬主要依據(jù)鍵盤和鼠標(biāo)的工作原理,采用的方法是以底層電子信號(hào)作為分析對(duì)象,不改變嵌入式軟件系統(tǒng)的情況下實(shí)現(xiàn)鍵盤和鼠標(biāo)的模擬,仿真人對(duì)嵌入式軟件的操作,實(shí)現(xiàn)對(duì)嵌入式軟件非侵入式的輸入操作。
[0026]3)基于圖像識(shí)別的技術(shù)方法更加的靈活,只需要被測(cè)系統(tǒng)的界面圖像作為輸入,不需要源代碼,對(duì)被測(cè)系統(tǒng)的操作系統(tǒng)、編程語言都沒有任何限制。由于圖像識(shí)別的局限性,對(duì)于特別復(fù)雜的界面其誤報(bào)率可能會(huì)較高,但是針對(duì)嵌入式軟件圖形用戶界面比較適合。嵌入式軟件GUI圖像大多是計(jì)算機(jī)系統(tǒng)輸出的標(biāo)準(zhǔn)字符,噪聲較小,大大減少了降噪和矯正的處理工作,提高識(shí)別率,本測(cè)試方法比較適合針對(duì)嵌入式軟件圖形用戶界面。
【附圖說明】
[0027]圖1本發(fā)明非侵入式嵌入式軟件圖形用戶界面自動(dòng)化測(cè)試方法的流程圖。
【具體實(shí)施方式】
[0028]下面參照附圖,對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行描述。非侵入式嵌入式軟件圖形用戶界面自動(dòng)化測(cè)試方法過程如下:
[0029]第一步,圖像捕獲,采用視頻采集卡把嵌入式軟件系統(tǒng)的視頻轉(zhuǎn)發(fā)至實(shí)施GUI自動(dòng)化測(cè)試的計(jì)算機(jī)進(jìn)行處理。嵌入式軟件系統(tǒng)GUI信息捕獲是指不干預(yù)嵌入式軟件系統(tǒng)的情況下,利用視頻采集技術(shù)將嵌入式軟件系統(tǒng)輸入到顯示設(shè)備的視頻信息采集并存儲(chǔ)到對(duì)嵌入式軟件實(shí)施GUI自動(dòng)化測(cè)試的計(jì)算機(jī)上,通過視頻分幀技術(shù)將被測(cè)軟件的GUI視頻信息提取分幀并保存成jpg、png或bmp格式圖像,為GUI信息的處理的識(shí)別提供數(shù)據(jù)源。
[0030]第二步,圖像對(duì)比,以嵌入式軟件系統(tǒng)啟動(dòng)后的初始界面作為初始基準(zhǔn)圖像,新截取圖像,采用圖像信息識(shí)別中的圖像對(duì)比方式,與初始基準(zhǔn)圖像對(duì)比,采用動(dòng)態(tài)圖像差分的方法確定圖像信息是否變化,通過圖像變化閾值進(jìn)行判斷,當(dāng)閾值達(dá)到人工設(shè)定的值后,如圖像相似度大于90 %,將變化后的新圖像確定為基準(zhǔn)圖像,加入基準(zhǔn)圖像庫。
[0031]第三步,基準(zhǔn)圖像獲取,操作被測(cè)軟件,按一定頻率(一般采用低于人眼識(shí)別的頻率O?75Hz,本發(fā)明實(shí)施例中選用5Hz),對(duì)采集到的視頻進(jìn)行圖像信息截取,同時(shí)依此與基準(zhǔn)圖像庫的基準(zhǔn)圖像對(duì)比。當(dāng)新截取的圖像與所有基準(zhǔn)圖像通過圖像變化閾值達(dá)到人工設(shè)定的值后,如圖像相似度大于90%,將變化后的新圖像確定為基準(zhǔn)圖像,加入基準(zhǔn)圖像庫。通過圖像對(duì)比方式遺漏的軟件界面采用人工捕獲方式,加入基準(zhǔn)圖像庫。
[0032]第四步,圖像建模。選取基準(zhǔn)圖像進(jìn)行圖像建模,圖像建模包括建立圖像動(dòng)態(tài)區(qū)域模型和像素位置模型,為下一步驟中測(cè)試腳本生成的圖像對(duì)比、圖像查找、OCR識(shí)別和鼠標(biāo)移動(dòng)函數(shù)提供參數(shù)。
[0033]動(dòng)態(tài)區(qū)域模型用于記錄圖像對(duì)比和圖像查找的動(dòng)態(tài)區(qū)域,像素位置模型用于控制鼠標(biāo)移動(dòng)參數(shù)。以基準(zhǔn)圖像作為圖像框架,結(jié)合軟件用戶手冊(cè)或操作手冊(cè),分析圖像框架中嵌入式軟件將動(dòng)態(tài)輸出信息的區(qū)域,為每個(gè)區(qū)域建立動(dòng)態(tài)區(qū)域模型,該模型特性包括:模型的名稱;左上角坐標(biāo)(一般以相對(duì)于圖像框架左上角的像素差來表示);長度(一般以所含像素多少來表示);寬度(一般以所含像素多少來表示)等,同時(shí)把這些模型確定為模型基準(zhǔn),為后續(xù)的圖像比對(duì)、圖像查找以及OCR文字識(shí)別提供參照源。
[0034]像素位置模型,在基準(zhǔn)圖像中獲取像素位置,包括像素的橫坐標(biāo)和縱坐標(biāo),作為鼠標(biāo)移動(dòng)的參數(shù)。
[0035]第五步,測(cè)試腳本生成,采用測(cè)試腳本形式保存測(cè)試用例和圖像建模參數(shù),用于控制測(cè)試的自動(dòng)執(zhí)行。測(cè)試腳本中的通過第四步圖像建模獲得的圖像對(duì)比、圖像查找、OCR識(shí)別和鼠標(biāo)移動(dòng)函數(shù)提供參數(shù),用于控制圖像信息識(shí)別和鼠標(biāo)鍵盤操作。
[0036]測(cè)試腳本主要是圖像信息識(shí)別的函數(shù)和鼠標(biāo)鍵盤操作的函數(shù)構(gòu)成以及邏輯控制。圖像識(shí)別的函數(shù)有圖像對(duì)比函數(shù),圖像查找函數(shù)以及OCR函數(shù),生成時(shí)對(duì)基準(zhǔn)圖像進(jìn)行建模,拖拉鼠標(biāo)選中需要識(shí)別的區(qū)域,獲取區(qū)域位置,根據(jù)選擇的生成函數(shù)功能會(huì)自動(dòng)映射到腳本的關(guān)鍵詞;鼠標(biāo)移動(dòng)與點(diǎn)擊類函數(shù)生成時(shí),在實(shí)時(shí)采集的圖像中,自動(dòng)獲取鼠標(biāo)的位置的像素坐標(biāo),點(diǎn)擊鼠標(biāo),自動(dòng)生成鼠標(biāo)移動(dòng)與點(diǎn)擊的函數(shù)。
[0037]第六步,鼠標(biāo)鍵盤指令執(zhí)行。根據(jù)測(cè)試腳本,解析測(cè)試腳本,當(dāng)解析到鼠標(biāo)鍵盤指令時(shí),在測(cè)試計(jì)算機(jī)中鼠標(biāo)鍵盤指令執(zhí)行通過模擬鼠標(biāo)、鍵盤的底層電子信號(hào)來實(shí)現(xiàn)對(duì)被測(cè)嵌入式軟件的鼠標(biāo)控制和鍵盤輸入,是一種不改變嵌入式軟件系統(tǒng)的情況下的鍵盤和鼠標(biāo)的模擬。實(shí)現(xiàn)方法如下:
[0038]PCI接口電路負(fù)責(zé)與主機(jī)進(jìn)行通信,通過PCI2.0協(xié)議,主機(jī)對(duì)本設(shè)備進(jìn)行控制。FPGA協(xié)議處理電路負(fù)責(zé)對(duì)PCI接口電路輸出的控制指令進(jìn)行解析,并將其轉(zhuǎn)發(fā)至USB接口電路PS/2鍵盤\PS/2鼠標(biāo)接口芯片;同時(shí),F(xiàn)PGA協(xié)議處理電路接收USB接口電路、PS/2鍵盤和PS/2鼠標(biāo)接口芯片發(fā)送來的人機(jī)交互信號(hào),并轉(zhuǎn)發(fā)給PCI接口電路。
[0039]鍵盤模擬技術(shù)主要模擬鍵盤輸出的信號(hào)。建立鍵盤對(duì)應(yīng)字符的映射表以及鍵盤信息管理系統(tǒng),通過鍵盤信息控制器把對(duì)應(yīng)的ASCII碼傳送給嵌入式軟件系統(tǒng),從而實(shí)現(xiàn)對(duì)嵌入式軟件的模擬輸入,這樣保證鍵盤模擬技術(shù)的通用性。
[0040]鼠標(biāo)模擬技術(shù)與鍵盤模擬技術(shù)相似。通過不同的輸入端口連入嵌入式軟件系統(tǒng),來實(shí)現(xiàn)鼠標(biāo)的模擬操作。鼠標(biāo)的重要功能就是光標(biāo)定位,為了保證光標(biāo)能夠準(zhǔn)確的到達(dá)目標(biāo)位置,采用在移動(dòng)光標(biāo)前把光標(biāo)移至左上角,通過計(jì)算目標(biāo)位置與左上角的相對(duì)位置來準(zhǔn)確移動(dòng)光標(biāo)。鼠標(biāo)的移動(dòng)包含從左上角移動(dòng)到相應(yīng)位置和從當(dāng)前位置移動(dòng)一定距離兩種方式。鼠標(biāo)按鍵形式包括左、右鍵的按下和彈起,從而實(shí)現(xiàn)多種鼠標(biāo)操作方式。
[0041]第七步,基于GUI圖像的識(shí)別,根據(jù)測(cè)試腳本,解析測(cè)試腳本,當(dāng)解析到圖像識(shí)別(包括圖像對(duì)比,圖像查找,文字識(shí)別)指令時(shí),通過圖像對(duì)比,圖像查找,文字識(shí)別根據(jù)動(dòng)態(tài)區(qū)域模型參數(shù)在新截取圖像上取出相關(guān)的圖像信息。
[0042]軟件圖形用戶界面的識(shí)別的方式有基于程序代碼識(shí)別、基于系統(tǒng)API的識(shí)別、基于反射機(jī)制的識(shí)別、基于UIAutomat1n的識(shí)別、基于⑶I圖像的識(shí)別。本測(cè)試方法采用基于GUI圖像的識(shí)別。
[0043]基于GUI圖像的識(shí)別是指在不干擾被測(cè)軟件系統(tǒng)的情況下實(shí)時(shí)捕獲嵌入式軟件系統(tǒng)視頻輸出的RGB點(diǎn)陣信息,利用圖像識(shí)別技術(shù),對(duì)采集到的圖像進(jìn)行實(shí)時(shí)地識(shí)別,由計(jì)算機(jī)實(shí)時(shí)“讀”出被測(cè)嵌入式軟件系統(tǒng)GUI信息。本圖像識(shí)別的方法是以嵌入式軟件界面圖像為輸入圖像,利用差分等方法確定出動(dòng)態(tài)信息變化區(qū)域,然后以動(dòng)態(tài)信息變化區(qū)域圖像為輸入,利用圖像識(shí)別技術(shù)如模板匹配法識(shí)別出GUI元素信息,識(shí)別結(jié)果作為被測(cè)嵌入式軟件的界面輸出。
[0044]本方法中基于⑶I圖像的識(shí)別方式包括:圖像對(duì)比,圖像查找,文字識(shí)別。圖像框架和動(dòng)態(tài)區(qū)域模型建立后,將新截取的圖像與基準(zhǔn)圖像進(jìn)行比對(duì),確定與之相對(duì)應(yīng)的動(dòng)態(tài)區(qū)域模型,根據(jù)動(dòng)態(tài)區(qū)域模型參數(shù)在新截取圖像上取出相關(guān)的圖像信息。
[0045]圖像對(duì)比,將基準(zhǔn)圖像和新截取圖像對(duì)應(yīng)的動(dòng)態(tài)區(qū)域模型內(nèi)圖像進(jìn)行對(duì)比,返回相似度。圖像查找,在新截取的圖像中查找是否存在基準(zhǔn)圖像的中動(dòng)態(tài)區(qū)域模型內(nèi)的圖像,輸出存在的左上角坐標(biāo)以及圖像的相似度。文字識(shí)別將新圖像對(duì)應(yīng)的動(dòng)態(tài)區(qū)域模型內(nèi)的文字進(jìn)行文字識(shí)別。
[0046]第八步,執(zhí)行結(jié)果的判斷與保存。根據(jù)測(cè)試腳本,解析測(cè)試腳本,當(dāng)解析到結(jié)果保存指令時(shí),軟件圖形用戶界面采用圖像對(duì)比、圖像查找、文字識(shí)別方式識(shí)別出的信息與預(yù)期結(jié)果比較,判斷測(cè)試是否通過,并將圖像對(duì)比,圖像查找,文字識(shí)別的結(jié)果和比較結(jié)果存入數(shù)據(jù)庫。
【主權(quán)項(xiàng)】
1.一種非侵入式嵌入式軟件圖形用戶界面自動(dòng)化測(cè)試方法,其特征在于,主要包括以下步驟: 第一步,圖像捕獲,采用視頻采集卡把嵌入式軟件系統(tǒng)的視頻采集并存儲(chǔ)到實(shí)施GUI自動(dòng)化測(cè)試的計(jì)算機(jī)上,通過視頻分幀技術(shù)將被測(cè)軟件的GUI視頻信息提取分幀并保存成圖像格式; 第二步,圖像對(duì)比,以嵌入式軟件系統(tǒng)啟動(dòng)后的初始界面作為初始基準(zhǔn)圖像,新截取圖像,采用圖像信息識(shí)別中的圖像對(duì)比方式,與初始基準(zhǔn)圖像對(duì)比,采用動(dòng)態(tài)圖像差分的方法確定圖像信息是否變化,通過圖像變化閾值進(jìn)行判斷,當(dāng)閾值達(dá)到人工設(shè)定的值后,將變化后的新圖像確定為基準(zhǔn)圖像,加入基準(zhǔn)圖像庫; 第三步,基準(zhǔn)圖像獲取,對(duì)采集到的視頻進(jìn)行圖像信息截取,同時(shí)依此與基準(zhǔn)圖像庫的基準(zhǔn)圖像對(duì)比,當(dāng)新截取的圖像與所有基準(zhǔn)圖像通過圖像變化閾值達(dá)到人工設(shè)定的值后,將變化后的新圖像確定為基準(zhǔn)圖像,加入基準(zhǔn)圖像庫,通過圖像對(duì)比方式遺漏的軟件界面采用人工捕獲方式,加入基準(zhǔn)圖像庫; 第四步,圖像建模,選取基準(zhǔn)圖像進(jìn)行圖像建模,圖像建模包括建立圖像動(dòng)態(tài)區(qū)域模型和像素位置模型,模型的參數(shù)為圖像對(duì)比、圖像查找、OCR識(shí)別和鼠標(biāo)移動(dòng)提供參數(shù); 第五步,測(cè)試腳本生成,采用測(cè)試腳本形式保存測(cè)試用例和圖像建模參數(shù),用于控制測(cè)試的自動(dòng)執(zhí)行,圖像建模的參數(shù)作為圖像對(duì)比、圖像查找、OCR識(shí)別和鼠標(biāo)移動(dòng)提供參數(shù); 第六步,鼠標(biāo)鍵盤指令執(zhí)行,根據(jù)測(cè)試腳本,解析測(cè)試腳本,在測(cè)試計(jì)算機(jī)中鼠標(biāo)鍵盤指令執(zhí)行通過模擬鼠標(biāo)、鍵盤的底層電子信號(hào)來實(shí)現(xiàn)對(duì)被測(cè)嵌入式軟件的鼠標(biāo)控制和鍵盤輸入; 第七步,基于GUI圖像的識(shí)別,根據(jù)測(cè)試腳本,解析測(cè)試腳本,通過圖像對(duì)比,圖像查找,文字識(shí)別根據(jù)動(dòng)態(tài)區(qū)域模型參數(shù)在新截取圖像上取出相關(guān)的圖像信息; 第八步,執(zhí)行結(jié)果的判斷與保存,根據(jù)測(cè)試腳本,解析測(cè)試腳本,當(dāng)解析到結(jié)果保存指令時(shí),軟件圖形用戶界面采用圖像對(duì)比、圖像查找、文字識(shí)別方式識(shí)別出的信息與預(yù)期結(jié)果比較,判斷測(cè)試是否通過,并將圖像對(duì)比,圖像查找,文字識(shí)別的結(jié)果和比較結(jié)果存入數(shù)據(jù)庫。2.根據(jù)權(quán)利要求1所述的一種非侵入式嵌入式軟件圖形用戶界面自動(dòng)化測(cè)試方法,其特征在于,步驟四中所述的動(dòng)態(tài)區(qū)域模型用于記錄圖像對(duì)比和圖像查找的動(dòng)態(tài)區(qū)域,包括模型的名稱,左上角坐標(biāo),長度和寬度,為后續(xù)的圖像比對(duì)、圖像查找以及OCR文字識(shí)別提供參照源。3.根據(jù)權(quán)利要求1所述的一種非侵入式嵌入式軟件圖形用戶界面自動(dòng)化測(cè)試方法,其特征在于,步驟四中的像素位置模型,用于控制鼠標(biāo)移動(dòng)參數(shù),在基準(zhǔn)圖像中獲取像素位置,包括像素的橫坐標(biāo)和縱坐標(biāo),作為鼠標(biāo)移動(dòng)的參數(shù)。4.根據(jù)權(quán)利要求1所述的一種非侵入式嵌入式軟件圖形用戶界面自動(dòng)化測(cè)試方法,其特征在于,步驟五中的測(cè)試腳本主要是圖像信息識(shí)別的函數(shù)和鼠標(biāo)鍵盤操作的函數(shù)構(gòu)成以及邏輯控制,其中,圖像識(shí)別的函數(shù)有圖像對(duì)比函數(shù),圖像查找函數(shù)以及OCR函數(shù),生成時(shí)對(duì)基準(zhǔn)圖像進(jìn)行建模,拖拉鼠標(biāo)選中需要識(shí)別的區(qū)域,獲取區(qū)域位置,根據(jù)選擇的生成函數(shù)功能會(huì)自動(dòng)映射到腳本的關(guān)鍵詞;鼠標(biāo)移動(dòng)與點(diǎn)擊類函數(shù)生成時(shí),在實(shí)時(shí)采集的圖像中,自動(dòng)獲取鼠標(biāo)的位置的像素坐標(biāo),點(diǎn)擊鼠標(biāo),自動(dòng)生成鼠標(biāo)移動(dòng)與點(diǎn)擊的函數(shù)。5.根據(jù)權(quán)利要求1所述的一種非侵入式嵌入式軟件圖形用戶界面自動(dòng)化測(cè)試方法,其特征在于,步驟六中通過模擬鼠標(biāo)、鍵盤的底層電子信號(hào)來實(shí)現(xiàn)對(duì)被測(cè)嵌入式軟件的鼠標(biāo)控制和鍵盤輸入的方法包括: PCI接口電路負(fù)責(zé)與主機(jī)進(jìn)行通信,通過PCI2.0協(xié)議,主機(jī)對(duì)設(shè)備進(jìn)行控制;FPGA協(xié)議處理電路負(fù)責(zé)對(duì)PCI接口電路輸出的控制指令進(jìn)行解析,并將其轉(zhuǎn)發(fā)至USB接口電路PS/2鍵盤\PS/2鼠標(biāo)接口芯片;同時(shí),F(xiàn)PGA協(xié)議處理電路接收USB接口電路、PS/2鍵盤和PS/2鼠標(biāo)接口芯片發(fā)送來的人機(jī)交互信號(hào),并轉(zhuǎn)發(fā)給PCI接口電路; 鍵盤模擬主要模擬鍵盤輸出的信號(hào),建立鍵盤對(duì)應(yīng)字符的映射表以及鍵盤信息管理系統(tǒng),通過鍵盤信息控制器把對(duì)應(yīng)的ASCII碼傳送給嵌入式軟件系統(tǒng),實(shí)現(xiàn)對(duì)嵌入式軟件的模擬輸入; 鼠標(biāo)模擬通過不同的輸入端口連入嵌入式軟件系統(tǒng),實(shí)現(xiàn)鼠標(biāo)的模擬操作,采用在移動(dòng)光標(biāo)前把光標(biāo)移至左上角,通過計(jì)算目標(biāo)位置與左上角的相對(duì)位置來準(zhǔn)確移動(dòng)光標(biāo),鼠標(biāo)的移動(dòng)包含從左上角移動(dòng)到相應(yīng)位置和從當(dāng)前位置移動(dòng)一定距離兩種方式,鼠標(biāo)按鍵形式包括左、右鍵的按下和彈起。6.根據(jù)權(quán)利要求1所述的一種非侵入式嵌入式軟件圖形用戶界面自動(dòng)化測(cè)試方法,其特征在于,步驟七中所述的基于GUI圖像的識(shí)別,是指實(shí)時(shí)捕獲嵌入式軟件系統(tǒng)視頻輸出的RGB點(diǎn)陣信息,利用圖像識(shí)別技術(shù),對(duì)采集到的圖像進(jìn)行實(shí)時(shí)地識(shí)別,由計(jì)算機(jī)實(shí)時(shí)“讀”出被測(cè)嵌入式軟件系統(tǒng)GUI信息。
【文檔編號(hào)】G06F11/36GK105988924SQ201510068277
【公開日】2016年10月5日
【申請(qǐng)日】2015年2月10日
【發(fā)明人】唐龍利, 韓新宇, 吳立金, 夏冉
【申請(qǐng)人】中國船舶工業(yè)綜合技術(shù)經(jīng)濟(jì)研究院