一種測(cè)試移動(dòng)應(yīng)用程序功耗的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及軟件測(cè)試技術(shù)領(lǐng)域,尤其涉及一種測(cè)試移動(dòng)應(yīng)用程序功耗的方法和裝置。
【背景技術(shù)】
[0002]功耗一直是智能移動(dòng)終端所重點(diǎn)關(guān)心的關(guān)鍵技術(shù)指標(biāo),功耗的好壞直接決定了一款智能移動(dòng)產(chǎn)品的核心競爭力。
[0003]功耗的優(yōu)化可以從硬件、驅(qū)動(dòng)、系統(tǒng)軟件和應(yīng)用程序等方面進(jìn)行。移動(dòng)終端產(chǎn)品出廠前,設(shè)備制造商會(huì)在硬件、驅(qū)動(dòng)和系統(tǒng)軟件層面對(duì)功耗進(jìn)行優(yōu)化,做到性能和功率消耗的最優(yōu)平衡。對(duì)于應(yīng)用程序的功耗,技術(shù)人員只能通過軟件測(cè)試的方法來測(cè)試其功耗的大小,再基于測(cè)試值對(duì)應(yīng)用程序進(jìn)行優(yōu)化。
[0004]現(xiàn)有的測(cè)試移動(dòng)應(yīng)用程序功耗的方法,一般要對(duì)移動(dòng)終端進(jìn)行拆卸,然后借助測(cè)試工具,如專用電流表等進(jìn)行移動(dòng)應(yīng)用程序的功耗測(cè)試。基于上述測(cè)試方法,在測(cè)試移動(dòng)應(yīng)用功耗時(shí),其測(cè)試工具的成本花費(fèi)很高,整個(gè)測(cè)試過程基于人工操作,不能自動(dòng)進(jìn)入下一應(yīng)用程序的測(cè)試,進(jìn)而導(dǎo)致整個(gè)測(cè)試的花費(fèi)成本很高,且操作復(fù)雜。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種測(cè)試移動(dòng)應(yīng)用程序功耗的方法和裝置。以解決不能簡單方便、低成本自動(dòng)化測(cè)試移動(dòng)應(yīng)用功耗的問題。
[0006]本發(fā)明實(shí)施例采用以下技術(shù)方案:
[0007]第一方面,本發(fā)明實(shí)施例提供了一種測(cè)試移動(dòng)應(yīng)用程序功耗的方法,該方法包括:
[0008]讀取并運(yùn)行移動(dòng)應(yīng)用程序的測(cè)試腳本;
[0009]根據(jù)所述測(cè)試腳本,觸發(fā)所述移動(dòng)應(yīng)用程序自動(dòng)操作,并調(diào)用移動(dòng)終端操作系統(tǒng)的底層接口 ;
[0010]通過所述底層接口,獲取預(yù)定測(cè)試時(shí)間內(nèi)所述移動(dòng)應(yīng)用程序的瞬時(shí)電流值;
[0011]基于所述瞬時(shí)電流值,計(jì)算所述移動(dòng)應(yīng)用程序的平均電流值;記所述平均電流值為所述移動(dòng)應(yīng)用程序的功耗值,結(jié)束所述測(cè)試腳本的運(yùn)行。
[0012]第二方面,本發(fā)明實(shí)施例還提供了一種測(cè)試移動(dòng)應(yīng)用程序功耗的裝置,該裝置包括:
[0013]測(cè)試腳本讀取模塊,用于讀取并運(yùn)行移動(dòng)應(yīng)用程序的測(cè)試腳本;
[0014]底層接口調(diào)用模塊,用于根據(jù)所述測(cè)試腳本,觸發(fā)所述移動(dòng)應(yīng)用程序自動(dòng)操作,并調(diào)用移動(dòng)終端操作系統(tǒng)的底層接口 ;
[0015]瞬時(shí)電流值獲取模塊,用于通過所述底層接口,獲取預(yù)定測(cè)試時(shí)間內(nèi)所述移動(dòng)應(yīng)用程序的瞬時(shí)電流值;
[0016]功耗值計(jì)算模塊,用于基于所述瞬時(shí)電流值,計(jì)算所述移動(dòng)應(yīng)用程序的平均電流值;記所述平均電流值為所述移動(dòng)應(yīng)用程序的功耗值,結(jié)束所述測(cè)試腳本的運(yùn)行。
[0017]本發(fā)明提供的一種測(cè)試移動(dòng)應(yīng)用程序功耗的方法和裝置,通過運(yùn)行設(shè)定的移動(dòng)應(yīng)用程序的測(cè)試腳本,觸發(fā)相應(yīng)移動(dòng)應(yīng)用程序的自動(dòng)操作,同時(shí)調(diào)用移動(dòng)終端操作系統(tǒng)的底層接口;然后基于底層接口獲取移動(dòng)應(yīng)用程序在預(yù)設(shè)測(cè)試時(shí)間內(nèi)的瞬時(shí)電流值,基于瞬時(shí)電流值可計(jì)算移動(dòng)應(yīng)用程序的平均電流值,計(jì)算出的平均電流值就是該移動(dòng)應(yīng)用程序的功耗值。利用該方法,無需拆卸移動(dòng)終端,也不需借助外接測(cè)試工具就能測(cè)出移動(dòng)應(yīng)用程序的功耗,簡化了測(cè)試的操作過程,降低了測(cè)試的成本花費(fèi),實(shí)現(xiàn)了移動(dòng)應(yīng)用程序功耗測(cè)試的自動(dòng)化,達(dá)到了簡單便捷測(cè)試應(yīng)用程序功耗的效果。
【附圖說明】
[0018]圖1為本發(fā)明實(shí)施例一提供的一種測(cè)試移動(dòng)應(yīng)用程序功耗的方法的流程圖;
[0019]圖2為本發(fā)明實(shí)施例二提供的一種測(cè)試移動(dòng)應(yīng)用程序功耗的方法的流程圖;
[0020]圖3為本發(fā)明實(shí)施例三提供的一種測(cè)試移動(dòng)應(yīng)用程序功耗的方法的流程圖;
[0021]圖4為本發(fā)明實(shí)施例四提供的一種測(cè)試移動(dòng)應(yīng)用程序功耗的裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0022]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖牵颂幩枋龅木唧w實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
[0023]實(shí)施例一
[0024]圖1為本發(fā)明實(shí)施例一提供的測(cè)試移動(dòng)應(yīng)用程序功耗的方法的流程示意圖,本實(shí)施例可適用于測(cè)試移動(dòng)應(yīng)用程序功耗的情況,該方法可以由配置在移動(dòng)終端中的測(cè)試移動(dòng)應(yīng)用程序功耗的裝置來執(zhí)行,如圖1所示本實(shí)施例提供的一種測(cè)試移動(dòng)應(yīng)用程序功耗的方法,包括如下操作:
[0025]步驟101、讀取并運(yùn)行移動(dòng)應(yīng)用程序的測(cè)試腳本。
[0026]在本實(shí)施例中,所述移動(dòng)應(yīng)用程序具體可指基于移動(dòng)終端操作系統(tǒng)安裝的用戶可操作使用的移動(dòng)終端的客戶端。所述移動(dòng)終端具體可指手機(jī)、平板電腦等移動(dòng)電子設(shè)備。所述移動(dòng)終端的操作系統(tǒng)具體可包括安卓、10S以及Windows phone等智能操作系統(tǒng)。所述測(cè)試腳本具體為基于Uiautomator腳本工具編寫的用于測(cè)試移動(dòng)應(yīng)用程序功耗的腳本文件。
[0027]在本實(shí)施例中,所述測(cè)試腳本存儲(chǔ)于移動(dòng)終端的內(nèi)存中,具體的,當(dāng)進(jìn)行功耗測(cè)試時(shí),首先讀取移動(dòng)終端內(nèi)存中的測(cè)試腳本,之后啟動(dòng)所述測(cè)試腳本的運(yùn)行。所述Uiautomator腳本工具具體為用于自動(dòng)化測(cè)試用戶界面(User Interface,UI)的腳本編寫工具,在該腳本工具上可編寫用于不同的測(cè)試腳本文件。
[0028]步驟102、根據(jù)所述測(cè)試腳本,觸發(fā)所述移動(dòng)應(yīng)用程序自動(dòng)操作,并調(diào)用移動(dòng)終端操作系統(tǒng)的底層接口。
[0029]在本實(shí)施例中,運(yùn)行所述測(cè)試腳本后,基于測(cè)試腳本觸發(fā)對(duì)應(yīng)移動(dòng)應(yīng)用程序的自動(dòng)操作,同時(shí),基于測(cè)試腳本還能調(diào)用移動(dòng)終端操作系統(tǒng)的底層接口。所述觸發(fā)移動(dòng)應(yīng)用程序的自動(dòng)操作具體可為:觸發(fā)移動(dòng)應(yīng)用程序的啟動(dòng)以及對(duì)所述應(yīng)用程序的仿真操作,示例性的,如對(duì)應(yīng)用程序的UI進(jìn)行仿真的單擊、滑動(dòng)、輸入文本等操作。
[0030]所述調(diào)用移動(dòng)終端操作系統(tǒng)的底層接口具體可為調(diào)用組成操作系統(tǒng)架構(gòu)的內(nèi)核層的接口。一般地,不同的移動(dòng)終端操作系統(tǒng)具有的內(nèi)核層不同,示例性的,1S操作系統(tǒng)的內(nèi)核層為Unix內(nèi)核,而安卓操作系統(tǒng)的內(nèi)核層為Linux內(nèi)核。但內(nèi)核層在操作系統(tǒng)中所起的作用基本相同,主要提供最底層的核心系統(tǒng)服務(wù),包括:安全性、存儲(chǔ)管理、進(jìn)程管理、電源管理以及提供驅(qū)動(dòng)程序模型等。在本實(shí)施例中,基于測(cè)試腳本可實(shí)現(xiàn)對(duì)底層接口(內(nèi)核層接口)的調(diào)用。
[0031]步驟103、通過所述底層接口,獲取預(yù)定測(cè)試時(shí)間內(nèi)所述移動(dòng)應(yīng)用程序的瞬時(shí)電流值。
[0032]在本實(shí)施例中,操作系統(tǒng)的內(nèi)核層在移動(dòng)終端存在工作進(jìn)程時(shí)會(huì)返回移動(dòng)終端的瞬時(shí)電流值。因此,在通過測(cè)試腳本調(diào)用底層接口(內(nèi)核層接口)后,就可讀取移動(dòng)終端工作時(shí)的瞬時(shí)電流值。由于移動(dòng)終端處于測(cè)試狀態(tài),此時(shí)獲取的移動(dòng)終端的瞬時(shí)電流值可相當(dāng)于被測(cè)試的移動(dòng)應(yīng)用程序自動(dòng)操作時(shí)產(chǎn)生的瞬時(shí)電流值。
[0033]在本實(shí)施例中,為了測(cè)試移動(dòng)應(yīng)用程序的功耗,需要獲取預(yù)定測(cè)試時(shí)間內(nèi)移動(dòng)應(yīng)用程序的瞬時(shí)電流值。其中,獲取的瞬時(shí)電流值存放在移動(dòng)終端的緩存中,以便之后的操作使用。
[0034]進(jìn)一步的,所述移動(dòng)應(yīng)用程序的預(yù)定測(cè)試時(shí)間的設(shè)置范圍為20分鐘?40分鐘,所述瞬時(shí)電流值以秒為單位進(jìn)行檢測(cè)。
[0035]在本實(shí)施例中,進(jìn)行移動(dòng)應(yīng)用程序功耗測(cè)試的時(shí)間一般不能太短,時(shí)間太短會(huì)造成功耗測(cè)試結(jié)果的不準(zhǔn)確。但又不能太長,因?yàn)樵跍y(cè)試中移動(dòng)應(yīng)用程序會(huì)基于測(cè)試腳本不斷進(jìn)行自動(dòng)化操作,操作時(shí)間太長會(huì)導(dǎo)致移動(dòng)終端發(fā)熱或電量不足,也會(huì)影響移動(dòng)應(yīng)用程序的功耗的測(cè)試結(jié)果。因此預(yù)定測(cè)試時(shí)間的設(shè)置范圍為20分鐘?40分鐘,在該時(shí)間段內(nèi)可以保證功耗測(cè)試結(jié)果的正確性。
[0036]在本實(shí)施例中,如果用專用電流表去監(jiān)測(cè)移動(dòng)終端的瞬時(shí)電流值,可以發(fā)現(xiàn)基于時(shí)間軸其瞬時(shí)電流值為一連續(xù)的曲線??紤]到測(cè)試腳本的調(diào)用極限,不可能以毫秒或更小的納秒為單位去獲取移動(dòng)應(yīng)用程序的瞬時(shí)電流值,因此優(yōu)選為以秒為單位進(jìn)行瞬時(shí)電流值的獲取。
[0037]步驟104、基于所述瞬時(shí)電流值,計(jì)算所述移動(dòng)應(yīng)用程序的平均電流值;記所述平均電流值為所述移動(dòng)應(yīng)用程序的功耗值,結(jié)束所述測(cè)試腳本的運(yùn)行。
[0038]在本實(shí)施例中,基于獲取的移動(dòng)應(yīng)用程序的瞬時(shí)電流值,可計(jì)算出移動(dòng)應(yīng)用程序在預(yù)設(shè)時(shí)間內(nèi)的平均電流值。計(jì)算出的平均電流值就可作為移動(dòng)應(yīng)用程序的功耗值。當(dāng)計(jì)算出移動(dòng)應(yīng)用程序的功耗值后,可結(jié)束測(cè)試腳本的運(yùn)行。且對(duì)于已運(yùn)行過的測(cè)試腳本,運(yùn)行結(jié)束后給出一返回值作為已運(yùn)行的標(biāo)記,一般地,可設(shè)置返回值為1。
[0039]進(jìn)一步的,所述平均電流值為所述預(yù)定測(cè)試時(shí)間內(nèi)所有瞬時(shí)電流值之和與所述預(yù)定測(cè)試時(shí)間的比值。
[0040]在本實(shí)施例中