一種基于adb的軟件測(cè)試方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件測(cè)試領(lǐng)域,尤其涉及一種基于ADB的軟件測(cè)試方法和系統(tǒng)。
【背景技術(shù)】
[0002]因?yàn)锳ndroid系統(tǒng)的開放性,Android終端的機(jī)型眾多,為了保證為Android系統(tǒng)開發(fā)的應(yīng)用軟件在Android系統(tǒng)中都能正常運(yùn)行,需要在各種機(jī)型上進(jìn)行測(cè)試。
[0003]但是對(duì)于任何一個(gè)測(cè)試團(tuán)隊(duì),所能夠準(zhǔn)備的Android終端都是有限的,這樣必然導(dǎo)致測(cè)試的覆蓋率不全,特別是在進(jìn)行軟件兼容性測(cè)試時(shí),測(cè)試的樣本數(shù)量不夠;另外,測(cè)試人員在多個(gè)Android終端上分別進(jìn)行測(cè)試,大量重復(fù)性的操作,耗費(fèi)時(shí)間。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提出了一種基于ADB的軟件測(cè)試方法和系統(tǒng),其通過任務(wù)服務(wù)器向控制服務(wù)器發(fā)送軟件測(cè)試任務(wù),控制服務(wù)器通過ADB將軟件測(cè)試任務(wù)發(fā)送到Android終端后開始測(cè)試,實(shí)現(xiàn)了向多個(gè)測(cè)試對(duì)象快速下發(fā)軟件測(cè)試任務(wù),節(jié)約了測(cè)試時(shí)間。
[0005]為實(shí)現(xiàn)上述設(shè)計(jì),本發(fā)明采用以下技術(shù)方案:
[0006]一方面采用一種基于ADB的軟件測(cè)試方法,包括:
[0007]任務(wù)服務(wù)器向控制服務(wù)器發(fā)送軟件測(cè)試任務(wù);
[0008]控制服務(wù)器接收所述軟件測(cè)試任務(wù)并通過ADB將軟件測(cè)試任務(wù)發(fā)送到Android終端;
[0009]Android終端收到所述軟件測(cè)試任務(wù)后執(zhí)行軟件測(cè)試任務(wù),生成軟件測(cè)試任務(wù)的測(cè)試結(jié)果。
[0010]另一方面采用一種基于ADB的軟件測(cè)試系統(tǒng),包括任務(wù)服務(wù)器、控制服務(wù)器和Android 終端;
[0011]所述任務(wù)服務(wù)器,用于向控制服務(wù)器發(fā)送軟件測(cè)試任務(wù);
[0012]所述控制服務(wù)器,用于接收所述軟件測(cè)試任務(wù)并通過ADB將軟件測(cè)試任務(wù)發(fā)送到Android 終端;
[0013]所述Android終端,用于收到所述軟件測(cè)試任務(wù)后執(zhí)行軟件測(cè)試任務(wù),生成軟件測(cè)試任務(wù)的測(cè)試結(jié)果。
[0014]本發(fā)明的有益效果在于:任務(wù)服務(wù)器向控制服務(wù)器發(fā)送軟件測(cè)試任務(wù);控制服務(wù)器通過ADB將軟件測(cè)試任務(wù)發(fā)送到Android終端;Android終端收到所述軟件測(cè)試任務(wù)后執(zhí)行軟件測(cè)試任務(wù),任務(wù)服務(wù)器經(jīng)由控制服務(wù)器,一次向多個(gè)Android終端發(fā)送軟件測(cè)試任務(wù),能夠?qū)刂品?wù)器上連接的多個(gè)Android終端進(jìn)行測(cè)試,測(cè)試的樣本的數(shù)量多,節(jié)約測(cè)試時(shí)間。
【附圖說明】
[0015]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)本發(fā)明實(shí)施例的內(nèi)容和這些附圖獲得其他的附圖。
[0016]圖1是本發(fā)明實(shí)施例提供的一種基于ADB的軟件測(cè)試方法的第一個(gè)實(shí)施例的方法流程圖。
[0017]圖2是本發(fā)明實(shí)施例提供的一種基于ADB的軟件測(cè)試方法的第二個(gè)實(shí)施例的方法流程圖。
[0018]圖3是本發(fā)明實(shí)施例提供的一種基于ADB的軟件測(cè)試方法的第三個(gè)實(shí)施例的方法流程圖。
[0019]圖4是本發(fā)明實(shí)施例提供的一種基于ADB的軟件測(cè)試系統(tǒng)的第一個(gè)實(shí)施例的結(jié)構(gòu)方框圖。
[0020]圖5是本發(fā)明實(shí)施例提供的一種基于ADB的軟件測(cè)試系統(tǒng)的第三個(gè)實(shí)施例的結(jié)構(gòu)方框圖。
[0021]圖6是本發(fā)明實(shí)施例所涉及的設(shè)備結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0022]為使本發(fā)明解決的技術(shù)問題、采用的技術(shù)方案和達(dá)到的技術(shù)效果更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施例的技術(shù)方案作進(jìn)一步的詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0023]請(qǐng)參考圖1,其是本發(fā)明實(shí)施例提供的基于ADB的軟件測(cè)試方法的第一個(gè)實(shí)施例的方法流程圖。本實(shí)施例的基于ADB的軟件測(cè)試方法主要應(yīng)用于各種為Android系統(tǒng)開發(fā)的應(yīng)用軟件的測(cè)試,能夠一次為多個(gè)Android終端,例如Android手機(jī)、Android平板電腦、Android智能電視等。
[0024]如圖1所示,該基于ADB的軟件測(cè)試方法,包括:
[0025]步驟S101:任務(wù)服務(wù)器向控制服務(wù)器發(fā)送軟件測(cè)試任務(wù)。
[0026]在現(xiàn)有的軟件測(cè)試過程中,測(cè)試人員一次只能通過計(jì)算機(jī)對(duì)一個(gè)Android終端進(jìn)行操作,雖然將被測(cè)軟件的apk和自動(dòng)化測(cè)試腳本的apk安裝到Android終端后即可進(jìn)行自動(dòng)化測(cè)試,但是對(duì)每個(gè)Android終端都單獨(dú)進(jìn)行操作依然會(huì)在軟件測(cè)試,特別是在進(jìn)行軟件兼容性測(cè)試耗費(fèi)大量的人工時(shí)間。
[0027]而任務(wù)服務(wù)器向控制服務(wù)器則實(shí)現(xiàn)了任務(wù)的批量派發(fā),直接通過網(wǎng)絡(luò)向連有Android終端的控制服務(wù)器發(fā)送軟件測(cè)試任務(wù),通過網(wǎng)絡(luò)對(duì)多個(gè)Android終端進(jìn)行測(cè)試管理,而無需將所有的待測(cè)Android終端集中到一起進(jìn)行測(cè)試,能夠?yàn)檐浖y(cè)試提供更多的測(cè)試樣本。
[0028]步驟S102:控制服務(wù)器接收所述軟件測(cè)試任務(wù)并通過ADB將軟件測(cè)試任務(wù)發(fā)送到Android 終端。
[0029]ADB(Android Debug Bridge,安卓調(diào)試橋)是 Android SDK(SoftwareDevelopment Kit,軟件開發(fā)工具包))里的一個(gè)工具,用這個(gè)工具可以直接操作管理Android模擬器或者真實(shí)的Andr1d終端。它的主要功能有:運(yùn)行設(shè)備的shell、管理模擬器或Andr1d終端的端口映射、計(jì)算機(jī)和Andr1d終端之間上傳/下載文件、將本地apk軟件安裝至模擬器或Android終端。
[0030]在本實(shí)施例中,控制服務(wù)器接收到軟件測(cè)試任務(wù),也就是被測(cè)軟件的apk和自動(dòng)化測(cè)試腳本的apk之后,會(huì)通過ADB將兩個(gè)文件發(fā)送到Andr1d終端。本方案中設(shè)置有多個(gè)控制服務(wù)器,每個(gè)控制服務(wù)器相當(dāng)于現(xiàn)有的軟件測(cè)試中與Android終端相連的計(jì)算機(jī),兩者不同之處在于,現(xiàn)有的軟件測(cè)試過程中,測(cè)試人員需要對(duì)每臺(tái)計(jì)算機(jī)進(jìn)行操作,以分別在每臺(tái)Android終端上啟動(dòng)軟件測(cè)試任務(wù);而本方案中的控制服務(wù)器在接收到軟件測(cè)試任務(wù)之后,無需對(duì)控制服務(wù)器手動(dòng)操作以在Android終端中啟動(dòng)軟件測(cè)試任務(wù),控制服務(wù)器會(huì)將軟件測(cè)試任務(wù)直接發(fā)送到Android終端。以400個(gè)測(cè)試樣本為例,現(xiàn)有的測(cè)試方案中,一臺(tái)計(jì)算機(jī)上假設(shè)連接2個(gè)Android終端,那么400個(gè)樣本至少需要對(duì)200臺(tái)計(jì)算機(jī)操作總共400次以啟動(dòng)軟件測(cè)試任務(wù),這其中還不算將軟件測(cè)試任務(wù)拷貝到計(jì)算機(jī)上的時(shí)間。而在本方案中,400個(gè)測(cè)試樣本只需在任務(wù)服務(wù)器進(jìn)行一次派發(fā)即可,通過控制服務(wù)器在Android終端上啟動(dòng)軟件測(cè)試任務(wù)。
[0031 ] 根據(jù)ADB的具體工作方式,將軟件測(cè)試任務(wù)發(fā)送到Android終端有兩種實(shí)現(xiàn)方式,一種是將軟件測(cè)試任務(wù)對(duì)應(yīng)的兩個(gè)apk通過ADB以文件的形式傳輸?shù)紸ndroid終端,再有Android終端自行安裝;另一種是直接將兩個(gè)apk從任務(wù)服務(wù)器通過ADB安裝到Android終端。相對(duì)而言,后一種實(shí)現(xiàn)方式更為簡(jiǎn)潔。
[0032]步驟S103:Android終端收到所述軟件測(cè)試任務(wù)后執(zhí)行軟件測(cè)試任務(wù),生成軟件測(cè)試任務(wù)的測(cè)試結(jié)果。
[0033]綜上所述,本實(shí)施例由任務(wù)服務(wù)器向控制服務(wù)器發(fā)送軟件測(cè)試任務(wù);控制服務(wù)器通過ADB將軟件測(cè)試任務(wù)發(fā)送到Android終端;Android終端收到所述軟件測(cè)試任務(wù)后執(zhí)行軟件測(cè)試任務(wù),任務(wù)服務(wù)器經(jīng)由多個(gè)控制服務(wù)器,一次向多個(gè)Android終端發(fā)送軟件測(cè)試任務(wù);任務(wù)服務(wù)器、控制服務(wù)器和Android終端組成自上往下的級(jí)聯(lián)結(jié)構(gòu),通過自上往下的任務(wù)派發(fā)方式,通過一個(gè)位于最上端的任務(wù)服務(wù)器,一次實(shí)現(xiàn)對(duì)多個(gè)位于最下端的Android終端的任務(wù)派發(fā),在控制服務(wù)器和Android終端質(zhì)檢通過ADB快速實(shí)現(xiàn)軟件測(cè)試任務(wù)的自動(dòng)執(zhí)行,測(cè)試的樣本的數(shù)量多,節(jié)約測(cè)試時(shí)間。
[0034]請(qǐng)參考圖2,其是本發(fā)明實(shí)施例提供的基于ADB的軟件測(cè)試方法的第二個(gè)實(shí)施例的方法流程圖。本實(shí)施例與基于ADB的軟件測(cè)試方法的第一個(gè)實(shí)施例的主要區(qū)別在于,進(jìn)一步說明了任務(wù)服務(wù)器向控制服務(wù)器發(fā)送軟件測(cè)試任務(wù)的具體過程,在Android終端進(jìn)行軟件測(cè)試的具體過程。
[0035]該基于ADB的軟件測(cè)試方法,包括:
[0036]步驟S201:任務(wù)服務(wù)器獲取控制服務(wù)器的ADB的連接狀態(tài),向連接狀態(tài)為連接的控制服務(wù)器發(fā)送軟件測(cè)試任務(wù)。
[0037]任務(wù)服務(wù)器通過網(wǎng)絡(luò)端口訪問控制服務(wù)器,獲取控制服務(wù)器的ADB的連接狀態(tài),如果ADB的連接狀態(tài)為連接,說明該控制服務(wù)器連接的Android終端可以正常接收軟件測(cè)試任務(wù)進(jìn)行測(cè)試;否則,說明該控制服務(wù)器上的Android終端沒有