一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法
【專利摘要】本發(fā)明提出一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法,包括:將至少一數(shù)字設(shè)備組織為至少一設(shè)備集合,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合,對上述設(shè)備集合添加測試任務(wù),將至少一測試任務(wù)組織為屬于上述設(shè)備集合的至少一任務(wù)隊列的步驟;分別選取至少一設(shè)備集合屬下存在至少一測試任務(wù)的任務(wù)隊列,執(zhí)行選中任務(wù)隊列的至少一測試任務(wù),輪流對至少一數(shù)字設(shè)備進行測試的步驟。本發(fā)明實現(xiàn)了同時對多個數(shù)字設(shè)備進行測試,可同時執(zhí)行多項測試任務(wù),并避免了數(shù)字設(shè)備連接失敗的問題。本發(fā)明提供靈活高效的測試任務(wù)管理,具有更高處理性能,對智能手機設(shè)備使用率更高,提高智能手機設(shè)備連接成功率。
【專利說明】一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù),更具體地說,涉及一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管
理方法。
【背景技術(shù)】
[0002]隨著多種多樣的數(shù)字設(shè)備不斷普及,數(shù)字設(shè)備技術(shù)不斷開發(fā)更新,需要對數(shù)字設(shè)備進行高效、規(guī)范、靈活的批量測試?,F(xiàn)有技術(shù)對數(shù)字設(shè)備的測試任務(wù)通常采用隊列進行管理,一般有兩種方案:
[0003]單隊列輪詢排隊方案,使用一個任務(wù)隊列,將需要執(zhí)行的測試任務(wù)添加到任務(wù)隊列中排隊,處理程序從該任務(wù)隊列中逐個取出測試任務(wù),獲取與測試任務(wù)相應(yīng)的APP應(yīng)用軟件包,上傳或安裝到相應(yīng)的數(shù)字設(shè)備中進行測試。本方案排隊方法實現(xiàn)簡單,由于只有一個處理程序,同時只能對一個數(shù)字設(shè)備執(zhí)行一個測試任務(wù),大量數(shù)字設(shè)備輪候等待測試,造成測試效率低,數(shù)字設(shè)備利用率低。
[0004]多隊列輪詢排隊方案,使用多個任務(wù)隊列,每個隊列分別對應(yīng)一處理程序;多個處理程序可同時分別執(zhí)行相應(yīng)任務(wù)隊列中的一個任務(wù),如有η個任務(wù)隊列,則可同時執(zhí)行η個測試任務(wù)。本方案可同時執(zhí)行多個測試任務(wù),對多個數(shù)字設(shè)備進行測試,提高了測試效率,但可能存在多個測試任務(wù)同一時間對同一數(shù)字設(shè)備進行測試,受限于數(shù)字設(shè)備的處理能力,可能造成數(shù)字設(shè)備連接失敗率高的弊端。
【發(fā)明內(nèi)容】
[0005]本發(fā)明要解決的技術(shù)問題在于,提出一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法。
[0006]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是提供一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法,包括:將至少一數(shù)字設(shè)備組織為至少一設(shè)備集合,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合,對上述設(shè)備集合添加測試任務(wù),將至少一測試任務(wù)組織為屬于上述設(shè)備集合的至少一任務(wù)隊列的步驟;分別選取至少一設(shè)備集合屬下存在至少一測試任務(wù)的任務(wù)隊列,執(zhí)行選中任務(wù)隊列的至少一測試任務(wù),輪流對至少一數(shù)字設(shè)備進行測試的步驟。
[0007]優(yōu)選地,上述將至少一數(shù)字設(shè)備組織為至少一設(shè)備集合,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合,對上述設(shè)備集合添加測試任務(wù),將至少一測試任務(wù)組織為屬于上述設(shè)備集合的至少一任務(wù)隊列的步驟包括:根據(jù)數(shù)字設(shè)備的信息分別將至少一數(shù)字設(shè)備組織為至少一設(shè)備集合的步驟;根據(jù)至少一測試任務(wù)與至少一數(shù)字設(shè)備間的對應(yīng)關(guān)系,分別從與測試任務(wù)對應(yīng)的至少一設(shè)備集合中,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合的步驟;分別對上述設(shè)備集合添加上述測試任務(wù),將至少一測試任務(wù)組織為屬于上述設(shè)備集合的至少一任務(wù)隊列的步驟。
[0008]優(yōu)選地,上述分別選取至少一設(shè)備集合屬下存在至少一測試任務(wù)的任務(wù)隊列,執(zhí)行選中任務(wù)隊列的至少一測試任務(wù),實現(xiàn)輪流對至少一數(shù)字設(shè)備進行測試的步驟包括:分別為至少一設(shè)備集合創(chuàng)建對應(yīng)的設(shè)備處理線程的步驟;上述至少一設(shè)備處理線程分別檢查上述設(shè)備集合屬下的任務(wù)隊列,選取存在至少一測試任務(wù)的任務(wù)隊列的步驟;執(zhí)行上述選中的任務(wù)隊列中的至少一測試任務(wù),對數(shù)字設(shè)備進行測試的步驟。
[0009]優(yōu)選地,上述數(shù)字設(shè)備的信息包括分類信息和唯一標識。根據(jù)分類信息可將至少一數(shù)字設(shè)備劃分為至少一設(shè)備集合,每一設(shè)備集合包括至少一數(shù)字設(shè)備;上述分類信息包括但不限于數(shù)字設(shè)備的型號、品牌、設(shè)備類別、支持的功能、操作系統(tǒng)、屏幕分辨率和/或內(nèi)存容量。唯一標識用于將數(shù)字設(shè)備彼此區(qū)分開,根據(jù)唯一標識可將至少一數(shù)字設(shè)備劃分為至少一設(shè)備集合,每一設(shè)備集合僅包括一數(shù)字設(shè)備;上述唯一標識包括但不限于唯一標識碼和/或國際移動設(shè)備辨識碼。
[0010]優(yōu)選地,上述根據(jù)數(shù)字設(shè)備的信息分別將至少一數(shù)字設(shè)備組織為至少一設(shè)備集合的步驟包括:獲取至少一待測數(shù)字設(shè)備的唯一標識,根據(jù)唯一標識對每一數(shù)字設(shè)備創(chuàng)建設(shè)備集合。上述根據(jù)至少一測試任務(wù)與至少一數(shù)字設(shè)備間的對應(yīng)關(guān)系,分別從與測試任務(wù)對應(yīng)的至少一設(shè)備集合中,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合的步驟包括:獲取與要添加的測試任務(wù)對應(yīng)的唯一標識的步驟;在所有設(shè)備集合中查找與上述唯一標識對應(yīng)的至少一設(shè)備集合的步驟;比較找到的至少一設(shè)備集合屬下的測試任務(wù)數(shù)量,選取測試任務(wù)數(shù)最少的設(shè)備集合的步驟。分別對上述設(shè)備集合添加上述測試任務(wù),將至少一測試任務(wù)組織為屬于上述設(shè)備集合的至少一任務(wù)隊列的步驟包括:對上述設(shè)備集合添加上述測試任務(wù),將上述測試任務(wù)組織為屬于上述設(shè)備集合的至少一任務(wù)隊列的步驟。
[0011]優(yōu)選地,上述分別選取至少一設(shè)備集合屬下存在至少一測試任務(wù)的任務(wù)隊列,執(zhí)行選中任務(wù)隊列的至少一測試任務(wù),實現(xiàn)輪流對至少一數(shù)字設(shè)備進行測試的步驟包括:分別為至少一設(shè)備集合創(chuàng)建對應(yīng)的處理線程的步驟;上述至少一處理線程分別檢查上述設(shè)備集合屬下的任務(wù)隊列,判斷任務(wù)隊列中是否包含測試任務(wù);對于不存在測試任務(wù)的,間隔預(yù)設(shè)時間段后再檢查上述設(shè)備集合是否包含測試任務(wù);對于存在至少一測試任務(wù)的任務(wù)隊列,獲取上述任務(wù)隊列中的測試任務(wù);上述處理線程執(zhí)行獲取到的測試任務(wù),對數(shù)字設(shè)備進行測試;上述處理線程重復(fù)獲取任務(wù)隊列中的下一測試任務(wù),重復(fù)執(zhí)行測試直至執(zhí)行完任務(wù)隊列中的所有測試任務(wù);返回處理線程分別檢查上述設(shè)備集合屬下的任務(wù)隊列的步驟,直至對所有數(shù)字設(shè)備均完成測試。
[0012]優(yōu)選地,上述根據(jù)數(shù)字設(shè)備的信息分別將至少一數(shù)字設(shè)備組織為至少一設(shè)備集合的步驟包括:獲取至少一待測數(shù)字設(shè)備的分類信息,根據(jù)分類信息將至少一待測試數(shù)字設(shè)備分類,分別對每一類創(chuàng)建上級設(shè)備集合;獲取至少一待測數(shù)字設(shè)備的唯一標識,分別向至少一數(shù)字設(shè)備所在的上級設(shè)備集合添加其唯一標識,將至少一數(shù)字設(shè)備組織為屬于上述上級設(shè)備集合的基層設(shè)備集合。上述根據(jù)至少一測試任務(wù)與至少一數(shù)字設(shè)備間的對應(yīng)關(guān)系,分別從與測試任務(wù)對應(yīng)的至少一設(shè)備集合中,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合的步驟包括:獲取與要添加的測試任務(wù)對應(yīng)的分類信息和唯一標識的步驟;在所有上級設(shè)備集合中查找與上述分類信息對應(yīng)的上級設(shè)備集合的步驟;在查找到的上級設(shè)備集合下查找與上述唯一標識對應(yīng)的至少一基層設(shè)備集合的步驟;比較找到的至少一基層設(shè)備集合屬下的測試任務(wù)數(shù)量,選取測試任務(wù)最少的基層設(shè)備集合的步驟。上述分別對上述設(shè)備集合添加上述測試任務(wù),將至少一測試任務(wù)組織為屬于上述設(shè)備集合的至少一任務(wù)隊列的步驟包括:對上述基層設(shè)備集合添加測試任務(wù),將上述測試任務(wù)組織為屬于上述基層設(shè)備集合的至少一任務(wù)隊列的步驟。[0013]優(yōu)選地,上述分別選取至少一設(shè)備集合屬下存在至少一測試任務(wù)的任務(wù)隊列,執(zhí)行選中任務(wù)隊列的至少一測試任務(wù),實現(xiàn)輪流對至少一數(shù)字設(shè)備進行測試的步驟包括:分別為至少一上級設(shè)備集合創(chuàng)建對應(yīng)的上級處理線程的步驟;上述上級處理線程分別創(chuàng)建與各上級設(shè)備集合屬下的基層設(shè)備集合分別對應(yīng)的至少一基層處理線程的步驟;上述至少一基層處理線程分別檢查上述基層設(shè)備集合屬下的任務(wù)隊列,選取存在至少一測試任務(wù)的任務(wù)隊列的步驟;上述至少一基層處理線程分別執(zhí)行上述選中的任務(wù)隊列中的至少一測試任務(wù),對數(shù)字設(shè)備進行測試的步驟。
[0014]優(yōu)選地,上述至少一基層處理線程分別檢查上述基層設(shè)備集合屬下的任務(wù)隊列,選取存在至少一測試任務(wù)的任務(wù)隊列的步驟包括:上述至少一基層處理線程分別檢查上述基層設(shè)備集合屬下的任務(wù)隊列,判斷任務(wù)隊列中是否包含測試任務(wù);對于不存在測試任務(wù)的,間隔預(yù)設(shè)時間段后再檢查上述基層設(shè)備集合是否包含測試任務(wù)。上述至少一基層處理線程分別執(zhí)行上述選中的任務(wù)隊列中的至少一測試任務(wù),對數(shù)字設(shè)備進行測試的步驟包括:對于存在至少一測試任務(wù)的任務(wù)隊列,獲取上述任務(wù)隊列中的測試任務(wù);上述基層處理線程執(zhí)行獲取到的測試任務(wù),對數(shù)字設(shè)備進行測試;上述基層處理線程重復(fù)獲取任務(wù)隊列中的下一測試任務(wù),重復(fù)執(zhí)行測試直至執(zhí)行完任務(wù)隊列中的所有測試任務(wù);返回上述基層處理線程分別檢查上述基層設(shè)備集合屬下的任務(wù)隊列的步驟,直至對所有數(shù)字設(shè)備均完成測試。
[0015]優(yōu)選地,一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法包括:根據(jù)數(shù)字設(shè)備的信息將至少一數(shù)字設(shè)備組織為一級以上的設(shè)備集合的步驟;其中根據(jù)唯一標識劃分得到的基層設(shè)備集合屬于根據(jù)第一分類信息組織的上級設(shè)備集合,上述上級設(shè)備集合屬于根據(jù)第二分類信息組織的再上級設(shè)備集合,直到最高級設(shè)備集合;根據(jù)至少一測試任務(wù)與至少一數(shù)字設(shè)備間的對應(yīng)關(guān)系,分別從與測試任務(wù)對應(yīng)的至少一基層設(shè)備集合中,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合的步驟;分別對上述設(shè)備集合添加上述測試任務(wù),將至少一測試任務(wù)組織為屬于上述設(shè)備集合的至少一任務(wù)隊列的步驟。
[0016]本發(fā)明實現(xiàn)了同時對多個數(shù)字設(shè)備進行測試,可同時執(zhí)行多項測試任務(wù),并避免了數(shù)字設(shè)備連接失敗的問題。本發(fā)明提供靈活高效的測試任務(wù)管理,具有更高處理性能,對智能手機設(shè)備使用率更高,提高智能手機設(shè)備連接成功率。
【專利附圖】
【附圖說明】
[0017]下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中:
[0018]圖1是本發(fā)明一實施例流程示意圖;
[0019]圖2是本發(fā)明一實施例部分流程示意圖;
[0020]圖3是本發(fā)明一實施例部分流程示意圖;
[0021]圖4是本發(fā)明一實施例整體流程示意圖;
[0022]圖5是本發(fā)明一實施例具體應(yīng)用示例示意圖;
[0023]圖6是本發(fā)明一實施例整體流程示意圖;
[0024]圖7是本發(fā)明一實施例具體應(yīng)用示例示意圖。
【具體實施方式】[0025]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0026]參照圖1示出的本發(fā)明一實施例流程示意圖,本發(fā)明提出的第一實施例包括:
[0027]步驟S1、將至少一數(shù)字設(shè)備組織為至少一設(shè)備集合,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合,對設(shè)備集合添加測試任務(wù),將至少一測試任務(wù)組織為屬于設(shè)備集合的至少一任務(wù)隊列。
[0028]步驟S2、分別選取至少一設(shè)備集合屬下存在至少一測試任務(wù)的任務(wù)隊列,執(zhí)行選中任務(wù)隊列的至少一測試任務(wù),輪流對至少一數(shù)字設(shè)備進行測試。
[0029]上述實施例中的數(shù)字設(shè)備I是具有數(shù)據(jù)處理功能的電子設(shè)備,可采用但不限于手機、手持數(shù)據(jù)終端、PDA、平板電腦、多媒體播放器、導航儀、網(wǎng)絡(luò)電視等多種技術(shù)。
[0030]上述設(shè)備集合可包括一個數(shù)字設(shè)備,也可包括多個數(shù)字設(shè)備;設(shè)備集合之間,以及一設(shè)備集合中的數(shù)字設(shè)備之間并無先后順序。而任務(wù)隊列中可包括從O個到多個測試任務(wù),一任務(wù)隊列中的測試任務(wù)之間可以有先后順序。
[0031]參照圖2示出的一實施例部分流程示意圖,本發(fā)明提出步驟SI包括:
[0032]步驟S11、根據(jù)數(shù)字設(shè)備的信息分別將至少一數(shù)字設(shè)備組織為至少一設(shè)備集合;
[0033]步驟S12、根據(jù)至少一測試任務(wù)與至少一數(shù)字設(shè)備間的對應(yīng)關(guān)系,分別從與測試任務(wù)對應(yīng)的至少一設(shè)備集合中,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合;
[0034]步驟S13、分別對設(shè)備集合添加測試任務(wù),將至少一測試任務(wù)組織為屬于設(shè)備集合的至少一任務(wù)隊列。
[0035]上述測試任務(wù)是一組描述對數(shù)字設(shè)備進行測試的數(shù)據(jù),其中包括APP應(yīng)用程序包及測試任務(wù)數(shù)據(jù)。其中APP應(yīng)用程序包用于在數(shù)字設(shè)備上運行,對數(shù)字設(shè)備進行測試。而測試任務(wù)數(shù)據(jù)描述該APP應(yīng)用程序包與哪些數(shù)字設(shè)備對應(yīng),即該APP應(yīng)用程序包應(yīng)在哪些數(shù)字設(shè)備上運行,對其進行測試。至少一測試任務(wù)與至少一數(shù)字設(shè)備間的對應(yīng)關(guān)系是指測試任務(wù)數(shù)據(jù)描述的APP應(yīng)用程序包與數(shù)字設(shè)備對應(yīng)的關(guān)系。一個測試任務(wù)可以對應(yīng)單個數(shù)字設(shè)備,也可以對應(yīng)多個不同的數(shù)字設(shè)備,例如對某一類數(shù)字設(shè)備均進行測試。而一個數(shù)字設(shè)備也可對應(yīng)一個到多個測試任務(wù)。
[0036]參照圖3示出的一實施例部分流程示意圖,本發(fā)明提出步驟S2包括:
[0037]步驟S21、分別為至少一設(shè)備集合創(chuàng)建對應(yīng)的設(shè)備處理線程;
[0038]步驟S22、至少一設(shè)備處理線程分別檢查設(shè)備集合屬下的任務(wù)隊列,選取存在至少一測試任務(wù)的任務(wù)隊列;
[0039]步驟S23、執(zhí)行選中的任務(wù)隊列中的至少一測試任務(wù),對數(shù)字設(shè)備進行測試。
[0040]本發(fā)明提出,上述數(shù)字設(shè)備的信息包括分類信息和唯一標識。根據(jù)分類信息可將至少一數(shù)字設(shè)備劃分為至少一設(shè)備集合,每一設(shè)備集合包括至少一數(shù)字設(shè)備;分類信息包括但不限于數(shù)字設(shè)備的型號、品牌、設(shè)備類別、支持的功能、操作系統(tǒng)、屏幕分辨率和/或內(nèi)存容量。唯一標識用于將數(shù)字設(shè)備彼此區(qū)分開,根據(jù)唯一標識可將至少一數(shù)字設(shè)備劃分為至少一設(shè)備集合,每一設(shè)備集合僅包括一數(shù)字設(shè)備;唯一標識包括但不限于唯一標識碼和/或國際移動設(shè)備辨識碼αΜΕΙ)。
[0041]本發(fā)明提出當待測試的數(shù)字設(shè)備數(shù)量較小,或者其分類信息相同,例如均為同一型號摩托羅拉ME525的十部待測試數(shù)字設(shè)備,或者均為Android操作系統(tǒng)的三十部待測試數(shù)字設(shè)備,可采用一級設(shè)備集合的方案。設(shè)有N個待測試數(shù)字設(shè)備,有M個測試任務(wù)需要執(zhí)行。則將N個待測試數(shù)字設(shè)備以唯一標識劃分為N個設(shè)備集合,每個設(shè)備集合僅包括一個數(shù)字設(shè)備。與各數(shù)字設(shè)備對應(yīng)的測試任務(wù)被組織為屬于對應(yīng)設(shè)備集合的任務(wù)隊列。
[0042]參照圖4示出的一實施例整體流程示意圖,本發(fā)明提出步驟Sll包括:
[0043]步驟S111、獲取至少一待測數(shù)字設(shè)備的唯一標識,根據(jù)唯一標識對每一數(shù)字設(shè)備創(chuàng)建設(shè)備集合。
[0044]而步驟S12包括:
[0045]步驟S121、獲取與要添加的測試任務(wù)對應(yīng)的唯一標識;
[0046]步驟S122、在所有設(shè)備集合中查找與唯一標識對應(yīng)的至少一設(shè)備集合;
[0047]步驟S123、比較找到的至少一設(shè)備集合屬下的測試任務(wù)數(shù)量,選取測試任務(wù)數(shù)最少的設(shè)備集合。
[0048]而步驟S13包括:
[0049]步驟S131、對 設(shè)備集合添加測試任務(wù),將測試任務(wù)組織為屬于設(shè)備集合的至少一任務(wù)隊列;
[0050]步驟S132、返回到步驟S121,循環(huán)上述步驟直至將所有測試任務(wù)均組織為任務(wù)隊列。
[0051]步驟S22包括:
[0052]步驟S221、至少一處理線程分別檢查設(shè)備集合屬下的任務(wù)隊列,判斷任務(wù)隊列中是否包含測試任務(wù);
[0053]步驟S222、對于不存在測試任務(wù)的,間隔預(yù)設(shè)時間段后再進行步驟S221,檢查設(shè)備集合屬下的任務(wù)隊列中是否包含測試任務(wù);
[0054]步驟S223、對于存在至少一測試任務(wù)的任務(wù)隊列,獲取任務(wù)隊列中的測試任務(wù)。
[0055]步驟S23包括:
[0056]步驟S231、處理線程執(zhí)行獲取到的測試任務(wù),對數(shù)字設(shè)備進行測試;
[0057]步驟S232、處理線程重復(fù)進行步驟S223及步驟S231,循環(huán)獲取任務(wù)隊列中的下一測試任務(wù)執(zhí)行測試直至執(zhí)行完任務(wù)隊列中的所有測試任務(wù);
[0058]返回進行步驟S221,直至對所有數(shù)字設(shè)備均完成測試,流程結(jié)束。
[0059]參見圖5示出的本實施例具體應(yīng)用示例示意圖,設(shè)有測試任務(wù)21、測試任務(wù)22……測試任務(wù)2M共M個測試任務(wù),分別對N部相同型號的數(shù)字設(shè)備進行測試。本實施例獲取N個待測數(shù)字設(shè)備的國際移動設(shè)備辨識碼,根據(jù)國際移動設(shè)備辨識碼對每一數(shù)字設(shè)備分別創(chuàng)建設(shè)備集合11、設(shè)備集合12……設(shè)備集合IN ;讀取要添加的第一個測試任務(wù)21的測試任務(wù)數(shù)據(jù),獲取對應(yīng)的國際移動設(shè)備辨識碼,在N個設(shè)備集合中找到與該國際移動設(shè)備辨識碼對應(yīng)的設(shè)備集合11和設(shè)備集合12 ;比較找到的這兩個設(shè)備集合屬下的測試任務(wù)數(shù)量,選取測試任務(wù)數(shù)最少的設(shè)備集合11。對設(shè)備集合11添加測試任務(wù)21,將測試任務(wù)21組織為屬于設(shè)備集合11的至少一任務(wù)隊列。接下來讀取第二個測試任務(wù)22的測試任務(wù)數(shù)據(jù),重復(fù)進行上述步驟,直到所有M個測試任務(wù)都添加到對應(yīng)設(shè)備集合屬下的任務(wù)隊列中。當完成所有測試任務(wù)的添加過程,設(shè)備集合11屬下有L個測試任務(wù),而設(shè)備集合IN屬下有M個測試任務(wù)。L個測試任務(wù)和M個測試任務(wù)可能是同一個測試任務(wù),用同一個APP應(yīng)用程序包對數(shù)字設(shè)備I和數(shù)字設(shè)備N分別做測試。任務(wù)隊列中只存儲該測試任務(wù)的序號或者ID以便調(diào)用APP應(yīng)用程序包,任務(wù)隊列中無需重復(fù)存儲APP應(yīng)用程序包。
[0060]在執(zhí)行測試階段:分別為N個設(shè)備集合創(chuàng)建對應(yīng)的N個處理線程;N個處理線程分別檢查N個設(shè)備集合屬下的任務(wù)隊列,判斷任務(wù)隊列中是否包含測試任務(wù);設(shè)設(shè)備集合12屬下不存在測試任務(wù),則間隔預(yù)設(shè)時間段5秒后再重復(fù)檢查設(shè)備集合12屬下的任務(wù)隊列中是否包含測試任務(wù)。對于存在至少一測試任務(wù)的任務(wù)隊列如設(shè)備集合11屬下的任務(wù)隊列包含L個測試任務(wù),則獲取該任務(wù)隊列中的第一個測試任務(wù)21 ;處理線程I執(zhí)行獲取到的測試任務(wù)21,對數(shù)字設(shè)備I進行測試;處理線程循環(huán)獲取任務(wù)隊列中的下一測試任務(wù)22……執(zhí)行測試直至執(zhí)行完設(shè)備集合11屬下任務(wù)隊列中的最后一個測試任務(wù)2L ;返回查找到下一個存在測試任務(wù)的設(shè)備集合IN,執(zhí)行其屬下的所有M個測試任務(wù)……直至對所有N個數(shù)字設(shè)備均完成測試。
[0061]上述從任務(wù)隊列中獲取測試任務(wù)的順序由測試需求和具體情況而定,可以是堆棧式的,也可以是隊列式的,不限于使用現(xiàn)有各種隊列技術(shù)實現(xiàn)。上述預(yù)設(shè)時間段根據(jù)測試任務(wù)運行所需時間、待測試數(shù)字設(shè)備數(shù)量和具體情況而定。
[0062]本發(fā)明又提出,當待測試的數(shù)字設(shè)備數(shù)量較大,或者根據(jù)其分類信息可以劃分為不同類別以適應(yīng)不同的測試任務(wù),例如十種型號的一百部待測試數(shù)字設(shè)備,或者有三種不同操作系統(tǒng)的多部待測試數(shù)字設(shè)備,需要分別對應(yīng)三種不同操作系統(tǒng)的測試任務(wù),可采用多級設(shè)備集合的方案。該方案根據(jù)數(shù)字設(shè)備的信息將至少一數(shù)字設(shè)備組織為一級以上的設(shè)備集合;其中根據(jù)唯一標識劃分得到的基層設(shè)備集合屬于根據(jù)第一分類信息組織的上級設(shè)備集合,上級設(shè)備集合屬于根據(jù)第二分類信息組織的再上級設(shè)備集合,直到最高級設(shè)備集合。根據(jù)至少一測試任務(wù)與至少一數(shù)字設(shè)備間的對應(yīng)關(guān)系,分別從與測試任務(wù)對應(yīng)的至少一基層設(shè)備集合中,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合。分別對設(shè)備集合添加測試任務(wù),將至少一測試任務(wù)組織為屬于設(shè)備集合的至少一任務(wù)隊列。
[0063]設(shè)有Y個測試任務(wù)要對X個待測試數(shù)字設(shè)備進行測試,則將X個待測試數(shù)字設(shè)備以分類信息劃分為A個上級設(shè)`備集合,每個上級設(shè)備集合包括多個數(shù)字設(shè)備;再分別對每個上級設(shè)備集合下的多個數(shù)字設(shè)備以唯一標識劃分為B個基層設(shè)備集合,每個基層設(shè)備集合僅包括一個數(shù)字設(shè)備。與各數(shù)字設(shè)備對應(yīng)的測試任務(wù)被組織為屬于對應(yīng)基層設(shè)備集合的任務(wù)隊列。根據(jù)實際數(shù)字設(shè)備數(shù)及測試任務(wù)要求,還可以分別根據(jù)不同的分類信息劃分多個上級設(shè)備集合,每個設(shè)備集合都屬于其上級設(shè)備集合,直到最高級設(shè)備集合。
[0064]參照圖6示出的一實施例整體流程示意圖,以二層設(shè)備集合方案為例。本實施例的步驟Sll包括:
[0065]步驟Sill’、獲取至少一待測數(shù)字設(shè)備的分類信息,根據(jù)分類信息將至少一待測試數(shù)字設(shè)備分類,分別對每一類創(chuàng)建上級設(shè)備集合;
[0066]步驟S112’、獲取至少一待測數(shù)字設(shè)備的唯一標識,分別向至少一數(shù)字設(shè)備所在的上級設(shè)備集合添加其唯一標識,將至少一數(shù)字設(shè)備組織為屬于上級設(shè)備集合的基層設(shè)備集
口 ο
[0067]步驟S12包括:
[0068]步驟S121’、獲取與要添加的測試任務(wù)對應(yīng)的分類信息和唯一標識;
[0069]步驟S122’、在所有上級設(shè)備集合中查找與分類信息對應(yīng)的上級設(shè)備集合;[0070]步驟S123’、在查找到的上級設(shè)備集合下查找與唯一標識對應(yīng)的至少一基層設(shè)備集合;
[0071]步驟S124’、比較找到的至少一基層設(shè)備集合屬下的測試任務(wù)數(shù)量,選取測試任務(wù)最少的基層設(shè)備集合。
[0072]而步驟S13包括:
[0073]步驟S131’、對基層設(shè)備集合添加測試任務(wù),將測試任務(wù)組織為屬于基層設(shè)備集合的至少一任務(wù)隊列;
[0074]步驟S132’、返回到步 驟S121’添加下一測試任務(wù),循環(huán)上述步驟直至將所有測試任務(wù)均組織為任務(wù)隊列。
[0075]步驟S21包括:
[0076]步驟S211’、分別為至少一上級設(shè)備集合創(chuàng)建對應(yīng)的上級處理線程;
[0077]步驟S212’、上級處理線程分別創(chuàng)建與各上級設(shè)備集合屬下的基層設(shè)備集合分別對應(yīng)的至少一基層處理線程。
[0078]而步驟S22包括:
[0079]步驟S221’、至少一基層處理線程分別檢查基層設(shè)備集合屬下的任務(wù)隊列,判斷任務(wù)隊列中是否包含測試任務(wù);
[0080]步驟S222’、對于不存在測試任務(wù)的,間隔預(yù)設(shè)時間段后再進行步驟S221’檢查基層設(shè)備集合是否包含測試任務(wù);
[0081]步驟S223’、對于存在至少一測試任務(wù)的任務(wù)隊列,獲取任務(wù)隊列中的測試任務(wù)。
[0082]步驟23包括:
[0083]步驟S231’、基層處理線程執(zhí)行獲取到的測試任務(wù),對數(shù)字設(shè)備進行測試;
[0084]步驟S232’、基層處理線程重復(fù)進行步驟S223’及步驟S231’,循環(huán)獲取任務(wù)隊列中的下一測試任務(wù),重復(fù)執(zhí)行測試直至執(zhí)行完任務(wù)隊列中的所有測試任務(wù);
[0085]返回進行步驟S221’,直至對所有數(shù)字設(shè)備均完成測試,流程結(jié)束。
[0086]參見圖7示出的本實施例具體應(yīng)用示例示意圖,設(shè)Y個測試任務(wù)對X個數(shù)字設(shè)備進行測試,本實施例獲取X個待測數(shù)字設(shè)備的型號,根據(jù)型號將數(shù)字設(shè)備分Z個上級設(shè)備集合,分別為上級設(shè)備集合31、上級設(shè)備集合32……上級設(shè)備集合3Z。每個上級設(shè)備集合下分別有一至多個數(shù)字設(shè)備。再讀取X個數(shù)字設(shè)備的國際移動設(shè)備辨識碼,據(jù)此對每一數(shù)字設(shè)備分別創(chuàng)建基層設(shè)備集合11、設(shè)備集合12……設(shè)備集合IX。添加測試任務(wù)的過程與上一實施例類似,本實施例是對基層設(shè)備集合添加測試任務(wù),將測試任務(wù)組織為屬于基層設(shè)備集合的任務(wù)隊列。
[0087]在執(zhí)行測試階段,本實施例:分別為Z個上級設(shè)備集合創(chuàng)建對應(yīng)的Z個上級處理線程;對應(yīng)自身上級設(shè)備集合屬下的基層設(shè)備集合,每個上級處理線程分別創(chuàng)建對應(yīng)的基層處理線程,共創(chuàng)建X個基層處理線程。X個基層處理線程分別執(zhí)行任務(wù)隊列中的測試任務(wù),直到對所有X個數(shù)字設(shè)備均完成測試,其具體流程參照前述實施例,故不贅述。
[0088]以上僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法,其特征在于,包括:將至少一數(shù)字設(shè)備組織為至少一設(shè)備集合,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合,對 所述設(shè)備集合添加測試任務(wù),將至少一測試任務(wù)組織為屬于所述設(shè)備集合的至少一任務(wù)隊 列的步驟;分別選取至少一設(shè)備集合屬下存在至少一測試任務(wù)的任務(wù)隊列,執(zhí)行選中任務(wù)隊列的 至少一測試任務(wù),輪流對至少一數(shù)字設(shè)備進行測試的步驟。
2.如權(quán)利要求1所述的一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法,其特征在于,所述 將至少一數(shù)字設(shè)備組織為至少一設(shè)備集合,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合,對所述 設(shè)備集合添加測試任務(wù),將至少一測試任務(wù)組織為屬于所述設(shè)備集合的至少一任務(wù)隊列的 步驟包括:根據(jù)數(shù)字設(shè)備的信息分別將至少一數(shù)字設(shè)備組織為至少一設(shè)備集合的步驟;根據(jù)至少一測試任務(wù)與至少一數(shù)字設(shè)備間的對應(yīng)關(guān)系,分別從與測試任務(wù)對應(yīng)的至少 一設(shè)備集合中,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合的步驟;分別對所述設(shè)備集合添加所述測試任務(wù),將至少一測試任務(wù)組織為屬于所述設(shè)備集合 的至少一任務(wù)隊列的步驟。
3.如權(quán)利要求1所述的一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法,其特征在于,所述 分別選取至少一設(shè)備集合屬下存在至少一測試任務(wù)的任務(wù)隊列,執(zhí)行選中任務(wù)隊列的至少 一測試任務(wù),實現(xiàn)輪流對至少一數(shù)字設(shè)備進行測試的步驟包括:分別為至少一設(shè)備集合創(chuàng)建對應(yīng)的設(shè)備處理線程的步驟;所述至少一設(shè)備處理線程分別檢查所述設(shè)備集合屬下的任務(wù)隊列,選取存在至少一測 試任務(wù)的任務(wù)隊列的步驟;執(zhí)行所述選中的任務(wù)隊列中的至少一測試任務(wù),對數(shù)字設(shè)備進行測試的步驟。
4.如權(quán)利要求r3任意一項所述的一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法,其特征 在于:所述數(shù)字設(shè)備的信息包括分類信息和唯一標識;根據(jù)分類信息可將至少一數(shù)字設(shè)備劃分為至少一設(shè)備集合,每一設(shè)備集合包括至少一 數(shù)字設(shè)備;所述分類信息包括但不限于數(shù)字設(shè)備的型號、品牌、設(shè)備類別、支持的功能、操作 系統(tǒng)、屏幕分辨率和/或內(nèi)存容量;唯一標識用于將數(shù)字設(shè)備彼此區(qū)分開,根據(jù)唯一標識可將至少一數(shù)字設(shè)備劃分為至少 一設(shè)備集合,每一設(shè)備集合僅包括一數(shù)字設(shè)備;所述唯一標識包括但不限于唯一標識碼和 /或國際移動設(shè)備辨識碼。
5.如權(quán)利要求4所述的一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法,其特征在于:所述根據(jù)數(shù)字設(shè)備的信息分別將至少一數(shù)字設(shè)備組織為至少一設(shè)備集合的步驟包括:獲取至少一待測數(shù)字設(shè)備的唯一標識,根據(jù)唯一標識對每一數(shù)字設(shè)備創(chuàng)建設(shè)備集合; 所述根據(jù)至少一測試任務(wù)與至少一數(shù)字設(shè)備間的對應(yīng)關(guān)系,分別從與測試任務(wù)對應(yīng)的 至少一設(shè)備集合中,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合的步驟包括:獲取與要添加的測試任務(wù)對應(yīng)的唯一標識的步驟;在所有設(shè)備集合中查找與所述唯一標識對應(yīng)的至少一設(shè)備集合的步驟;比較找到的至少一設(shè)備集合屬下的測試任務(wù)數(shù)量,選取測試任務(wù)數(shù)最少的設(shè)備集合的步驟; 分別對所述設(shè)備集合添加所述測試任務(wù),將至少一測試任務(wù)組織為屬于所述設(shè)備集合的至少一任務(wù)隊列的步驟包括: 對所述設(shè)備集合添加所述測試任務(wù),將所述測試任務(wù)組織為屬于所述設(shè)備集合的至少一任務(wù)隊列的步驟。
6.如權(quán)利要求5所述的一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法,其特征在于,所述分別選取至少一設(shè)備集合屬下存在至少一測試任務(wù)的任務(wù)隊列,執(zhí)行選中任務(wù)隊列的至少一測試任務(wù),實現(xiàn)輪流對至少一數(shù)字設(shè)備進行測試的步驟包括: 分別為至少一設(shè)備集合創(chuàng)建對應(yīng)的處理線程的步驟; 所述至少一處理線程分別檢查所述設(shè)備集合屬下的任務(wù)隊列,判斷任務(wù)隊列中是否包含測試任務(wù); 對于不存在測試任務(wù)的,間隔預(yù)設(shè)時間段后再檢查所述設(shè)備集合是否包含測試任務(wù); 對于存在至少一測試任務(wù)的任務(wù)隊列,獲取所述任務(wù)隊列中的測試任務(wù); 所述處理線程執(zhí)行獲取到的測試任務(wù),對數(shù)字設(shè)備進行測試; 所述處理線程重復(fù)獲取任務(wù)隊列中的下一測試任務(wù),重復(fù)執(zhí)行測試直至執(zhí)行完任務(wù)隊列中的所有測試任務(wù); 返回處理線程分別檢查所述設(shè)備集合屬下的任務(wù)隊列的步驟,直至對所有數(shù)字設(shè)備均完成測試。
7.如權(quán)利要求4所述的一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法,其特征在于:` 所述根據(jù)數(shù)字設(shè)備的信息分別將至少一數(shù)字設(shè)備組織為至少一設(shè)備集合的步驟包括: 獲取至少一待測數(shù)字設(shè)備的分類信息,根據(jù)分類信息將至少一待測試數(shù)字設(shè)備分類,分別對每一類創(chuàng)建上級設(shè)備集合; 獲取至少一待測數(shù)字設(shè)備的唯一標識,分別向至少一數(shù)字設(shè)備所在的上級設(shè)備集合添加其唯一標識,將至少一數(shù)字設(shè)備組織為屬于所述上級設(shè)備集合的基層設(shè)備集合; 所述根據(jù)至少一測試任務(wù)與至少一數(shù)字設(shè)備間的對應(yīng)關(guān)系,分別從與測試任務(wù)對應(yīng)的至少一設(shè)備集合中,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合的步驟包括: 獲取與要添加的測試任務(wù)對應(yīng)的分類信息和唯一標識的步驟; 在所有上級設(shè)備集合中查找與所述分類信息對應(yīng)的上級設(shè)備集合的步驟; 在查找到的上級設(shè)備集合下查找與所述唯一標識對應(yīng)的至少一基層設(shè)備集合的步驟; 比較找到的至少一基層設(shè)備集合屬下的測試任務(wù)數(shù)量,選取測試任務(wù)最少的基層設(shè)備集合的步驟; 分別對所述設(shè)備集合添加所述測試任務(wù),將至少一測試任務(wù)組織為屬于所述設(shè)備集合的至少一任務(wù)隊列的步驟包括: 對所述基層設(shè)備集合添加測試任務(wù),將所述測試任務(wù)組織為屬于所述基層設(shè)備集合的至少一任務(wù)隊列的步驟。
8.如權(quán)利要求7所述的一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法,其特征在于,所述分別選取至少一設(shè)備集合屬下存在至少一測試任務(wù)的任務(wù)隊列,執(zhí)行選中任務(wù)隊列的至少一測試任務(wù),實現(xiàn)輪流對至少一數(shù)字設(shè)備進行測試的步驟包括: 分別為至少一上級設(shè)備集合創(chuàng)建對應(yīng)的上級處理線程的步驟; 所述上級處理線程分別創(chuàng)建與各上級設(shè)備集合屬下的基層設(shè)備集合分別對應(yīng)的至少一基層處理線程的步驟; 所述至少一基層處理線程分別檢查所述基層設(shè)備集合屬下的任務(wù)隊列,選取存在至少一測試任務(wù)的任務(wù)隊列的步驟; 所述至少一基層處理線程分別執(zhí)行所述選中的任務(wù)隊列中的至少一測試任務(wù),對數(shù)字設(shè)備進行測試的步驟。
9.如權(quán)利要求8所述的一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法,其特征在于,所述至少一基層處理線程分別檢查所述基層設(shè)備集合屬下的任務(wù)隊列,選取存在至少一測試任務(wù)的任務(wù)隊列的步驟包括: 所述至少一基層處理線程分別檢查所述基層設(shè)備集合屬下的任務(wù)隊列,判斷任務(wù)隊列中是否包含測試任務(wù); 對于不存在測試任務(wù)的,間隔預(yù)設(shè)時間段后再檢查所述基層設(shè)備集合是否包含測試任務(wù); 所述至少一基層處理線程分別執(zhí)行所述選中的任務(wù)隊列中的至少一測試任務(wù),對數(shù)字設(shè)備進行測試的步驟包括: 對于存在至少一測試任務(wù)的任務(wù)隊列,獲取所述任務(wù)隊列中的測試任務(wù); 所述基層處理線程執(zhí)行獲取到的測試任務(wù),對數(shù)字設(shè)備進行測試; 所述基層處理線程重復(fù)獲取任務(wù)隊列中的下一測試任務(wù),重復(fù)執(zhí)行測試直至執(zhí)行完任務(wù)隊列中的所有測試任務(wù); 返回所述基層處理線程分別檢查所述基層設(shè)備集合屬下的任務(wù)隊列的步驟,直至對所有數(shù)字設(shè)備均完成測試。
10.如權(quán)利要求4所述的一種對數(shù)字設(shè)備執(zhí)行測試任務(wù)的管理方法,其特征在于,包括: 根據(jù)數(shù)字設(shè)備的信息將至少一數(shù)字設(shè)備組織為一級以上的設(shè)備集合的步驟;其中根據(jù)唯一標識劃分得到的基層設(shè)備集合屬于根據(jù)第一分類信息組織的上級設(shè)備集合,所述上級設(shè)備集合屬于根據(jù)第二分類信息組織的再上級設(shè)備集合,直到最高級設(shè)備集合; 根據(jù)至少一測試任務(wù)與至少一數(shù)字設(shè)備間的對應(yīng)關(guān)系,分別從與測試任務(wù)對應(yīng)的至少一基層設(shè)備集合中,選取屬下測試任務(wù)數(shù)最少的設(shè)備集合的步驟; 分別對所述設(shè)備集合添加所述測試任務(wù),將至少一測試任務(wù)組織為屬于所述設(shè)備集合的至少一任務(wù)隊列的步驟。
【文檔編號】H04L12/26GK103580907SQ201210284724
【公開日】2014年2月12日 申請日期:2012年8月6日 優(yōu)先權(quán)日:2012年8月6日
【發(fā)明者】梁華聰, 張美文, 殷俊文, 楊漢坤, 孔繁盛, 白琳, 杭國強, 劉勁松, 張嘯雄 申請人:卓望數(shù)碼技術(shù)(深圳)有限公司, 中國移動通信集團廣東有限公司