測試?yán)煞椒ê蜏y試?yán)稍O(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明一般地涉及應(yīng)用程序測試領(lǐng)域。具體而言,本發(fā)明涉及一種生成用于測試應(yīng)用于觸摸式操作設(shè)備的應(yīng)用程序的測試?yán)姆椒ê驮O(shè)備。
【背景技術(shù)】
[0002]近年來,隨著觸摸式操作設(shè)備相關(guān)技術(shù)的飛速發(fā)展,觸摸式操作設(shè)備得到了普遍的應(yīng)用。觸摸式操作設(shè)備例如是智能手機(jī)、平板電腦、智能電視等。相應(yīng)地,觸摸式操作設(shè)備上的應(yīng)用程序?qū)映霾桓F。僅在智能手機(jī)上使用的應(yīng)用程序就數(shù)以千萬計(jì)。
[0003]由于競爭激烈,應(yīng)用程序的開發(fā)周期短,對應(yīng)用程序的要求高。應(yīng)用程序在發(fā)布之前,要經(jīng)過嚴(yán)格的測試以保證應(yīng)用程序的質(zhì)量,但又不希望測試占用的時(shí)間過長。測試的基礎(chǔ)是測試?yán)?。測試?yán)暮脡闹苯佑绊憸y試的結(jié)果,并進(jìn)而影響應(yīng)用程序的用戶體驗(yàn)。然而,測試?yán)纳赏ǔU加煤芏鄷r(shí)間。
[0004]傳統(tǒng)地,依靠人工去設(shè)計(jì)應(yīng)用程序的測試?yán)?,這樣的工作是繁雜、低效、易出錯(cuò)的。人工設(shè)計(jì)的測試?yán)膹V度、深度不容易根據(jù)需要靈活地調(diào)整。人工設(shè)計(jì)測試?yán)姆绞诫y以自動(dòng)、高效、靈活地生成測試?yán)?br>[0005]因此,期望一種生成用于測試應(yīng)用于觸摸式操作設(shè)備的應(yīng)用程序的測試?yán)姆椒ê驮O(shè)備,其能夠自動(dòng)、高效、靈活地生成所需的測試?yán)?br>
【發(fā)明內(nèi)容】
[0006]在下文中給出了關(guān)于本發(fā)明的簡要概述,以便提供關(guān)于本發(fā)明的某些方面的基本理解。應(yīng)當(dāng)理解,這個(gè)概述并不是關(guān)于本發(fā)明的窮舉性概述。它并不是意圖確定本發(fā)明的關(guān)鍵或重要部分,也不是意圖限定本發(fā)明的范圍。其目的僅僅是以簡化的形式給出某些概念,以此作為稍后論述的更詳細(xì)描述的前序。
[0007]本發(fā)明的目的是針對現(xiàn)有技術(shù)的上述問題,提出了一種能夠自動(dòng)、高效、靈活地生成所需的用于測試應(yīng)用于觸摸式操作設(shè)備的應(yīng)用程序的測試?yán)姆椒ê驮O(shè)備。
[0008]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種生成用于測試應(yīng)用于觸摸式操作設(shè)備的應(yīng)用程序的測試?yán)姆椒?,該方法包?從所述應(yīng)用程序的候選用戶操作隊(duì)列中,選擇一個(gè)用戶操作并將其從所述隊(duì)列中刪除,所述用戶操作是在特定界面上的特定區(qū)域中執(zhí)行的特定動(dòng)作;執(zhí)行所選擇的用戶操作,以獲得所述應(yīng)用程序的當(dāng)前界面;判斷是否訪問過當(dāng)前界面,如果已訪問過當(dāng)前界面,則生成所述測試?yán)?,其包括從所述觸摸式操作設(shè)備的主界面開始的、已執(zhí)行的、導(dǎo)致當(dāng)前界面的一系列用戶操作,如果未訪問過當(dāng)前界面,則根據(jù)當(dāng)前界面獲取當(dāng)前界面上的用戶操作,并將所獲取的用戶操作加入所述隊(duì)列中;重復(fù)執(zhí)行上述步驟,直至達(dá)到預(yù)定條件。
[0009]根據(jù)本發(fā)明的另一個(gè)方面,提供了一種生成用于測試應(yīng)用于觸摸式操作設(shè)備的應(yīng)用程序的測試?yán)脑O(shè)備,該設(shè)備包括:選擇裝置,被配置為:從所述應(yīng)用程序的候選用戶操作隊(duì)列中,選擇一個(gè)用戶操作并將其從所述隊(duì)列中刪除,所述用戶操作是在特定界面上的特定區(qū)域中執(zhí)行的特定動(dòng)作;執(zhí)行裝置,被配置為:執(zhí)行所選擇的用戶操作,以獲得所述應(yīng)用程序的當(dāng)前界面;判斷裝置,被配置為:判斷是否訪問過當(dāng)前界面,在判斷為已訪問過當(dāng)前界面的情況下,指令生成裝置生成所述測試?yán)?,所述測試?yán)◤乃鲇|摸式操作設(shè)備的主界面開始的、已執(zhí)行的、導(dǎo)致當(dāng)前界面的一系列用戶操作,在判斷為未訪問過當(dāng)前界面的情況下,指令獲取裝置根據(jù)當(dāng)前界面獲取當(dāng)前界面上的用戶操作,并將所獲取的用戶操作加入所述隊(duì)列中;控制裝置,被配置為:指令所述選擇裝置、執(zhí)行裝置、判斷裝置執(zhí)行,直至達(dá)到預(yù)定條件。
[0010]另外,根據(jù)本發(fā)明的另一方面,還提供了一種存儲(chǔ)介質(zhì)。所述存儲(chǔ)介質(zhì)包括機(jī)器可讀的程序代碼,當(dāng)在信息處理設(shè)備上執(zhí)行所述程序代碼時(shí),所述程序代碼使得所述信息處理設(shè)備執(zhí)行根據(jù)本發(fā)明的上述方法。
[0011 ] 此外,根據(jù)本發(fā)明的再一方面,還提供了一種程序產(chǎn)品。所述程序產(chǎn)品包括機(jī)器可執(zhí)行的指令,當(dāng)在信息處理設(shè)備上執(zhí)行所述指令時(shí),所述指令使得所述信息處理設(shè)備執(zhí)行根據(jù)本發(fā)明的上述方法。
【附圖說明】
[0012]參照下面結(jié)合附圖對本發(fā)明實(shí)施例的說明,會(huì)更加容易地理解本發(fā)明的以上和其它目的、特點(diǎn)和優(yōu)點(diǎn)。附圖中的部件只是為了示出本發(fā)明的原理。在附圖中,相同的或類似的技術(shù)特征或部件將采用相同或類似的附圖標(biāo)記來表示。附圖中:
[0013]圖1示出了根據(jù)本發(fā)明的實(shí)施例的測試?yán)煞椒ǖ牧鞒虉D;
[0014]圖2示出了屏幕分塊的示例;
[0015]圖3示出了根據(jù)本發(fā)明實(shí)施例的測試?yán)稍O(shè)備的結(jié)構(gòu)方框圖;以及
[0016]圖4示出了可用于實(shí)施根據(jù)本發(fā)明實(shí)施例的方法和設(shè)備的計(jì)算機(jī)的示意性框圖。
【具體實(shí)施方式】
[0017]在下文中將結(jié)合附圖對本發(fā)明的示范性實(shí)施例進(jìn)行詳細(xì)描述。為了清楚和簡明起見,在說明書中并未描述實(shí)際實(shí)施方式的所有特征。然而,應(yīng)該了解,在開發(fā)任何這種實(shí)際實(shí)施方式的過程中必須做出很多特定于實(shí)施方式的決定,以便實(shí)現(xiàn)開發(fā)人員的具體目標(biāo),例如,符合與系統(tǒng)及業(yè)務(wù)相關(guān)的那些限制條件,并且這些限制條件可能會(huì)隨著實(shí)施方式的不同而有所改變。此外,還應(yīng)該了解,雖然開發(fā)工作有可能是非常復(fù)雜和費(fèi)時(shí)的,但對得益于本公開內(nèi)容的本領(lǐng)域技術(shù)人員來說,這種開發(fā)工作僅僅是例行的任務(wù)。
[0018]在此,還需要說明的一點(diǎn)是,為了避免因不必要的細(xì)節(jié)而模糊了本發(fā)明,在附圖中僅僅示出了與根據(jù)本發(fā)明的方案密切相關(guān)的裝置結(jié)構(gòu)和/或處理步驟,而省略了與本發(fā)明關(guān)系不大的其他細(xì)節(jié)。另外,還需要指出的是,在本發(fā)明的一個(gè)附圖或一種實(shí)施方式中描述的元素和特征可以與一個(gè)或更多個(gè)其它附圖或?qū)嵤┓绞街惺境龅脑睾吞卣飨嘟Y(jié)合。
[0019]下面將參照圖1描述根據(jù)本發(fā)明的實(shí)施例的測試?yán)煞椒ǖ牧鞒獭?br>[0020]圖1示出了根據(jù)本發(fā)明的實(shí)施例的測試?yán)煞椒ǖ牧鞒虉D。如圖1所示,根據(jù)本發(fā)明的實(shí)施例的生成用于測試應(yīng)用于觸摸式操作設(shè)備的應(yīng)用程序的測試?yán)姆椒?,包括如下步驟:從所述應(yīng)用程序的候選用戶操作隊(duì)列中,選擇一個(gè)用戶操作并將其從所述隊(duì)列中刪除,所述用戶操作是在特定界面上的特定區(qū)域中執(zhí)行的特定動(dòng)作(步驟Si);執(zhí)行所選擇的用戶操作,以獲得所述應(yīng)用程序的當(dāng)前界面(步驟S2);判斷是否訪問過當(dāng)前界面,如果已訪問過當(dāng)前界面,則生成所述測試?yán)浒◤乃鲇|摸式操作設(shè)備的主界面開始的、已執(zhí)行的、導(dǎo)致當(dāng)前界面的一系列用戶操作,如果未訪問過當(dāng)前界面,則根據(jù)當(dāng)前界面獲取當(dāng)前界面上的用戶操作,并將所獲取的用戶操作加入所述隊(duì)列中(步驟S3);以及判斷是否達(dá)到預(yù)定條件。如果達(dá)到預(yù)定條件,則結(jié)束整個(gè)流程。如果未達(dá)到預(yù)定條件,則進(jìn)行到步驟SI,重新執(zhí)行上述步驟S1-S3 (步驟S4)。
[0021]測試?yán)举|(zhì)上是一系列的用戶操作。用戶操作是指用戶在應(yīng)用程序上的特定界面上的特定區(qū)域中執(zhí)行的特定動(dòng)作。測試?yán)M的就是用戶可能做出的操作的序列。
[0022]由于針對的是觸摸式操作設(shè)備,所以用戶的操作針對應(yīng)用程序的界面上的區(qū)域。應(yīng)用程序的界面至少包括主界面和從主界面因用戶操作而切換到的一級界面。應(yīng)用程序的界面還可能包括從一級界面因用戶操作而切換到的二級界面,依次類推。界面的級別數(shù)越大,用戶操作涉及的深度越深。
[0023]每個(gè)界面都可劃分為多個(gè)區(qū)域。用戶操作涉及的一個(gè)界面中的區(qū)域的數(shù)量越多,用戶操作涉及的廣度越大。在不考慮開銷的情況下,測試?yán)挠脩舨僮魉婕暗纳疃仍缴?、廣度越大,測試?yán)臏y試效果越好。
[0024]用戶的動(dòng)作可以包括用戶針對觸摸式操作設(shè)備可能做出的所有動(dòng)作,包括,但不限于:單擊操作、雙擊操作、向左滑動(dòng)操作、向右滑動(dòng)操作、向上滑動(dòng)操作、向下滑動(dòng)操作等。
[0025]在本發(fā)明的方法中,維護(hù)有一個(gè)應(yīng)用程序的候選用戶操作隊(duì)列。隊(duì)列可以是先入先出的隊(duì)列,也可以是按優(yōu)先級排序的隊(duì)列,也可以是無順序排列隨機(jī)取出項(xiàng)目的隊(duì)列。應(yīng)用程序的候選用戶操作隊(duì)列中存儲(chǔ)的是待測試應(yīng)用程序的候選的用戶操作。
[0026]在該隊(duì)列的初始化中,向隊(duì)列中加入的第一個(gè)用戶操作是在觸摸式操作設(shè)備的主界面上啟動(dòng)應(yīng)用程序的動(dòng)作。在隨后的處理中,如下文中詳細(xì)描述的那樣,將根據(jù)當(dāng)前界面的解析結(jié)果,添加新的用戶操作。
[0027]在步驟SI中,從所述應(yīng)用程序的候選用戶操作隊(duì)列中,選擇一個(gè)用戶操作并將其從所述隊(duì)列中刪除。
[0028]從應(yīng)用程序的候選用戶操作隊(duì)列中選擇用戶操作的方式可以是隨機(jī)選擇。這種方式的優(yōu)點(diǎn)是比較靈活,能夠解決其它方式中難以選擇的情形。例如,在根據(jù)優(yōu)先級進(jìn)行選擇時(shí),如果兩個(gè)候選用戶操作的優(yōu)先級相同,可以隨機(jī)選擇兩者之一。這種方式的不足是缺乏針對性。
[0029]從應(yīng)用程序的候選用戶操作隊(duì)列中選擇用戶操作的方式可以是按優(yōu)先級選擇。艮P,選擇優(yōu)先級最高的候選用戶操作。這種方式的優(yōu)點(diǎn)是可以按實(shí)際情況的需要,有針對性地進(jìn)行測試?yán)纳?,更好地體現(xiàn)待測試的重點(diǎn)因素。例如,希望主要針對點(diǎn)擊操作進(jìn)行測試??梢韵螯c(diǎn)擊類型的用戶操作賦予較高的優(yōu)先級。再比如,希望深度優(yōu)先??梢韵蜥槍^深界面的用戶操作賦予