一種應用程序的測試方法和裝置制造方法
【專利摘要】本發(fā)明實施例公開了一種應用程序的測試方法和裝置,涉及通信領域,用以解決當終端的操作系統(tǒng)升級后,對未升級的應用程序進行重復測試的問題。在本發(fā)明實施例中,獲取預先生成的終端應用程序列表的最新記錄和歷史記錄,最新記錄記錄運行于當前版本操作系統(tǒng)中的每個應用程序的包名和版本信息,歷史記錄記錄運行于歷史版本操作系統(tǒng)中的每個應用程序的包名和版本信息;對比終端應用程序列表的最新記錄和歷史記錄,確定最新記錄中與歷史記錄相同包名且版本信息不同的應用程序和/或新增的應用程序為目標應用程序;從而解決了上述問題。
【專利說明】一種應用程序的測試方法和裝置
【技術領域】
[0001] 本發(fā)明涉及通信領域,尤其涉及一種應用程序的測試方法和裝置。
【背景技術】
[0002] 目前大部分的終端采用Android (安卓)操作系統(tǒng),而Android系統(tǒng)的開源特性決 定了終端中的應用程序具有多樣性且數(shù)量眾多,隨著終端功能的愈加復雜,終端中的應用 程序的數(shù)量也不斷增加。
[0003] 目前對終端進行測試時,需要對安裝在終端中的每一個應用程序進行測試,當安 裝在終端中的應用程序越來越多時,這就導致了終端的測試時間不斷延長。現(xiàn)有技術中的 測試方法可以使用Android自帶的或是通過二次開發(fā)形成的自動化測試框架對應用程序 進行測試,但是這類測試方法大多是針對終端的基本功能、性能和穩(wěn)定性進行測試。
[0004] 當終端的操作系統(tǒng)升級后,安裝在該終端中的應用程序有可能也發(fā)生了變化(如 刪除、新增或升級),使用現(xiàn)有技術中的測試方法對升級后的終端進行測試時,會對多個應 用程序重新進行測試,而其中某些未升級的應用程序可能在升級前的版本上已經(jīng)進行過測 試,這就導致了大量的重復測試工作,增加了測試時間。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實施例提供一種應用程序的測試方法和裝置,當終端的操作系統(tǒng)升級后, 可以避免對未升級的應用程序進行重復測試。
[0006] 本發(fā)明實施例提供一種應用程序的測試方法,該方法包括:
[0007] 獲取預先生成的終端應用程序列表的最新記錄和歷史記錄,所述最新記錄記錄運 行于當前版本操作系統(tǒng)中的每個應用程序的包名和版本信息,所述歷史記錄記錄運行于歷 史版本操作系統(tǒng)中的每個應用程序的包名和版本信息;
[0008] 對比所述終端應用程序列表的最新記錄和歷史記錄,確定所述最新記錄中與歷史 記錄相同包名且版本信息不同的應用程序和/或新增的應用程序為目標應用程序;
[0009] 對所述目標應用程序進行測試。
[0010] 本發(fā)明實施例還提供一種應用程序測試裝置,該裝置包括:
[0011] 記錄獲取單元,用于獲取預先生成的終端應用程序列表的最新記錄和歷史記錄, 所述最新記錄記錄運行于當前版本操作系統(tǒng)中的每個應用程序的包名和版本信息,所述歷 史記錄記錄運行于歷史版本操作系統(tǒng)中的每個應用程序的包名和版本信息;
[0012] 判斷單元,用于對比所述終端應用程序列表的最新記錄和歷史記錄,確定所述最 新記錄中與歷史記錄相同包名且版本信息不同的應用程序和/或新增的應用程序為目標 應用程序;
[0013] 測試單元,用于對所述目標應用程序進行測試。
[0014] 從上述技術方案可以看出,當某一終端的操作系統(tǒng)由歷史版本升級到當前版本 時,本發(fā)明實施例能夠獲取到終端中的終端應用程序列表的最新記錄(即,在當前版本下 的終端應用程序列表),還能獲取到終端中的終端應用程序列表的歷史記錄(即,在歷史版 本下的終端應用程序列表),由于終端的操作系統(tǒng)的升級可能造成應用程序的變化(如刪 除、新增或升級),本發(fā)明實施例能夠獲取并對比同一應用程序在最新記錄和歷史記錄中的 版本信息,從而確定出最新記錄中與歷史記錄相同包名且版本信息不同的應用程序,并進 一步只對確定出的目標應用程序進行測試;本發(fā)明實施例還能夠確定出新增的應用程序, 并進一步對確定出的新增的應用程序進行測試;從而避免了對版本信息相同的同一應用進 行重復測試,節(jié)省了測試時間,提高了測試效率。
【專利附圖】
【附圖說明】
[0015] 為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使 用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本 領域的普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其 他的附圖。
[0016] 圖I (a)為本發(fā)明實施例提供的由網(wǎng)絡側和終端組成的系統(tǒng)構架的示意圖;
[0017] 圖1(b)為本發(fā)明實施例提供的由服務器、PC端和智能電視組成的系統(tǒng)構架的示 意圖;
[0018] 圖2為本發(fā)明實施例提供的一種應用程序的測試方法的流程示意圖;
[0019] 圖3為本發(fā)明實施例提供的智能電視測試方法的流程示意圖;
[0020] 圖4為本發(fā)明實施例提供的應用程序信息對比篩選過程的示意圖;
[0021] 圖5為本發(fā)明實施例提供的一種應用程序測試裝置的結構示意圖。
【具體實施方式】
[0022] 為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明作進 一步地詳細描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施 例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的 所有其它實施例,都屬于本發(fā)明保護的范圍。
[0023] 本發(fā)明實施例可以應用于由網(wǎng)絡側和終端組成的系統(tǒng)構架中,圖1(a)示出了本 發(fā)明實施例提供的由網(wǎng)絡側和終端組成的系統(tǒng)構架的示意圖,其中,網(wǎng)絡側11至少包括服 務器設備,終端12可以是智能手機、智能電視或平板電腦等設備;特別的,圖I (b)示出了本 發(fā)明實施例提供的由服務器、PC端和智能電視組成的系統(tǒng)構架的示意圖,如圖1(b)所示, 本發(fā)明實施例還適用于由服務器13、PC端14和智能電視15組成的系統(tǒng)構架中,其中,PC 端與智能電視進行信息交互、PC端與服務器進行信息交互。具體的,PC端用于獲取智能電 視中的應用程序信息等并根據(jù)獲取到的信息生成終端應用程序列表,還用于將已生成的終 端應用程序列表的最新記錄上傳到服務器;服務器用于接收PC端上傳的終端應用程序列 表的最新記錄,并保存終端應用程序列表的歷史記錄。
[0024] 圖2示出了本發(fā)明實施例提供的一種應用程序的測試方法的流程示意圖,如圖2 所示,該方法包括:
[0025] 步驟21 :獲取預先生成的終端應用程序列表的最新記錄和歷史記錄。
[0026] 具體的,上述最新記錄記錄運行于當前版本操作系統(tǒng)中的每個應用程序的包名和 版本信息,上述歷史記錄記錄運行于歷史版本操作系統(tǒng)中的每個應用程序的包名和版本信 息。
[0027] 步驟22 :對比上述終端應用程序列表的最新記錄和歷史記錄,確定上述最新記錄 中與歷史記錄相同包名且版本信息不同的應用程序和/或新增的應用程序為目標應用程 序。
[0028] 步驟23 :對上述目標應用程序進行測試。
[0029] 可選的,在上述步驟21?步驟22中,應用程序的版本信息至少包括應用程序的版 本校驗碼。
[0030] 一般來說,應用程序的版本校驗碼通過預設的數(shù)學關系得到唯一標識碼,終端的 應用程序系統(tǒng)內(nèi)部可以預先設置根據(jù)預設的校驗方法所導出的校驗公式編制成的校驗程 序,也可以通過其他終端攜帶的效驗程序記錄待測終端的應用程序的效驗碼。
[0031] 可選的,在上述步驟中,通過如下步驟生成終端應用程序列表的最新記錄:檢測到 上述終端的操作系統(tǒng)升級后獲取每個應用程序的包名和代碼路徑;根據(jù)上述代碼路徑生成 對應的應用程序的版本校驗碼;根據(jù)獲取到的每個應用程序的包名和版本校驗碼,生成終 端應用程序列表的最新記錄。
[0032] 可選的,在上述步驟中,在根據(jù)獲取到的每個應用程序的包名和版本校驗碼的步 驟之后,將操作系統(tǒng)升級前的終端應用程序列表的最新記錄作為終端應用程序列表的一條 歷史記錄進行保存。
[0033] 可選的,在上述步驟中,在上述確定上述最新記錄中與歷史記錄相同包名且版本 信息不同的應用程序和/或新增的應用程序為目標應用程序的步驟之后還包括:獲取升級 應用程序在上述最新記錄中的版本號和在上述歷史記錄中的版本號,上述升級應用程序為 上述具有相同包名且版本信息不同的應用程序;判斷上述升級應用程序在最新記錄中的版 本號和上述歷史記錄中的版本號是否相同,若相同,則將上述升級應用程序的測試優(yōu)先級 確定為低;若不同,則將上述升級應用程序的測試優(yōu)先級確定為高。
[0034] 下面對本發(fā)明實施例進行詳細描述。
[0035] 當終端(如智能電視)的操作系統(tǒng)(如Android操作系統(tǒng))由版本4. 0升級到版 本5. 0時,安裝于終端中的APP可能發(fā)生變化,如APP版本升級、APP刪除或新增。通常的, 當終端的操作系統(tǒng)升級后,測試人員會對升級后的操作系統(tǒng)中的APP逐一進行測試,然而, 使用現(xiàn)有技術需要對每一個APP進行測試,實際上,雖然終端的操作系統(tǒng)升級了,但是升級 后的終端中的APP也可能未發(fā)生變化,如果對未發(fā)生變化的APP進行測試,相當于對同一 APP的同一版本進行了重復測試,浪費了測試時間和資源。針對上述問題,本發(fā)明實施例能 夠檢測出發(fā)生變化的APP,并僅對發(fā)生變化的APP進行測試,從而節(jié)省了測試時間,提高了 測試效率。
[0036] 在本發(fā)明實施例中,應用程序(APP)的版本信息可以包括各種可以標識該應用程 序的版本的信息,例如:版本標識、版本號、版本校驗碼等等信息。其中,版本號主要由開發(fā) 人員填寫的開發(fā)版本;版本效驗碼例如MD5 (Message Digest Algorithm MD5,消息摘要算 法第五版)值是需要經(jīng)過哈希算法處理后獲取到每一個APP的唯一標識碼。一般來說,如 果APP的數(shù)據(jù)進行了升級或修改,該APP的MD5 -定會發(fā)生變化,但是版本號未必發(fā)生變 化。本發(fā)明實施例對于同一 APP,能夠區(qū)分該APP在終端操作系統(tǒng)升級前和升級后的MD5值 和版本號是否相同,若MD5發(fā)生變化,則表明該APP -定發(fā)生變化,則需要對該APP進行測 試;當MD5發(fā)生變化時,并不代表版本號一定發(fā)生變化,若版本號發(fā)生了變化,則表明該APP 改變幅度較大,此時需要加大對該APP的測試力度,若版本號未發(fā)生變化,則表明該APP改 變幅度不大,此時對該APP的測試優(yōu)先級可以降低。如果MD5未發(fā)生變化,則表明該APP沒 有任何變化,也就是說在終端操作系統(tǒng)未升級到該版本之前,已經(jīng)對該APP進行過測試了, 那么此時無需再對該APP進行重復測試。對于新增加的APP進行重點測試,對于已刪除的 APP無需測試,并作為系統(tǒng)告知用戶的信息。這樣,能夠避免對同一版本的APP進行重復測 試而浪費的測試時間??梢?,本發(fā)明實施例的主要測試對象是安裝于終端中的部分APP。需 要說明的是,本發(fā)明實施例僅以MD5作為某一應用程序的唯一標識碼為例,在實際應用時, 應用程序的唯一標識碼還可以使用其他能夠唯一標識該應用程序的標識碼。
[0037] 本發(fā)明實施例將智能電視作為被測試終端為例進行具體描述。智能電視在開發(fā)過 程中會發(fā)布多個版本系統(tǒng),集成在智能電視上的應用數(shù)量龐大,種類繁多,測試人員在測試 每個版本系統(tǒng)的應用上花費很多時間??梢酝ㄟ^本發(fā)明實施例,對比出有變化的應用程序, 向測試人員提供需要測試應用程序列表。圖3示出了本發(fā)明實施例提供的智能電視測試方 法的流程示意圖,如圖3所示,該方法可以包括:
[0038] 步驟31 :PC端建立與智能電視的通信鏈路上的連接,并建立與服務器的通信鏈路 上的連接。
[0039] 步驟32 :PC端生成并向智能電視發(fā)送用于獲取運行于該智能電視中的全部應用 程序的包名的第一指令,并接收智能電視返回的包名。
[0040] 具體實現(xiàn)時,PC端通過向智能電視發(fā)送第一指令(如系統(tǒng)應用數(shù)據(jù)收集命令)的 方式,獲取智能電視中全部的應用程序的包名,或者獲取智能電視中的包名列表。PC端接收 智能電視返回的包名或包名列表。
[0041] 步驟33 :PC端根據(jù)在步驟32中接收到的包名,依次生成用于獲取每個包名所對應 的應用程序的版本號和路徑代碼的第二指令,接收終端返回的每個應用程序的版本號和路 徑代碼。
[0042] 具體實現(xiàn)時,PC端根據(jù)在步驟32中接收到的包名,依次對每個包名所對應的應用 程序生成并發(fā)送用于獲取該應用程序詳細信息的第二指令,應用程序詳細信息可以具體包 括:應用程序的版本號和路徑代碼(path code)等信息。
[0043] 步驟34 :PC端根據(jù)在步驟33中接收到的每個應用程序的path code,依次生成用 于獲取每個應用程序的MD5值的第三指令,并接收智能電視返回的每個應用程序的MD5值。
[0044] 具體實現(xiàn)時,PC端將在步驟33中接收到的每個應用程序的path code發(fā)送給智 能電視,智能電視在接收到path code之后,根據(jù)path code計算出該應用程序的MD5值, 并將計算出的MD5值返回給PC端。
[0045] 在上述步驟32?步驟33中,PC端還可以判斷是否獲取到智能電視中的全部應用 程序的信息,若是,則繼續(xù)執(zhí)行步驟35 ;否則,重新執(zhí)行步驟32?步驟34,直到PC端獲取到 智能電視中的全部應用程序的信息。
[0046] 步驟35 :PC端根據(jù)接收到的每個應用程序?qū)陌?、版本號和MD5值,生成終端 應用程序列表的最新記錄;并將已生成的終端應用程序列表的最新記錄上傳給服務器進行 保存。
[0047] 具體實現(xiàn)時,PC端獲取到當前智能電視中的所有應用程序的包名、版本信息、詳細 信息等信息后,生成端應用程序列表的最新記錄;在生成最新記錄后,還可以通過http協(xié) 議將生成的應用程序列表的最新記錄上傳給服務器,服務器解析出每段字符串的含義,存 儲到服務器的數(shù)據(jù)庫相應字段中。其中,相關字段中的App (應用程序)字段所存儲的內(nèi)容 可以如表1所示:
[0048] 表 1
[0049]
【權利要求】
1. 一種應用程序的測試方法,其特征在于,該方法包括: 獲取預先生成的終端應用程序列表的最新記錄和歷史記錄,所述最新記錄記錄運行于 當前版本操作系統(tǒng)中的每個應用程序的包名和版本信息,所述歷史記錄記錄運行于歷史版 本操作系統(tǒng)中的每個應用程序的包名和版本信息; 對比所述終端應用程序列表的最新記錄和歷史記錄,確定所述最新記錄中與歷史記錄 相同包名且版本信息不同的應用程序和/或新增的應用程序為目標應用程序; 對所述目標應用程序進行測試。
2. 如權利要求1所述的方法,其特征在于,所述應用程序的版本信息至少包括應用程 序的版本校驗碼。
3. 如權利要求2所述的方法,其特征在于,通過如下步驟生成所述終端應用程序列表 的最新記錄: 檢測到所述終端的操作系統(tǒng)升級后獲取每個應用程序的包名和代碼路徑; 根據(jù)所述代碼路徑生成對應的應用程序的版本校驗碼; 根據(jù)獲取到的每個應用程序的包名和版本校驗碼,生成終端應用程序列表的最新記 3?〇
4. 如權利要求3所述的方法,其特征在于,在根據(jù)獲取到的每個應用程序的包名和版 本校驗碼,生成終端應用程序列表的最新記錄的步驟之后還包括: 將操作系統(tǒng)升級前的終端應用程序列表的最新記錄作為終端應用程序列表的一條歷 史記錄進行保存。
5. 如權利要求4所述的方法,其特征在于,在所述確定所述最新記錄中與歷史記錄相 同包名且版本信息不同的應用程序和/或新增的應用程序為目標應用程序的步驟之后還 包括: 獲取升級應用程序在所述最新記錄中的版本號和在所述歷史記錄中的版本號,所述升 級應用程序為所述具有相同包名且版本信息不同的應用程序; 判斷所述升級應用程序在最新記錄中的版本號和所述歷史記錄中的版本號是否相同, 若相同,則將所述升級應用程序的測試優(yōu)先級確定為低;若不同,則將所述升級應用程序的 測試優(yōu)先級確定為局; 所述對所述目標應用程序進行測試,具體包括: 根據(jù)所述目標應用程序的測試優(yōu)先級,對所述目標應用程序進行測試。
6. -種應用程序的測試裝置,其特征在于,該裝置包括: 記錄獲取單元,用于獲取預先生成的終端應用程序列表的最新記錄和歷史記錄,所述 最新記錄記錄運行于當前版本操作系統(tǒng)中的每個應用程序的包名和版本信息,所述歷史記 錄記錄運行于歷史版本操作系統(tǒng)中的每個應用程序的包名和版本信息; 判斷單元,用于對比所述終端應用程序列表的最新記錄和歷史記錄,確定所述最新記 錄中與歷史記錄相同包名且版本信息不同的應用程序和/或新增的應用程序為目標應用 程序; 測試單元,用于對所述目標應用程序進行測試。
7. 如權利要求6所述的裝置,其特征在于,所述應用程序的版本信息至少包括應用程 序的版本校驗碼。
8. 如權利要求7所述的裝置,其特征在于,該裝置還包括: 生成單元,用于檢測到所述終端的操作系統(tǒng)升級后獲取每個應用程序的包名和代碼路 徑;根據(jù)所述代碼路徑生成對應的應用程序的版本校驗碼;根據(jù)獲取到的每個應用程序的 包名和版本校驗碼,生成終端應用程序列表的最新記錄。
9. 如權利要求8所述的裝置,其特征在于,所述生成單元還用于: 在根據(jù)獲取到的每個應用程序的包名和版本校驗碼,生成終端應用程序列表的最新記 錄之后,將操作系統(tǒng)升級前的終端應用程序列表的最新記錄作為終端應用程序列表的一條 歷史記錄進行保存。
10. 如權利要求9所述的裝置,其特征在于,所述判斷單元還用于: 在所述確定所述最新記錄中與歷史記錄相同包名且版本信息不同的應用程序和/或 新增的應用程序為目標應用程序之后,獲取升級應用程序在所述最新記錄中的版本號和在 所述歷史記錄中的版本號,所述升級應用程序為所述具有相同包名且版本信息不同的應用 程序;判斷所述升級應用程序在最新記錄中的版本號和所述歷史記錄中的版本號是否相 同,若相同,則將所述升級應用程序的測試優(yōu)先級確定為低;若不同,則將所述升級應用程 序的測試優(yōu)先級確定為高; 所述測試單元具體用于;根據(jù)所述目標應用程序的測試優(yōu)先級,對所述目標應用程序 進行測試。
【文檔編號】G06F11/36GK104461873SQ201410665437
【公開日】2015年3月25日 申請日期:2014年11月19日 優(yōu)先權日:2014年11月19日
【發(fā)明者】洪旭, 朱建坤, 秦曙光, 王兆慶 申請人:青島海信電器股份有限公司