應(yīng)用程序測試方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機技術(shù),尤其涉及一種應(yīng)用程序測試方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前,在對智能終端的應(yīng)用程序進(jìn)行自動化測試時,通常是針對一個智能終端錄制一個測試程序;比如,針對不同安卓操作系統(tǒng)版本的智能手機,在測試一個應(yīng)用程序時,需要針對上述不同的手機分別錄制對應(yīng)的測試程序。如果一款產(chǎn)品(比如一個應(yīng)用程序)需要適配100款適配手機,就需要人工在100臺手機上錄制自動化測試腳本;且在對上述100臺手機測試結(jié)束之后,還需要人工在上述100臺手機上收集測試結(jié)果;如此以來,一款產(chǎn)品發(fā)布10個版本就需要人工進(jìn)行1000次的錄制和測試等重復(fù)性工作,費時費力。且目前的安卓操作系統(tǒng)手機全球已有幾億臺之多,因此,如何將自動化測試移植并適配大量智能終端成為一個亟待解決的問題。
【發(fā)明內(nèi)容】
[0003]鑒于以上內(nèi)容,有必要提供一種應(yīng)用程序測試方法及系統(tǒng),以達(dá)到錄制一次測試程序即可移植適配多種機型終端的目的。
[0004]本發(fā)明實施例公開了一種應(yīng)用程序測試方法,包括以下步驟:
[0005]測試終端響應(yīng)錄制指令,采用進(jìn)程注入的方式將錄制程序注入待測試的一應(yīng)用程序中;
[0006]測試終端基于所述錄制程序錄制所述應(yīng)用程序執(zhí)行預(yù)設(shè)操作事件的過程,得到測試所述應(yīng)用程序所需的測試程序,并將所述測試程序發(fā)送至服務(wù)器,以使服務(wù)器將接收的所述測試程序發(fā)送至目標(biāo)終端并接收所述目標(biāo)終端執(zhí)行所述測試程序返回的測試結(jié)果。
[0007]本發(fā)明實施例還公開了一種應(yīng)用程序測試方法,包括以下步驟:
[0008]測試終端響應(yīng)錄制指令,對待測試的一應(yīng)用程序注入錄制程序,并基于所述錄制程序錄制所述應(yīng)用程序執(zhí)行預(yù)設(shè)操作事件的過程,得到測試所述應(yīng)用程序所需的測試程序,將所述測試程序發(fā)送至服務(wù)器;
[0009]服務(wù)器接收測試終端發(fā)送的所述測試程序,將所述測試程序發(fā)送至目標(biāo)終端;
[0010]目標(biāo)終端接收服務(wù)器發(fā)送的所述測試程序,執(zhí)行所述測試程序,將執(zhí)行所述測試程序得到的測試數(shù)據(jù)返回至服務(wù)器。
[0011]本發(fā)明實施例還公開一種測試終端,包括:
[0012]程序注入模塊,用于響應(yīng)錄制指令,采用進(jìn)程注入的方式將錄制程序注入待測試的一應(yīng)用程序中;
[0013]程序錄制模塊,用于基于所述錄制程序錄制所述應(yīng)用程序執(zhí)行預(yù)設(shè)操作事件的過程,得到測試所述應(yīng)用程序所需的測試程序,并將所述測試程序發(fā)送至所述服務(wù)器,以使服務(wù)器將接收的所述測試程序發(fā)送至目標(biāo)終端并接收所述目標(biāo)終端執(zhí)行所述測試程序返回的測試結(jié)果。
[0014]本發(fā)明實施例還公開了一種應(yīng)用程序測試系統(tǒng),包括目標(biāo)終端和服務(wù)器;還包括如上所述的測試終端;其中,
[0015]所述測試終端用于:響應(yīng)錄制指令,對待測試的一應(yīng)用程序注入錄制程序,并基于所述錄制程序錄制所述應(yīng)用程序執(zhí)行預(yù)設(shè)操作事件的過程,得到測試所述應(yīng)用程序所需的測試程序,將所述測試程序發(fā)送至服務(wù)器;
[0016]所述服務(wù)器用于:接收測試終端發(fā)送的所述測試程序,將所述測試程序發(fā)送至目標(biāo)終端;
[0017]所述目標(biāo)終端用于:接收服務(wù)器發(fā)送的所述測試程序,執(zhí)行所述測試程序,將執(zhí)行所述測試程序得到的測試數(shù)據(jù)返回至服務(wù)器。
[0018]本發(fā)明實施例測試終端響應(yīng)錄制指令,采用進(jìn)程注入的方式將錄制程序注入待測試的一應(yīng)用程序中;測試終端基于所述錄制程序錄制所述應(yīng)用程序執(zhí)行預(yù)設(shè)操作事件的過程,得到測試所述應(yīng)用程序所需的測試程序,并將所述測試程序發(fā)送至服務(wù)器,以使服務(wù)器將接收的所述測試程序發(fā)送至目標(biāo)終端并接收所述目標(biāo)終端執(zhí)行所述測試程序返回的測試結(jié)果;相較于現(xiàn)有技術(shù)中,針對不同的目標(biāo)終端需分別錄制相應(yīng)的測試程序,本發(fā)明實施例具有錄制一次測試程序即可移植適配多種機型終端的有益效果,節(jié)約了測試時間,降低了測試成本,提高了測試效率。
【附圖說明】
[0019]圖1是本發(fā)明應(yīng)用程序測試方法及系統(tǒng)運行環(huán)境一實施例系統(tǒng)架構(gòu)示意圖;
[0020]圖2是本發(fā)明應(yīng)用程序測試方法第一實施例流程示意圖;
[0021]圖3是本發(fā)明應(yīng)用程序測試方法中對待測試的應(yīng)用程序注入錄制程序一實施例流程示意圖;
[0022]圖4是本發(fā)明應(yīng)用程序測試方法中測試終端注入錄制程序一實施例用戶操作界面示意圖;
[0023]圖5是本發(fā)明應(yīng)用程序測試方法第二實施例流程示意圖;
[0024]圖6是本發(fā)明應(yīng)用程序測試方法中服務(wù)器下發(fā)測試程序至目標(biāo)終端一實施例流程TJK意圖;
[0025]圖7是本發(fā)明測試終端一實施例功能模塊示意圖;
[0026]圖8是本發(fā)明應(yīng)用程序測試系統(tǒng)一實施例功能模塊示意圖。
[0027]本發(fā)明實施例目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進(jìn)一步說明。
【具體實施方式】
[0028]以下結(jié)合說明書附圖及具體實施例進(jìn)一步說明本發(fā)明的技術(shù)方案。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0029]如圖1所示,本發(fā)明實施例應(yīng)用程序測試方法及系統(tǒng)中,測試終端100上安裝移植適配自動化測試工具,利用上述移植適配自動化測試工具以進(jìn)程注入的方式將錄制程序注入待測試的一應(yīng)用程序(以下簡稱為“被測應(yīng)用程序”)中,基于注入的錄制程序,測試終端100抓取被測應(yīng)用程序中操作控件的控件信息,并錄制被測應(yīng)用程序執(zhí)行預(yù)設(shè)操作事件的執(zhí)行過程,從而生成對應(yīng)的測試程序;上述錄制過程只需執(zhí)行一次,即只需錄制一次測試程序即可。錄制完成后,測試終端100將錄制的測試程序上傳至服務(wù)器200,服務(wù)器200則自動將上述測試程序下發(fā)至各目標(biāo)終端300 (圖1中以3個目標(biāo)終端示意),供目標(biāo)終端300自動運行測試程序并測試對應(yīng)的被測應(yīng)用程序,在目標(biāo)終端300測試結(jié)束后,目標(biāo)終端300將測試結(jié)果返回至服務(wù)器200 ;服務(wù)器200統(tǒng)一收集各目標(biāo)終端300的測試數(shù)據(jù)。比如,測試同一款產(chǎn)品發(fā)布的10個版本,利用本發(fā)明實施例應(yīng)用程序的測試方法,則僅需測試終端100錄制10次得到10個對應(yīng)的測試程序,而服務(wù)器200對多個目標(biāo)終端300分別下發(fā)上述10個測試程序;也就是說,不管目標(biāo)終端300有多少個,上述整個測試過程,對測試程序僅需錄制10次即可;節(jié)約了測試時間,降低了測試成本,提高了測試效率。
[0030]本發(fā)明實施例提供一種應(yīng)用程序測試方法第一實施例;如圖2所示,本發(fā)明應(yīng)用程序測試方法包括:
[0031]步驟S01、測試終端響應(yīng)錄制指令,采用進(jìn)程注入的方式將錄制程序注入待測試的一應(yīng)用程序中;
[0032]本發(fā)明實施例中,對應(yīng)用程序進(jìn)行測試之前,測試終端需要對待測試的應(yīng)用程序錄制對應(yīng)的測試程序;其中,針對相同版本的同一應(yīng)用程序,測試終端僅需錄制一次測試程序即可。進(jìn)一步地,本實施例中,測試終端可以預(yù)先安裝一移植適配自動化測試工具,利用上述測試工具錄制對應(yīng)的測試程序。
[0033]測試終端響應(yīng)錄制指令;比如,測試終端接收到用戶基于測試終端提供的用戶操作界面觸發(fā)的錄制指令時,響應(yīng)用戶觸發(fā)的錄制指令,獲取上述錄制指令所指向的待測試的一應(yīng)用程序;測試終端采用進(jìn)程注入的方式將錄制程序注入上述待測試的應(yīng)用程序中;其中,在注入錄制程序時,該待測試的應(yīng)用程序已經(jīng)開始運行。
[0034]步驟S02、測試終端基于所述錄制程序錄制所述應(yīng)用程序執(zhí)行預(yù)設(shè)操作事件的過程,得到測試所述應(yīng)用程序所需的測試程序,并將所述測試程序發(fā)送至服務(wù)器,以使服務(wù)器將接收的所述測試程序發(fā)送至目標(biāo)終端并接收所述目標(biāo)終端執(zhí)行所述測試程序返回的測試結(jié)果。
[0035]利用注入的錄制程序,測試終端錄制該應(yīng)用程序執(zhí)行預(yù)設(shè)操作事件的過程;比如,測試終端錄制該應(yīng)用程序執(zhí)行用戶基于該應(yīng)用程序提供的操作控件所觸發(fā)的操作事件。上述預(yù)設(shè)操作事件包括針對同一應(yīng)用程序預(yù)先設(shè)置的不同的操作事件,以及針對同一應(yīng)用程序?qū)?yīng)的不同版本之間預(yù)先設(shè)置的不同的操作事件,以及錄制時該應(yīng)用程序基于用戶觸發(fā)的操作指令所執(zhí)行的對應(yīng)的操作事件等;上述預(yù)設(shè)操作事件可以由測試人員進(jìn)行預(yù)先設(shè)置,也可以在錄制時根據(jù)測試人員觸發(fā)的操作指令生成對應(yīng)的操作事件,本實施例對上述預(yù)設(shè)操作事件的具體類型及具體內(nèi)容不做限定。
[0036]測試終端利用注入的錄制程序?qū)ι鲜鰬?yīng)用程序執(zhí)行預(yù)設(shè)操作事件錄制完成后,生成測試該應(yīng)用程序所需的測試程序,并將得到的測試程序發(fā)送至服務(wù)器,供服務(wù)器管理上述測試程序。其中,上述測試程序能夠以自動化測試腳本的形式自動運行。比如,測試終端將生成的測試程序發(fā)送至服務(wù)器后,服務(wù)器將接收的所述測試程序發(fā)送至目標(biāo)終端,并接收所述目標(biāo)終端執(zhí)行所述測試程序所返回的測試結(jié)果。
[0037]在本發(fā)明一優(yōu)選實施例中,測試終端基于所述應(yīng)用程序執(zhí)行所述預(yù)設(shè)操作事件的同時,利用錄制程序獲取待測試的應(yīng)用程序?qū)?yīng)的操作控件的控件信息。由于各目標(biāo)終端可能會出現(xiàn)屏幕大小不同或者操作系統(tǒng)版本不同,因此均導(dǎo)致同一應(yīng)用程序運行時,在目標(biāo)終端的用戶操作界面上對應(yīng)的坐標(biāo)位置不同;因此,測試終端可以利用上述應(yīng)用程序在用戶操作界面上顯示所對應(yīng)的操作控件的