某些軟件操作生態(tài)系統(tǒng)被設計成在例如可能由不同原始設備制造者(OEM)設計和制作的各種移動計算設備品牌和型號上操作。與制造可與操作生態(tài)系統(tǒng)兼容的設備的多個制造者相關聯(lián)的一個優(yōu)點在于每一OEM能定制它們的設備的某些特征和功能。通過構(gòu)建完全兼容的計算設備,OEM和終端用戶能從為生態(tài)系統(tǒng)編寫的龐大應用池受益同時增加開發(fā)者構(gòu)建更多應用的動機。然而,測試和驗證與操作生態(tài)系統(tǒng)的兼容性會存在某些挑戰(zhàn)。
附圖說明
現(xiàn)在將參考不一定按比例繪制的附圖和流程圖,其中:
圖1是根據(jù)公開技術的示例性實施方式的說明性設備測試和驗證系統(tǒng)的框圖。
圖2示出根據(jù)公開技術的示例性實施方式的示例性設備測試和驗證系統(tǒng)200和用于測試和驗證被測設備101的相關聯(lián)的過程。
圖3是根據(jù)公開技術的示例性實施方式的說明性計算系統(tǒng)300的框圖。
圖4是根據(jù)示例性實施方式的方法400的流程圖。
圖5是根據(jù)示例性實施方式的方法500的流程圖。
具體實施方式
通過公開技術的某些實施方式,可以解決與測試和驗證設備與操作生態(tài)系統(tǒng)的兼容性相關聯(lián)的一些或所有挑戰(zhàn)。某些實施方式可以包括用于設備兼容性測試和報告的系統(tǒng)、方法和裝置。在下文中,將參考附圖,更全面地公開技術的一些實施方式。然而,可以以許多不同的形式體現(xiàn)該公開技術,不應當解釋為限定到本文所述的實施方式。
根據(jù)示例性實施方式,一種方法包括由與被測設備通信的測試計算機站輸出用于在被測設備上執(zhí)行多個驗證測試的指令。該方法能包括在被測設備上執(zhí)行多個驗證測試。該方法包括接收與多個驗證測試中的每一個相對應的測試結(jié)果指示和相應的驗證測試標識符。響應于接收結(jié)果指示,該方法包括由所述測試計算機站生成用于多個驗證測試中的每一個的壓縮測試結(jié)果,其中,所述壓縮測試結(jié)果中的每一個包括壓縮的驗證測試標識符;以及由所述測試計算機站將壓縮測試結(jié)果的至少一部分與未壓縮的設備信息組合成簡化的數(shù)據(jù)報告。該方法進一步包括由與所述測試計算機站和遠程服務器通信的計算機網(wǎng)絡將簡化的數(shù)據(jù)報告發(fā)送到所述遠程服務器。
根據(jù)另一示例性實施方式,提供了一種系統(tǒng)。該系統(tǒng)具有存儲器,用于存儲數(shù)據(jù)和計算機可執(zhí)行指令;以及與存儲器通信的至少一個處理器。該至少一個處理器被配置為執(zhí)行計算機可執(zhí)行指令以使系統(tǒng):輸出在電子被測設備上執(zhí)行多個驗證測試的指令;接收與多個驗證測試中的每一個相對應的測試結(jié)果指示和驗證測試標識符;響應于接收結(jié)果指示,生成用于多個驗證測試中的每一個的壓縮測試結(jié)果,其中,壓縮測試結(jié)果包括壓縮的驗證測試標識符;以及將未壓縮設備信息與壓縮測試結(jié)果的至少一部分組合成簡化的數(shù)據(jù)報告,以及由與所述系統(tǒng)和遠程服務器通信的計算機網(wǎng)絡將簡化的數(shù)據(jù)報告發(fā)送到所述遠程服務器。
根據(jù)公開技術的示例性實施方式,一種方法包括在遠程服務器處并且通過與測試計算機站通信的計算機網(wǎng)絡來接收簡化的數(shù)據(jù)報告。簡化的數(shù)據(jù)報告包括未壓縮的設備信息、以及與在所述被測設備上運行的多個驗證測試中的每一個相對應的壓縮結(jié)果指示和驗證測試標識符。該方法包括將接收的簡化的數(shù)據(jù)報告存儲在所述遠程服務器處的存儲器中。該方法包括由與所述遠程服務器處的存儲器通信的處理器解壓縮所壓縮的結(jié)果表示和驗證測試標識符以產(chǎn)生解壓縮的文件。該方法包括由所述遠程服務器處的處理器并且從所述解壓縮文件確定所有多個驗證測試是否已經(jīng)通過。響應于確定所有多個驗證測試通過,該方法包括由所述遠程服務器處的處理器生成證書;以及由所述計算機網(wǎng)絡將所述證書的指示發(fā)送到所述測試計算機站。
根據(jù)另一示例性實施方式,提供了一種系統(tǒng)。該系統(tǒng)具有存儲器,用于存儲數(shù)據(jù)和計算機可執(zhí)行指令;以及與存儲器通信的至少一個處理器。該至少一個處理器被配置為執(zhí)行計算機可執(zhí)行指令以使系統(tǒng)執(zhí)行方法,所述方法包括在遠程服務器處并且通過與測試計算機站通信的計算機網(wǎng)絡來接收簡化的數(shù)據(jù)報告。簡化的數(shù)據(jù)報告包括與在所述被測設備上運行的多個驗證測試中的每一個相對應的壓縮結(jié)果指示和驗證測試標識符、以及與被測設備相對應的未壓縮設備信息。該方法包括將接收的簡化的數(shù)據(jù)報告存儲在所述遠程服務器處的存儲器中。該方法包括由與所述遠程服務器處的存儲器通信的處理器解壓縮所壓縮的結(jié)果指示和驗證測試標識符以產(chǎn)生解壓縮的文件。該方法包括由所述遠程服務器處的處理器并且從所述解壓縮文件確定所有多個驗證測試是否已經(jīng)通過。響應于確定所有多個驗證測試通過,該方法包括由所述遠程服務器處的處理器生成與設備信息有關的證書;以及由所述計算機網(wǎng)絡將所述證書的指示發(fā)送到所述測試計算機站。
根據(jù)另一示例性實施方式,提供了一種系統(tǒng)。該系統(tǒng)具有存儲器,用于存儲數(shù)據(jù)和計算機可執(zhí)行指令;以及與存儲器通信的至少一個處理器。該至少一個處理器被配置為執(zhí)行計算機可執(zhí)行指令以使系統(tǒng):輸出在電子被測設備上執(zhí)行多個驗證測試的指令;接收與多個驗證測試中的每一個相對應的測試結(jié)果指示和驗證測試標識符;響應于接收結(jié)果指示,生成用于多個驗證測試中的每一個的壓縮測試結(jié)果,其中,壓縮測試結(jié)果包括壓縮的驗證測試標識符;以及將壓縮測試結(jié)果的至少一部分與未壓縮的設備信息組合成簡化的數(shù)據(jù)報告;以及由與所述系統(tǒng)和遠程服務器通信的計算機網(wǎng)絡將簡化的數(shù)據(jù)報告發(fā)送到所述遠程服務器。
當電子設備變得越復雜并且支持更多硬件和軟件功能時,兼容性測試變得更復雜。通常運行測試組以校驗預期執(zhí)行的代碼的特定單元、應用編程接口(API)和電子設備的更復雜功能。另外,當被測設備(DUT)未通過個體測試時,兼容性調(diào)試通常提供有用的調(diào)試信息。為了獲得兼容性驗證,有時綜合兼容性測試的結(jié)果被傳遞到驗證方。這些綜合的兼容性測試結(jié)果能包括上千單獨測試的個體結(jié)果,不僅包括個體使用用例,而且包括用于當設備處于用于將測試結(jié)果和指定的基準比較的壓力和性能測試時的魯棒測試。
當測試軟件是開源生態(tài)系統(tǒng)的一部分時,用高級編程語言編寫個體測試并且以人類可讀格式提供具有測試名、測試結(jié)果(例如通過或失敗)和(如果有的話)有關失敗的細節(jié)的測試結(jié)果。這允許設備制造者更快速地隔離故障并且修復它。在開源生態(tài)系統(tǒng)中,可能由被測設備硬件、被測設備軟件或甚至測試軟件本身導致失敗。由此,當測試設備時,測試軟件的高級編程語言和人類可讀測試結(jié)果提供好處。然而,當嘗試驗證設備時,這些“易于讀取”元件產(chǎn)生問題,因為綜合的兼容性測試會產(chǎn)生難以傳遞給驗證方的大測試結(jié)果文件。
公開技術的其他實施方式、特征和方面在本文中被詳細地描述并且認為是所要求的公開技術的一部分。參考下述詳細描述、附圖和權利要求,能理解其他實施方式、特征和方面。
利用公開技術的某些示例性實施方式來使能測試和有效報告用在操作生態(tài)系統(tǒng)內(nèi)的各個計算設備的兼容性和/或測試驗證。本文公開的某些示例性實施方式可以提供用于生成、存儲和/或利用某些設備測試、驗證和/或兼容性報告(本文稱為“報告”)的改進的效率。
圖1描述根據(jù)公開技術的某些示例性實施方式的說明性設備測試和驗證系統(tǒng)。例如,第一設備測試和驗證系統(tǒng)130能現(xiàn)場駐留在第一OEM,第二系統(tǒng)140能現(xiàn)場駐留在第二OEM,第三系統(tǒng)150能現(xiàn)場駐留在第三OEM等。在另一示例性實施方式中,特定OEM可以制造多個設備型號并且可以現(xiàn)場具有多個系統(tǒng)140、150、160,用于測試/驗證它們的不同設備型號。
根據(jù)公開技術的示例性實施方式,被測設備(DUT)101與測試計算機站104通信。例如,硬布線連接102,諸如經(jīng)由USB端口和適當?shù)碾娎|,可以被用來提供在被測設備101和測試計算機站104之間的通信。在另一示例性實施方式中,諸如WiFi或藍牙的無線連接103可以被用來提供被測設備101和測試計算機站104之間的通信。
在某些示例性實施方式中,測試計算機站104被配置成啟動用于在被測設備101上執(zhí)行的一系列驗證測試。在示例性實施方式中,運行測試105。在某些示例性實施方式中,在被測設備101上運行測試105后,測試計算機站104接收測試結(jié)果106。對導致“失敗”確定的測試,設備制造者可能希望檢查測試結(jié)果細節(jié)、DUT硬件和DUT軟件來進行再次運行個體測試或相關分組測試時將導致“通過”確定的修改。當所有測試通過時,或當制造者已經(jīng)耗盡其資源來確定如何將“失敗”轉(zhuǎn)換成“通過”時,測試計算機站104例如通過級聯(lián)來自測試結(jié)果106的某些現(xiàn)場值,生成結(jié)果簽名108,將數(shù)據(jù)壓縮函數(shù)110(諸如散列函數(shù))應用于結(jié)果簽名108,并且生成用于經(jīng)由通信網(wǎng)絡114發(fā)送至遠程服務器116的簡化的數(shù)據(jù)報告112。在某些示例性實施方式中,簡化的數(shù)據(jù)報告112還包括未散列或未壓縮的數(shù)據(jù),諸如用于驗證測試的開始和結(jié)束時間戳、用于被測設備的型號的設備信息和/或用于硬件和/或軟件組件及它們的關鍵參數(shù)的指示符。
根據(jù)公開技術的示例性實施方式,在運行測試105并且在被測設備101上完成后,散列結(jié)果(即,壓縮110的測試簽名)和相應的(未壓縮的)簽名108中的每一個能被上傳到遠程數(shù)據(jù)庫118,例如,以確定該特定簽名108和/或散列是否已經(jīng)存在于遠程數(shù)據(jù)庫118中。如果上傳的散列已經(jīng)存在于遠程數(shù)據(jù)庫118上,則不需要額外的動作。如果特定的上傳的散列不在遠程數(shù)據(jù)庫118中,則能將預散列的測試簽名108和散列后的壓縮110的測試簽名添加到數(shù)據(jù)庫118。以這種方式,當新測試添加到測試套件時,能遞增地擴增數(shù)據(jù)庫118。此外,因為散列值是獨特的,該數(shù)據(jù)庫118上的索引、搜索或其它操作可以非常快。
根據(jù)公開技術的示例性實施方式,能經(jīng)由網(wǎng)絡114訪問遠程數(shù)據(jù)庫118。在某些示例性實施方式中,能經(jīng)由遠程服務器116訪問遠程數(shù)據(jù)庫118。在一個示例性實施方式中,能公開地訪問遠程數(shù)據(jù)庫118,訪問僅對非確信信息。例如,特定OEM 130能訪問遠程數(shù)據(jù)庫118以瀏覽某些測試結(jié)果,諸如“[hash1]=[testABC:pass]”或“[hash2]=[testXYZ:fail]”。在另一示例性實施方式中,遠程數(shù)據(jù)庫118能是專用的。在一個示例性實施方式中,保護遠程數(shù)據(jù)庫118上的某些敏感信息(諸如特定于設備或OEM的信息),使得僅在呈現(xiàn)諸如密碼的適當證書后才可查看。
在示例性實施方式中,在將測試報告112(包括散列值)上傳到遠程服務器116后,遠程服務器116再次讀取數(shù)據(jù)庫118,用測試簽名108替換散列值,解析某些串,并且在網(wǎng)站上顯示人類可讀的測試信息,用于由OEM瀏覽。該人類可讀的測試信息不僅能包括重構(gòu)(未壓縮)簽名,而且包括來自測試報告112的非壓縮數(shù)據(jù)。
根據(jù)公開技術的某些示例性實施方式,能將初始測試結(jié)果106和/或(壓縮的)簡化的數(shù)據(jù)報告112格式化為文本。例如,文本格式可以提供用于測試和調(diào)試的某些優(yōu)點。初始測試結(jié)果106能由機器和/或人讀取,例如以確定用于每一測試的通過/失敗狀態(tài),和/或確定用于失敗的那些測試的調(diào)試或異常信息。根據(jù)公開技術的示例性實施方式,還能將簡化的數(shù)據(jù)報告112格式化為文本。在某些示例性實施方式中,能(由機器和/或人)瀏覽測試結(jié)果106和/或簡化的數(shù)據(jù)報告112來確定個體測試的通過/失敗狀態(tài)。然而,在某些示例性實施方式中,能從簡化的數(shù)據(jù)報告112省略用于失敗的那些測試的調(diào)試、異常和/或冗長的注釋信息以進一步降低簡化的數(shù)據(jù)報告112的大小。在某些示例性實施方式中,能(例如通過與應用于結(jié)果簽名108類似的散列函數(shù))壓縮/編碼用于失敗的那些測試的調(diào)試和/或注釋信息并且包括在簡化的數(shù)據(jù)報告112中。
如上所述,公開技術的某些示例性實施方式利用壓縮函數(shù)110來減少包含在簡化的數(shù)據(jù)報告112中的字符數(shù)(相應地降低總數(shù)據(jù)大小)。用于壓縮初始測試結(jié)果106以產(chǎn)生降低大小的簡化的數(shù)據(jù)報告112的一個激發(fā)因子是遠程服務器116會將限制強加在由測試計算機站104發(fā)送到遠程服務器116的任何報告(或文件)的大小上。例如,某些服務器會對任何傳入的報告/文件實施數(shù)據(jù)限制(例如20MB)。在某些測試情況下,被測設備101會經(jīng)歷許多驗證測試,使得初始測試結(jié)果106(能包括測試描述符、報頭、結(jié)果、調(diào)試信息等)會超出由遠程服務器116實施的限制。公開技術的某些示例性實施方式能從初始測試結(jié)果106提取和變換/壓縮某些測試和/或設備標識信息以例如產(chǎn)生能用來唯一地識別這樣的信息的一個或多個代碼(諸如散列碼)。
在一個示例性實施方式中,能將簡化的數(shù)據(jù)報告112作為文本文件上傳到遠程服務器116。例如,能將簡化的數(shù)據(jù)報告112作為能包括有關被測設備101的未壓縮的標識信息、以未壓縮格式的測試版本、各種壓縮測試和/或測試結(jié)果標識符等的XML文本文件上傳到遠程服務器116。在某些示例性實施方式中,整個簡化的數(shù)據(jù)報告112能在將其上傳到遠程服務器116前由測試計算機站104進一步壓縮(例如作為ZIP、TAR或其他適當格式文件)以進一步降低文件大小。在示例性實施方式中,將總體額外壓縮(ZIP,TAR)應用于具有已經(jīng)散列的結(jié)果簽名的簡化的數(shù)據(jù)報告112能是完全獨立的壓縮函數(shù),以及能在遠程服務器116處執(zhí)行兩種不同類型的解壓縮(unZIP整個ZIPPED文件,然后unHASH個體散列簽名)。
在某些示例性實施方式中,遠程服務器116能接收簡化的數(shù)據(jù)報告112。如果使用整體附加壓縮方案壓縮整個簡化的數(shù)據(jù)報告112,遠程服務器116解壓縮簡化的數(shù)據(jù)報告112。在示例性實施方式中,在完成整體附加解壓縮后(如果需要的話),能由遠程服務器116(單獨或單次操作)提取包含在簡化的數(shù)據(jù)報告112中的簡化數(shù)據(jù)測試標識符和/或測試結(jié)果(散列)碼。這能通過反向散列函數(shù),或通過使用遠程數(shù)據(jù)庫118來使接收的散列測試結(jié)果簽名與其相應的預散列測試結(jié)果簽名匹配以便重構(gòu)預散列測試結(jié)果簽名108來實現(xiàn)。
根據(jù)公開技術的示例性實施方式,(例如,經(jīng)由擴增有預期碼的查找表,在遠程數(shù)據(jù)庫118處)可以比較提取的簡化數(shù)據(jù)測試標識符和/或測試結(jié)果(散列)碼以驗證在被測設備101上通過某些測試。在某些示例性實施方式中,當接收的代碼與查找表中的任何條目均不匹配時,其可以指示包括但不限于下述的若干問題中的任何一個:(1)與該代碼相關的特定測試未通過;(2)數(shù)據(jù)損壞;(3)壓縮、傳輸、接收、解壓縮過程出錯;和/或未用最新測試代碼更新查找表。
根據(jù)公開技術的示例性實施方式,如果不是所有用于被測設備101的特定類的預期代碼(由設備信息指示)均與服務器側(cè)處的查找表(或其他適當數(shù)據(jù)庫)中的預期或所需代碼不匹配,則可以不發(fā)布設備型號或類的證書。另一方面,根據(jù)公開技術的示例性實施方式,如果用于被測設備101的特定類的所有預期代碼均與服務器側(cè)處的查找表(或其他適當數(shù)據(jù)庫)中的預期或所需代碼匹配,則可以向OEM發(fā)布設備型號(如由設備信息所指示)的證書。
圖2示出根據(jù)公開技術的示例性實施方式的示例性設備測試和驗證系統(tǒng)200和用于測試和驗證被測設備101的相關過程。例如,在一個實施方式中,被測設備101經(jīng)由USB端口連接到測試計算機站104。在示例性實施方式中,能將兼容性測試套件應用下載到(和/或安裝在)測試計算機站104。在某些示例性實施方式中,兼容性測試套件能檢測和/或識別連接的被測設備101。能啟動兼容性測試套件來發(fā)起在被測設備101上執(zhí)行運行測試105。根據(jù)示例性實施方式,并且在測試開始后,兼容性測試套件能生成初始測試結(jié)果106。
在某些示例性實施方式中,初始測試結(jié)果106能以文本文件或其他適當格式的形式。在一個示例性實施方式中,初始測試結(jié)果106能報告為XML文件,諸如下表1的示例中所示。
表1–示例性初始測試結(jié)果106XML文件
根據(jù)公開技術的示例性實施方式,初始測試結(jié)果106的XML文本文件表示(如在上表1中所述)能包括報頭、測試描述符、測試結(jié)果(通過/失敗)、調(diào)試信息、注釋、時間戳等。這樣,初始測試結(jié)果106能提供有關每一測試的某些信息,能幫助制造者集中于并且校正任一失敗測試或被測設備101可能具有的、與操作生態(tài)系統(tǒng)的不兼容。
如上參考圖1所述,公開技術的某些示例性實現(xiàn)可以利用在測試計算機站104上運行的兼容性測試套件來轉(zhuǎn)換和/或壓縮110該初始測試結(jié)果106,例如以產(chǎn)生用于經(jīng)由網(wǎng)絡114發(fā)送到遠程服務器116的簡化的數(shù)據(jù)報告112。在一個示例性實施方式中,還可以將簡化的數(shù)據(jù)報告112報告為XML文件,諸如下表2的示例中所示。
表2–示例性簡化的數(shù)據(jù)報告112XML文件
如上表2中所示的示例性簡化的數(shù)據(jù)報告112從如上表1所示的示例性初始測試結(jié)果106得出。在示例性實施方式中,并且繼續(xù)參考圖2,壓縮110過程能將一些信息保留為不壓縮(諸如XML報頭、某些測試信息、與DUT的型號或類有關的設備信息、用于一個或多個硬件組件的指示符、用于一個或多個軟件組件的指示符、用于硬件組件的關鍵參數(shù)的指示符和/或用于軟件組件的關鍵參數(shù)的指示符),同時縮減、壓縮或消除與測試相關聯(lián)的其他信息。例如,初始測試結(jié)果106能包括XML報頭、測試有關的開始和結(jié)束時間戳、包括關鍵硬件參數(shù)的設備信息和驗證測試結(jié)果指示(例如通過或失敗)和對應于每一驗證測試的驗證測試標識符。作為另一示例,從測試報告112排除有關任何個體測試的失敗、來自初始測試結(jié)果106的細節(jié)。
在該示例中,壓縮110過程能將緊湊地表示冗余驗證測試標識符和相應的測試結(jié)果指示(例如通過或失敗)的壓縮的驗證測試標識符(例如,壓縮的驗證測試標識符id=“92lf12”和id=“111b66”,如上表2所示)提供給初始測試結(jié)果106中的多個驗證測試中的每一個。例如,壓縮的驗證測試標識符(即,id=“92lf12”)能表示測試(即,使用調(diào)用“TestDeviceFuncTest”的測試用例來自調(diào)用“com.mobile.test1.TestExample1”的包的“testBugreport”)通過,而不要求可能另外存在于初始測試結(jié)果106中的所有相關聯(lián)的冗余信息(例如,TestPackage名稱、TestSuite名稱、TestCase名稱、Test名稱、用于單個測試的開始和結(jié)束時間戳等)。在示例性實施方式中,能利用能存在于初始測試結(jié)果106中的所有或部分相關聯(lián)的冗長信息來生成壓縮的驗證測試標識符。例如,可以在散列前從任何測試結(jié)果簽名刪除用于個體測試的開始和結(jié)束時間戳以便減少各種最終壓縮的驗證測試標識符。在某些示例性實施方式中,用于整個測試計劃(諸如“TestPlan1”)的開始和結(jié)束時間戳可以包括在測試報告112中,作為未壓縮信息。
在下表3和表4中描述初始測試結(jié)果106和相應的示例性簡化的數(shù)據(jù)報告112的另一示例。例如,可以從初始測試結(jié)果106(如表3所示)提取某些測試和結(jié)果標識符以產(chǎn)生對測試和結(jié)果唯一的串,諸如“CtsAdbTests;android.aadb;979e222a3ac9dce455fed4fc71815fbac621d39e;com;android;cts;aadb;TestDeviceFuncTest;testBugreport;pass”)。在示例性實施方式中,并且在用壓縮110過程來散列該串后,壓縮的驗證測試標識符會導致如在表4中所示的能在簡化的數(shù)據(jù)報告112中表示為id=“14090c”的相應的簡化碼,諸如14090c。
類似地,并且作為第二示例,能由串“CtsAdbTests;android.aadb;979e222a3ac9dce455fed4fc71815fbac621d39e;com;android;cts;aadb;TestDeviceStressTest;testPushFolderWithManyFiles;pass”表示對應于第二測試(testPushFolderWithManyFiles)的初始測試結(jié)果106。在用壓縮110過程來散列該串后,壓縮的驗證測試標識符會導致能在簡化的數(shù)據(jù)報告112(如表4中所示)中表示為id=“f51a57”的相應的簡化碼,諸如f51a57。在示例性實施方式中,并且如下文進一步所述,如果串中的甚至一個字符不同,最終的散列簡化碼也不同。
表3–示例性初始測試結(jié)果106XML文件
表4-示例性簡化的數(shù)據(jù)報告112XML文件
如何能初始地壓縮驗證測試標識符來產(chǎn)生散列碼的一個示例包括應用SHA-1加密散列函數(shù)。例如,將函數(shù)應用于短語,諸如“The quick brown fox jumps over the lazy dog”會導致十六進制:2fd4e1c67a2d28fced849ee1bb76e7391b93eb12,其可以進一步被轉(zhuǎn)換成相應的文本編碼散列碼:L9ThxnotKPzthJ7hu3bnORuT6xI=。甚至初始短語中的小變化(諸如一個字母)會導致不同的散列碼。某些示例性實施方式利用這樣的散列函數(shù)或類似的壓縮技術來減少初始測試結(jié)果106的至少一部分以產(chǎn)生壓縮的驗證測試標識符。如上所述,并且根據(jù)示例性實施方式,在生成散列碼并且將其包括在簡化的數(shù)據(jù)報告112中后,能使用不同的壓縮算法(ZIP、TAR等)進一步壓縮整個簡化的數(shù)據(jù)報告112來進一步降低用于發(fā)送到遠程服務器116的文件大小。
在一個示例性實施方式中,能將簡化的數(shù)據(jù)報告112進一步轉(zhuǎn)換成用于發(fā)送到遠程服務器116的二進制格式。在另一示例性實施方式中,簡化的數(shù)據(jù)報告112在其被發(fā)送到遠程服務器116前被加密。在又一示例性實施方式中,能整體上進一步壓縮簡化的數(shù)據(jù)報告112,以便傳輸。然后,遠程服務器116在反向個體測試結(jié)果的散列并且確定任一個體驗證測試標識符是否指示測試失敗前,解壓縮整個簡化的數(shù)據(jù)報告112。在一個示例性實施方式中,可以通過省略特定測試結(jié)果來暗示或指示特定測試失敗。在該示例性實施方式中,如果省略單個預期特定測試結(jié)果(對被測設備的特定型號或類),則可以拒絕驗證204。在另一示例性實施方式中,為驗證和調(diào)試目的,每一個體測試結(jié)果(例如通過/失敗)的完整列表可以包括在簡化的數(shù)據(jù)報告112中、由遠程服務器116解壓縮和由遠程服務器116分析。
根據(jù)公開技術的示例性實施方式,在測試計算機站104上運行的兼容性測試套件能包括具有初始測試結(jié)果106的壓縮驗證測試標識符并且將其組合成簡化的數(shù)據(jù)報告112,用于經(jīng)由互聯(lián)網(wǎng)或網(wǎng)絡114將簡化的數(shù)據(jù)報告112發(fā)送到遠程服務器116。
繼續(xù)參考圖2,簡化的數(shù)據(jù)報告112能包括驗證測試通過以及驗證測試失敗的信息。如果所有測試通過,遠程服務器116在接收整個簡化的數(shù)據(jù)報告112后,可以應用整體解壓縮(能包括解壓,如果適當?shù)脑?、個體測試結(jié)果解壓縮(以反向散列)、分析來自報告112的重構(gòu)測試結(jié)果的方向以及向OEM發(fā)布證書204。在某些示例性實施方式中(并且由虛線和框所指示),發(fā)布和發(fā)送證書204的過程有條件地取決于所有測試通過。根據(jù)公開技術的示例性實施方式,證書204能包括允許OEM將操作生態(tài)系統(tǒng)用在對應于通過的被測設備101的設備信息的設備型號上的標識信息,如在簡化的數(shù)據(jù)報告112中以未散列的方式表示。
公開技術的某些示例性實施方式能提供使得用于OEM的測試工具測試、調(diào)試和/或通過用于設備硬件的每一型號和/或操作系統(tǒng)軟件的每一版本的兼容性測試的技術優(yōu)點。例如,OEM能進行上千套兼容性測試來確??缢性O備平臺/構(gòu)建上API和相關聯(lián)的硬件/固件/功能適當?shù)夭僮鳌T谀承┦纠詫嵤┓绞街?,簡化的?shù)據(jù)報告112能被發(fā)送到遠程服務器116,使得例如如果所有測試通過,能驗證對應于被測設備101的特定型號,用于與操作系統(tǒng)一起使用。公開技術的某些示例性實施方式還能獲得提供測試失敗和用于失敗的測試的調(diào)試信息結(jié)果使得OEM能修補相關問題并且再次運行測試套件的技術效果。
根據(jù)公開技術的示例性實施方式,如果所有驗證測試通過,在測試計算機站104上運行的兼容性測試套件能生成安全(例如加密)密鑰和設備/型號標識符,用于發(fā)送到遠程服務器116以指示所有測試通過。這樣的實施方式可以提供發(fā)送到遠程服務器116的報告112文件的大小的顯著降低。在其他示例性實施方式中,然而,存在詳細信息(諸如測試套件名稱、測試用例名稱等)可以包括在報告112中,例如以使得能夠比較不同設備上的測試結(jié)果、比較同一設備上的測試結(jié)果歷史和/或進一步提供調(diào)試信息來校正各種問題的情形。例如,如果測試先前失敗但在后續(xù)回合中通過,或先前通過,但在后續(xù)回合中失敗,使這樣的測試信息包括在報告112中以進一步調(diào)試不僅可能在被測設備101上,而且可能在從測試計算機站104一直到遠程服務器116的測試鏈中的任何一點出現(xiàn)的問題是有用的。
根據(jù)公開技術的示例性實施方式,能利用兼容性測試套件來以報告格式生成初始測試結(jié)果106,OEM能利用所述報告格式來修補對應于測試失敗通知的故障。初始測試結(jié)果106的某些示例性實施方式能包括用于失敗的測試的調(diào)試信息。在某些示例性實施方式中,測試結(jié)果106能被存儲并且在反饋過程202中使用,用于基于測試結(jié)果106來調(diào)試被測設備101。
根據(jù)公開技術的示例性實施方式,當特定被測設備101已經(jīng)通過所有測試,并且OEM準備將測試結(jié)果上傳到遠程服務器116時,測試計算機站104使用翻譯/壓縮模塊113來生成簡化的數(shù)據(jù)報告112。在另一示例性實施方式中,即使一些測試未通過,測試計算機站104也生成簡化的數(shù)據(jù)報告112。在示例性實施方式中,對每一測試,通過級聯(lián)某些測試信息字段內(nèi)容來創(chuàng)建測試簽名108。在某些示例性實施方式中,使用開源算法,諸如SHA(安全散列算法)、MD5(消息摘要)、布隆過濾器等,某些測試結(jié)果信息被映射或壓縮成更短文本串。
在某些示例性實施方式中,能將散列函數(shù)(諸如加密散列函數(shù))應用于導致散列碼的某些初始測試結(jié)果信息。在示例性實施方式中,能校驗參考或遠程數(shù)據(jù)庫118來查看生成的散列碼是否已經(jīng)在數(shù)據(jù)庫118中。例如,并且如上所述,散列碼能表示特定測試簽名。如果散列碼還未在遠程數(shù)據(jù)庫118中,則公開技術的某些實施方式能將生成的散列碼添加到數(shù)據(jù)庫118。在某些示例性實施方式中,初始測試結(jié)果106和相關聯(lián)的描述信息如果還未存在的話,也能添加到參考數(shù)據(jù)庫118。這樣,能將新測試添加到測試套件,并且如果新描述符/代碼還未存在于數(shù)據(jù)庫118中,能自動地添加相應的描述符/代碼以擴增參考數(shù)據(jù)庫。在某些示例性實施方式中,數(shù)據(jù)庫118能本地地駐留在OEM。在其他示例性實施方式中,數(shù)據(jù)庫118能遠程地駐留在例如遠程服務器116處。
在示例性實施方式中,初始測試結(jié)果106能包括能被變換和/或級聯(lián)成諸如“testPackage名,測試套件名,測試用例名,abi,測試結(jié)果”的簽名108串的描述性信息。這樣的簽名108串可以是例如68個字符長,并且每一字符可以要求由2個字節(jié)的數(shù)據(jù)表示,總共136個字節(jié)的數(shù)據(jù)以表示該一個測試結(jié)果。通過將散列函數(shù)應用于簽名108串,散列碼結(jié)果(921f12)可以是僅6個字符(例如12個字節(jié)),潛在地以因子10來降低報告大小。
公開技術的某些實施方式能提供另外的技術改進和/或優(yōu)點中的一個或多個,諸如:(1)降低測試報告的大小以節(jié)省存儲空間需求和增加將報告?zhèn)魉偷竭h程服務器的速度;(2)提供用于報告每一測試結(jié)果的可預測大小;(3)提供仍可由機器和人讀取的降低大小的報告;(4)對每一唯一測試提供唯一散列碼;(5)提供允許移除或增加的測試的可擴展測試套件;和/或(6)提供測試結(jié)果的快速搜索。
安卓操作系統(tǒng)提供生態(tài)系統(tǒng)的一個示例,其中,測試和驗證報告對確保由各個OEM制造的設備之間的兼容性很關鍵。例如,安卓操作系統(tǒng)(OS)被設計用在許多不同類的電子設備,包括智能電話、平板電腦、手表、TV、汽車等上。安卓是基于Linux內(nèi)核并且當前由Google開發(fā)的移動操作系統(tǒng)(OS)。通過基于直接操控的用戶界面,安卓被主要設計用于觸摸屏移動設備,諸如智能電話和平板電腦,具有用于電視的專門用戶界面(安卓TV)、汽車(安卓汽車)和腕表(安卓可穿戴設備)。OS已經(jīng)用在游戲控制臺、數(shù)碼相機、常規(guī)PC和其他電子設備中。
Google在開源許可下發(fā)行安卓的源代碼,盡管大多數(shù)安卓設備最終推出開源和專用軟件,包括由Google開發(fā)和許可的專用軟件的組合。安卓受要求用于高科技設備的現(xiàn)成、低成本和定制操作系統(tǒng)的技術公司喜歡。安卓的開源屬性激勵大量開發(fā)者和愛好者使用開源代碼作為團體主導項目的基礎,添加用于高級用戶的新功能和/或使安卓進入官方發(fā)行運行其他操作系統(tǒng)的設備。安卓/操作系統(tǒng)的成功已經(jīng)產(chǎn)生用于在各種OEM之間測試、歸檔和驗證兼容性標準的某些挑戰(zhàn)。
例如,兼容性測試為應用開發(fā)者和終端用戶提供一致應用和硬件環(huán)境。沒有強兼容性標準,設備會大大地改變,使得開發(fā)者會需要對不同設備設計不同版本的應用。兼容性標準可以提供能根據(jù)API、與硬件的交互等,開發(fā)者能從兼容性設備預期的內(nèi)容的準確定義。例如,開發(fā)者能使用兼容性標準信息來進行良好設計判定,并且確信他們的應用將在任何兼容設備上良好運行。
公開技術的某些示例性實施方式最終可以為計算設備的用戶提供增強和/或一致體驗。例如,如果應用在一個兼容安卓設備上運行良好,在與同一安卓平臺版本兼容的任何其他設備上應當也會運行良好。某些安卓設備可能在硬件和軟件能力方面不同,因此,本文公開的兼容性標準和報告還可以提供實現(xiàn)適當過濾所需的工具,使得終端用戶僅能看到他們真正在他們的特定設備上運行的應用。
在上述描述中,已經(jīng)提出許多具體的細節(jié)。然而,應理解在沒有這些具體細節(jié)的情況下,可以實踐公開的技術的實施方式。在其他實例中,未詳細地示出非常公知的方法、結(jié)構(gòu)和技術以便不混淆本描述的理解。對“一個實施方式”、“實施方式”、“示例性實施方式”、“各個實施方式”等的應用指示如此所述的公開技術的實施方式可以包括特定的特征、結(jié)構(gòu)或特性,但并非每一實施方式必定包括特定特征、結(jié)構(gòu)或特性。此外,重復使用短語“在一個實施方式中”不一定參考相同實施方式,盡管可以參考相同實施方式。
在整個說明書和權利要求書中,下述術語至少采用本文明確關聯(lián)的含義,除非上下文另有明確說明。術語“或”旨在是指包含性“或”。此外,術語“一”、“一個”或“所述”旨在是指一個或多個,除非另有明確說明或從上下文很顯然是指單數(shù)形式。
在一些實例中,計算設備可以稱為移動設備、移動計算設備、移動站(MS)、終端、蜂窩電話、蜂窩手機、個人數(shù)字助理(PDA)、智能電話、無線電話、管理器、手持計算機、臺式計算機、手提電腦、平板電腦、機頂盒、電視、儀器、游戲設備、媒體設備、顯示設備或一些其他類似的術語。在其他實例中,計算設備可以是處理器、控制器或中央處理單元(CPU)。在其他實例中,計算設備可以是與一個或多個附加硬件組件結(jié)合的處理器。
本文所述的各個方面可以呈現(xiàn)為可以包括多個部件、元件、構(gòu)件、模塊、節(jié)點、外圍設備等的方法、設備(或裝置)、系統(tǒng)和制品。此外,這些方法、設備、系統(tǒng)和制品可以包括或不包括另外的組件、元件、構(gòu)件、模塊、節(jié)點、外圍設備等。
根據(jù)一個示例性實施方式,如本文所使用的,術語計算設備或移動計算設備可以是CPU或概念化為CPU(例如,圖3的CPU 302)。在某些示例性實施方式中,計算設備(CPU)可以與一個或多個諸如顯示器、導航系統(tǒng)、立體聲、娛樂中心、Wi-Fi接入點等的外圍設備耦接、連接和/或通信。在另一示例性實施方式中,如本文所使用的,術語計算設備或移動計算設備可以是指移動計算設備,諸如智能電話、移動站(MS)、終端、蜂窩電話、蜂窩手機、個人數(shù)字助理(PDA)、智能電話、無線電話、管理器、手持計算機、臺式計算機、手提電腦、平板電腦、機頂盒、電視、儀器、游戲設備、媒體設備、顯示設備或一些其他類似的術語。在示例性實施方式中,移動計算設備可以將內(nèi)容輸出到其本地顯示器和/或揚聲器。在另一示例性實施方式中,移動計算設備可以將內(nèi)容(例如在Wi-Fi上)輸出到外部顯示設備,諸如TV或外部計算系統(tǒng)。
此外,可以使用產(chǎn)生軟件、固件、硬件或其任意組合的標準的編程或工程技術以控制計算設備來實現(xiàn)公開的主題,來實現(xiàn)本文所述的各個方面。本文使用的術語“制品”旨在包含可從任何計算設備、載體或介質(zhì)訪問的計算機程序。例如,計算機可讀介質(zhì)可以包括:磁存儲設備,諸如硬盤、軟盤或磁帶;光盤,諸如壓縮盤(CD)或數(shù)字通用盤(DVD);智能卡和閃存設備,諸如卡、棒或鍵驅(qū)動。此外,應意識到可以采用載波來傳送包括用在傳送和接收諸如電子郵件(e-mail)的電子數(shù)據(jù)中或訪問諸如互聯(lián)網(wǎng)或局域網(wǎng)(LAN)的計算機網(wǎng)絡中的計算機可讀電子數(shù)據(jù)。當然,本領域的普通技術人員將意識到可以對該配置進行許多改進,而不背離所要求的主題的范圍或精神。
如本文所使用的,除非另有規(guī)定,使用序數(shù)形容詞“第一”、“第二”、“第三”等來描述通用目標僅指示相同目標的不同實例被參考,并不旨在隱含所述的目標必須以指定的順序,不管是時間上、空間上、排名或以任何其他方式。
本文的通信系統(tǒng)和方法的各種實施方式可以以用于由處理器執(zhí)行的非瞬時計算機可讀介質(zhì)體現(xiàn)。示例性實施方式可以用在移動計算設備,諸如智能電話或平板電腦的應用中,但也可以使用其他計算設備,諸如便攜式計算機、平板PC、互聯(lián)網(wǎng)平板、PDA、超移動PC(UMPC)等。
圖3描述根據(jù)公開技術的各種示例性實施方式的計算設備或計算設備系統(tǒng)300。圖3的某些方面可以表示測試計算機站104,如圖1和2所示。圖3的某些方面可以體現(xiàn)在被測設備101中。圖3的某些方面可以體現(xiàn)在遠程服務器116中,如圖1和2所示。圖3的某些方面可以體現(xiàn)在遠程數(shù)據(jù)庫118中,如圖1和2所示。本文的各種實施方式和方法可以體現(xiàn)在非瞬時計算機可讀介質(zhì)中,用于由處理器執(zhí)行。將理解到僅為示例目的提供計算設備300,而不是限制通信系統(tǒng)和方法的各種實施方式的范圍。
圖3的計算設備300包括處理計算機指令的中央處理單元(CPU)302;充當通信接口并且提供用于在顯示器上呈現(xiàn)視頻、圖形、圖像和文本的功能的顯示接口304。在公開技術的某些示例性實施方式中,顯示接口304可以直接連接到本地顯示器,諸如觸摸屏顯示器。在另一示例性實施方式中,可以配置顯示接口304,用于為不一定物理連接到計算設備的外部/遠程顯示器350提供數(shù)據(jù)、圖像和其他信息。例如,可以利用外圍設備監(jiān)視器來鏡像在計算設備300上呈現(xiàn)的圖形和其他信息。在某些示例性實施方式中,顯示接口304可以經(jīng)由Wi-Fi信道或其他可用網(wǎng)絡連接接口312,與外部/遠程顯示器350無線地通信。
在示例性實施方式中,網(wǎng)絡連接接口312可以被配置為通信接口,并且可以提供用于在顯示器上呈現(xiàn)視頻、圖形、圖像、文本、其他信息或其任意組合的功能。在一個示例中,通信接口可以包括:串行端口、并行端口、通用輸入輸出(GPIO)端口、游戲端口、通用串行總線(USB)、微USB端口、高清多媒體(HDMI)端口、視頻端口、音頻端口、藍牙端口、近場通信(NFC)端口、另一類似的通信接口或其任意組合。
計算設備300可以包括向鍵盤提供通信接口的鍵盤接口306。在一個示例性實施方式中,計算設備300可以包括用于連接到存在敏感顯示器307的顯示接口308。根據(jù)公開技術的某些示例性實施方式,顯示接口308可以將通信接口提供給可以或可以不與顯示器相關聯(lián)的各個設備,諸如指示設備、觸摸屏、深度相機等。
計算設備300可以被配置為經(jīng)由一個或多個輸入/輸出接口(例如鍵盤接口306、顯示接口304、顯示接口308、網(wǎng)絡連接接口312、相機接口314、聲音接口316等),使用輸入設備來允許用戶將信息捕捉到計算設備300中。輸入設備可以包括鼠標、跟蹤球、方向鍵、跟蹤板、觸摸校驗跟蹤板、存在敏感跟蹤板、存在敏感顯示器、滾輪、數(shù)碼相機、數(shù)碼攝像機、Web相機、麥克風、傳感器、智能卡等。因此,輸入設備可以與計算設備300集成或可以是單獨的設備。此外,輸入設備可以是加速計、磁強計、數(shù)碼相機、麥克風和光學傳感器。
計算設備300的示例性實施方式可以包括:向天線提供通信接口的天線接口310;向網(wǎng)絡提供通信接口,例如用于經(jīng)由互聯(lián)網(wǎng)與遠程服務器通信的網(wǎng)絡連接接口312。如上所述,顯示接口304可以與網(wǎng)絡連接接口312通信,例如以提供用于在不直接連接或附接到該系統(tǒng)的遠程顯示器上顯示的信息。在某些實施方式中,提供相機接口314,充當通信接口并且提供用于從相機捕捉數(shù)字圖像的功能。在某些實施方式中,聲音接口316被提供為用于使用麥克風將聲音轉(zhuǎn)換成電子信號以及使用揚聲器將電子信號轉(zhuǎn)換成聲音的通信接口。根據(jù)示例性實施方式,提供隨機存取存儲器(RAM)318,其中可以將計算機指令和數(shù)據(jù)存儲在易失性存儲設備中用于由CPU 302處理。
根據(jù)示例性實施方式,計算設備300包括只讀存儲器(ROM)320,其中,用于諸如基本輸入輸出(I/O)、啟動或從鍵盤接收按鍵的基本系統(tǒng)功能的不變低級系統(tǒng)代碼或數(shù)據(jù)存儲在非易失性存儲設備中。根據(jù)示例性實施方式,計算設備300包括存儲介質(zhì)322或其他適當類型的存儲器(例如諸如RAM、ROM、可編程只讀存儲器(PROM)、可擦可編程只讀存儲器(EPROM)、電可擦可編程只讀存儲器(EEPROM)、磁盤、光盤、軟盤、硬盤、可移動磁帶、閃存盤),其中文件包括操作系統(tǒng)324、應用程序326(包括例如Web瀏覽器應用、小組件或小工具引擎、兼容性測試套件應用和/或其他應用,當需要時)以及本地存儲數(shù)據(jù)文件328。根據(jù)示例性實施方式,計算設備300包括提供適當?shù)慕涣麟?AC)或直流電以對組件供電的電源330。根據(jù)示例性實施方式,計算設備300可以包括電話子系統(tǒng)332,其允許設備300在電話網(wǎng)絡上傳送和接收聲音。構(gòu)成設備和CPU 302在總線334上相互通信。
根據(jù)示例性實施方式,CPU 302具有成為計算機處理器的適當結(jié)構(gòu)。在一種配置中,計算機CPU 302可以包括多于一個處理單元。RAM 318與計算機總線334對接以在執(zhí)行諸如操作系統(tǒng)應用程序和設備驅(qū)動器的軟件程序期間向CPU 302提供快速RAM存儲。更具體地,CPU 302將計算機可執(zhí)行過程步驟從存儲介質(zhì)322或其他介質(zhì)加載到RAM 318的字段中以便執(zhí)行軟件程序。數(shù)據(jù)可以存儲在RAM 318中,其中,計算機CPU 302可以在執(zhí)行期間訪問數(shù)據(jù)。在一個示例性配置中,設備300包括至少128MB的RAM以及256MB的閃存。
存儲介質(zhì)322本身可以包括多個物理驅(qū)動單元,諸如獨立磁盤冗余陣列(RAID)、軟盤驅(qū)動、閃存、USB閃速驅(qū)動、外部硬盤驅(qū)動、拇指驅(qū)動、筆驅(qū)動、高密度數(shù)字通用盤(HD-DVD)光盤驅(qū)動、內(nèi)部硬盤驅(qū)動、藍光光盤驅(qū)動或全息圖數(shù)字數(shù)據(jù)存儲(HDDS)光盤驅(qū)動、外部小型雙列直插內(nèi)存模塊(DIMM)同步動態(tài)隨機存取存儲器(SDRAM)或外部微DIMM SDRAM。這樣的計算機可讀存儲介質(zhì)允許被測設備訪問存儲在可移動或不可移動存儲介質(zhì)上的計算機可執(zhí)行過程步驟、應用程序等,以從被測設備卸載數(shù)據(jù)或?qū)?shù)據(jù)加載到被測設備上。諸如在通信系統(tǒng)上利用的計算機程序產(chǎn)品可以有形地體現(xiàn)在存儲介質(zhì)322中,其可以包括機器可讀存儲介質(zhì)。
根據(jù)一個示例性實施方式,如本文所使用的,術語計算設備可以是CPU或概念化為CPU(例如,圖3的CPU 302)。在該示例性實施方式中,計算設備(CPU)可以與諸如顯示器或被測設備的一個或多個外圍設備耦接、連接和/或通信。在另一示例性實施方式中,如本文所使用的,術語計算設備可以是指諸如智能電話、平板電腦等的被測設備。在該示例性實施方式中,計算設備可以將內(nèi)容輸出到其本地顯示器和/或揚聲器。在另一示例性實施方式中,計算設備可以將內(nèi)容(例如在Wi-Fi上)輸出到外部顯示設備,諸如TV或外部計算系統(tǒng)。
現(xiàn)在,將參考圖4的流程圖描述用于設備兼容性測試和報告的示例性方法400。可以由圖1-2的測試計算機站104執(zhí)行方法400。根據(jù)示例性實施方式的方法400包括由與被測設備101通信的測試計算機站104輸出402用于在被測設備101上執(zhí)行多個驗證測試的指令。方法400包括測試計算機站104從被測設備101接收404結(jié)果指示以及對應于多個驗證測試中的每一個的相應的驗證測試標識符。響應于接收結(jié)果指示,方法400包括由測試計算機站104生成406用于多個驗證測試中的每一個的壓縮測試結(jié)果,其中壓縮測試結(jié)果中的每一個包括壓縮驗證測試標識符,并且由測試計算機站104將至少一部分壓縮測試結(jié)果與未壓縮設備信息組合成簡化的數(shù)據(jù)報告112。方法400包括由與測試計算機站104和遠程服務器116通信的計算機網(wǎng)絡114將簡化的數(shù)據(jù)報告112發(fā)送408到遠程服務器116。
圖4的方法400包括從遠程服務器116并且響應于指示所有多個驗證測試均通過的簡化的數(shù)據(jù)報告112而接收410用于被測設備101的證書的指示的可選步驟。
某些示例性實施方式包括具有用于存儲數(shù)據(jù)和計算機可執(zhí)行指令的存儲器318、320、322,以及與存儲器318、320、322通信的至少一個處理器302的系統(tǒng),至少一個處理器302進一步被配置為執(zhí)行計算機可執(zhí)行指令以使系統(tǒng)300至少執(zhí)行如圖4所示的過程步驟402-408。
在某些示例性實施方式中,生成壓縮測試結(jié)果包括將散列函數(shù)應用于包括某些驗證測試指示符的簽名108。
根據(jù)公開技術的示例性實施方式,簡化的數(shù)據(jù)報告112可以進一步包括對應于被測設備的未壓縮設備標識符。在某些示例性實施方式中,僅將測試標識符信息散列,以及不將標識特定OEM和/或設備的任何信息散列,防止被公開共享。
在示例性實施方式中,測試結(jié)果指示106可以包括用于任何失敗驗證測試的調(diào)試信息,以及可以在反饋過程200中利用這樣的信息來修復與失敗測試相關聯(lián)的任何問題。在示例性實施方式中,簡化的數(shù)據(jù)報告112排除調(diào)試信息。
根據(jù)公開技術的示例性實施方式,測試結(jié)果指示106能包括用于多個驗證測試的某些報頭信息。在某些示例性實施方式中,不將報頭信息散列。在示例性實施方式中,簡化的數(shù)據(jù)報告112能排除至少一部分報頭信息。
根據(jù)公開技術的示例性實施方式,將壓縮驗證測試標識符包括在簡化的數(shù)據(jù)報告中指示被測設備通過相應的驗證測試。
在某些示例性實施方式中,多個驗證測試可以包括確定被測設備與操作操作的兼容性的至少一個測試。
在示例性實施方式中,用于在被測設備上執(zhí)行多個驗證測試的指令可以包括二進制格式化的指令。
在某些示例性實施方式中,驗證測試標識符和簡化的數(shù)據(jù)報告包括文本字符。在示例性實施方式中,驗證測試標識符包括第一數(shù)量的文本字符,并且其中,簡化的數(shù)據(jù)報告包括第二數(shù)量的文本字符,其中,第二數(shù)量少于第一數(shù)量的百分之九十(90%)。
在示例性實施方式中,由與測試計算機站104和遠程服務器116通信的計算機網(wǎng)絡114將簡化的數(shù)據(jù)報告112發(fā)送408到遠程服務器116可以基于從測試結(jié)果指示106確定多個驗證測試中的每一個均通過。
公開技術的某些示例性實施方式能包括本文所公開的各個示例性實施方式的任意置換和/或組合。例如,多個驗證測試包括確定被測設備與操作系統(tǒng)的兼容性的至少一個測試。該“兼容性”特征可以進一步包括參考圖4討論的方法400的步驟402-410中的一個或多個。在某些示例性實施方式中,該“兼容性”特征和/或與其他公開特征的組合可以包括排除報頭信息的至少一部分的簡化的數(shù)據(jù)報告或可以與其一起使用。在某些示例性實施方式中,該“兼容性”特征和/或與其他公開的特征的組合可以包括結(jié)果指示包括用于多個驗證測試的報頭信息的實施方式或與其一起使用。在某些示例性實施方式中,該“兼容性”特征和/或與其他公開的特征的組合可以包括將壓縮的測試結(jié)果組合成將至少一部分未壓縮的報頭信息包括在簡化的數(shù)據(jù)報告中的簡化的數(shù)據(jù)報告。在某些示例性實施方式中,該“兼容性”特征和/或與其他公開的特征的組合可以包括結(jié)果指示包括用于任何失敗的驗證測試的調(diào)試信息、以及其中簡化的數(shù)據(jù)報告排除調(diào)試信息的實施方式或與其一起使用。在某些示例性實施方式中,該“兼容性”特征和/或與其他公開的特征的組合可以包括設備信息包括被測設備的硬件組件信息的實施方式或與其一起使用。在某些示例性實施方式中,該“兼容性”特征和/或與其他公開的特征的組合可以包括設備信息包括對應于被測設備的型號信息的實施方式或與其一起使用。在某些示例性實施方式中,該“兼容性”特征和/或與其他公開的特征的組合可以包括將散列函數(shù)應用于驗證測試標識符生成對應于各驗證測試的測試簽名的實施方式或與其一起使用。在某些示例性實施方式中,該“兼容性”特征和/或與其他公開的特征的組合可以包括生成壓縮的測試結(jié)果包括將散列函數(shù)應用于驗證測試標識符的實施方式或與其一起使用。
現(xiàn)在,將參考圖5的流程圖描述用于設備兼容性報告和驗證的示例性方法500。可以由圖1-2并且在圖3中體現(xiàn)的遠程服務器116執(zhí)行方法500。根據(jù)示例性實施方式的方法500包括在遠程服務器116處接收502簡化的數(shù)據(jù)報告112,其中簡化的數(shù)據(jù)報告112包括對應于在被測設備101上運行的多個驗證測試中的每一個的壓縮結(jié)果指示和驗證測試標識符的多個集合。簡化的數(shù)據(jù)報告112還包括未壓縮的設備信息,諸如設備型號、類或部件標識符。方法500包括將接收的簡化的數(shù)據(jù)報告112存儲504在遠程服務器116的存儲器318中。方法500包括由與遠程服務器116處的存儲器318通信的處理器302解壓縮506壓縮的結(jié)果指示和驗證測試標識符,并且由其未壓縮的副本替換壓縮結(jié)果指示和驗證測試標識符的每一集合以產(chǎn)生解壓縮文件。方法500包括由遠程服務器116處的處理器302并且從解壓縮的文件確定508所有多個驗證測試是否通過。響應于確定所有多個驗證測試均通過,方法500包括由遠程服務器116處的處理器302生成證書204,并且由計算機網(wǎng)絡114將證書204的指示發(fā)送到測試計算機站104。
在某些示例性實施方式中,生成證書204包括準備表明由被測設備101表示的型號與操作生態(tài)系統(tǒng)兼容使用的記錄。
在某些示例性實施方式中,簡化的數(shù)據(jù)報告112包括未壓縮的測試報告信息和壓縮的驗證測試標識符和測試結(jié)果的組合。驗證測試標識符和測試結(jié)果對應于在被測設備101上運行的多個驗證測試中的每一個。
某些示例性實施方式能通過從簡化的數(shù)據(jù)報告112提取壓縮的結(jié)果指示加上驗證測試標識符來執(zhí)行解壓縮506,在數(shù)據(jù)庫118中搜索匹配的未壓縮的結(jié)果指示和驗證測試指示符對,并且由來自數(shù)據(jù)庫118的其解壓縮的副本替換壓縮的結(jié)果指示和驗證測試標識符。
根據(jù)公開技術的示例性實施方式,解壓縮能包括將去散列函數(shù)應用于對應于在被測設備101上運行的多個驗證測試中的每一個的壓縮結(jié)果指示和驗證測試標識符。
在示例性實施方式中,壓縮的驗證測試標識符包括在簡化的數(shù)據(jù)報告112中指示被測設備101通過相應的驗證測試。
如上關于“兼容性”特征所討論的,公開技術的某些示例性實施方式能包括本文所公開的各種示例性實施方式的任意置換和/或組合。
在公開技術的某些實施方式中,計算設備300可以包括任意數(shù)量的硬件和/或被執(zhí)行以便于任意操作的軟件應用。在示例性實施方式中,一個或多個I/O接口可以便于計算設備300與一個或多個輸入/輸出設備之間的通信。例如,通用串行總線端口、串行端口、硬驅(qū)動、CD-ROM驅(qū)動和/或一個或多個用戶接口設備,諸如顯示器、鍵盤、小鍵盤、鼠標、控制面板、觸摸屏顯示器、麥克風等,可以便于與計算設備300的用戶交互。一個或多個I/O接口可以被用來從廣泛的各種輸入設備接收或收集數(shù)據(jù)和/或用戶交互。接收的數(shù)據(jù)在公開技術的各個實施方式中(期望時)可以由一個或多個計算機處理器處理和/或存儲在一個或多個存儲設備中。
一個或多個網(wǎng)絡接口可以便于計算設備300輸入和輸出連接到一個或多個適當?shù)木W(wǎng)絡和/或連接,例如,該連接便于與該系統(tǒng)相關聯(lián)的任意數(shù)量的傳感器通信。一個或多個網(wǎng)絡接口可以進一步便于與例如局域網(wǎng)、廣域網(wǎng)、互聯(lián)網(wǎng)、蜂窩網(wǎng)絡、射頻網(wǎng)、藍牙使能網(wǎng)絡、Wi-Fi使能網(wǎng)絡、基于衛(wèi)星的網(wǎng)絡、任何有線網(wǎng)絡、任何無線網(wǎng)絡等的一個或多個適當?shù)木W(wǎng)絡連接,用于與外部設備和/或系統(tǒng)通信。
期望時,公開技術的實施方式可以包括具有比圖3中所示的組件更多或更少的組件的計算設備300。
在上文中參考根據(jù)公開技術的示例性實施方式的系統(tǒng)和方法和/或計算機程序產(chǎn)品的框圖和流程圖描述了公開技術的某些實施方式。將理解能由計算機可執(zhí)行程序指令來實現(xiàn)框圖和流程圖的一個或多個框,以及框圖和流程圖中的框的組合。同樣地,根據(jù)公開技術的一些實施方式,框圖和流程圖的一些框可以不一定需要按呈現(xiàn)的順序執(zhí)行,或可以不一定需要全部執(zhí)行。
這些計算機可執(zhí)行程序指令可以加載到通用計算機、專用計算機、處理器或其他可編程數(shù)據(jù)處理裝置來產(chǎn)生特定機器,使得在計算機、處理器或其他可編程數(shù)據(jù)處理裝置上執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖框中指定的一個或多個功能的裝置。這些計算機程序指令也可以存儲在能指引計算機或其他可編程數(shù)據(jù)處理裝置以特定方式工作的計算機可讀存儲器中,使得在計算機可讀存儲器中存儲的指令產(chǎn)生包括實現(xiàn)在流程圖框中指定的一個或多個功能的指令裝置的制品。例如,公開技術的實施方式可以提供計算機程序產(chǎn)品,具有其中體現(xiàn)計算機可讀程序代碼或程序指令的計算機可用介質(zhì),所述計算機可讀程序代碼適合被執(zhí)行以實現(xiàn)在流程圖框中指定的一個或多個功能。計算機程序指令還可以加載到計算機或其他可編程數(shù)據(jù)處理裝置上以使得在計算機或其他可編程裝置上執(zhí)行一系列操作元件或步驟以產(chǎn)生計算機實現(xiàn)的過程,使得在計算機或其他可編程裝置上執(zhí)行的指令提供用于實現(xiàn)在流程圖框中指定的功能的元件或步驟。
因此,框圖和流程圖的框支持用于執(zhí)行指定功能的裝置的組合、用于執(zhí)行指定功能的元件或步驟的組合以及用于執(zhí)行指定功能的程序指令裝置。還將理解框圖和流程圖中的每一個以及框圖和流程圖中的框的組合能由執(zhí)行指定功能、元件或步驟的專門的基于硬件的計算機系統(tǒng)或?qū)S糜布陀嬎銠C指令的組合實現(xiàn)。
在上文中,參考移動計算設備描述公開技術的某些實施方式。本領域的技術人員將意識到有若干種移動設備,通稱為能以電池運行的便攜式計算設備,但不是通常分類為膝上型電腦。例如,移動設備能包括但不限于便攜式計算機、平板PC、互聯(lián)網(wǎng)平板、PDA、超移動PC(UMPC)和智能電話。
盡管結(jié)合目前認為是最實際的內(nèi)容和各個實施方式描述公開技術的某些實施方式,應理解公開技術不是限制到公開的實施方式,而是相反,旨在覆蓋包括在所附權利要求的范圍內(nèi)的各種改進和等效布置。盡管本文采用特定術語,但它們僅以通用和描述含義使用而不是限制目的。
本撰寫的說明書使用示例來公開所公開的技術的某些實施方式,包括最佳模式,并且使得本領域的任何技術人員能夠?qū)嵺`公開技術的某些實施方式,包括制造和使用任何設備或系統(tǒng)并且執(zhí)行任何合并的方法。在權利要求中限定公開技術的某些實施方式的可專利范圍,并且所述可專利范圍可以包括本領域的技術人員能想到的其他示例。這樣的其他示例旨在權利要求的范圍內(nèi),如果它們具有與權利要求的字面語言相同的結(jié)構(gòu)元件,或如果它們包括與權利要求的字面語言無實質(zhì)區(qū)別的等效的結(jié)構(gòu)元件。