可W通過(guò)斷開(kāi)外接線纜的數(shù)據(jù)通道,避免功耗檢測(cè) 的結(jié)果中包含終端與檢測(cè)主機(jī)進(jìn)行數(shù)據(jù)傳輸時(shí)的額外耗電,模擬用戶使用終端時(shí)的動(dòng)態(tài)場(chǎng) 景,能夠還原用戶使用終端時(shí)終端真實(shí)的耗電情況,進(jìn)而實(shí)現(xiàn)精準(zhǔn)有效的評(píng)估和測(cè)量終端 的功耗。
[0142] 在實(shí)際應(yīng)用中,在檢測(cè)主機(jī)與終端的連接中斷時(shí),作為從設(shè)備的終端一般會(huì)無(wú)法 繼續(xù)進(jìn)行功耗檢測(cè)工作,運(yùn)樣會(huì)導(dǎo)致在對(duì)終端進(jìn)行功耗檢測(cè)的同時(shí)必須與檢測(cè)主機(jī)進(jìn)行有 線連接或者無(wú)線連接,然而與檢測(cè)主機(jī)連接可能會(huì)導(dǎo)致額外耗電的產(chǎn)生,為此,如圖3所示, 在本公開(kāi)的又一實(shí)施例中,所述方法還包括W下步驟。
[0143] 在所述控制與所述外接線纜的數(shù)據(jù)通道中斷之前,在步驟S301中,檢測(cè)是否接收 到忽略中斷命令。
[0144] 在該步驟中,可W通過(guò)檢測(cè)與外接線纜連接的端口檢測(cè)是否接收到忽略終端命令 等。
[0145] 當(dāng)接收到所述忽略中斷命令時(shí),在步驟S302中,判斷是否檢測(cè)到與所述外接線纜 的數(shù)據(jù)通道中斷的中斷信號(hào)。
[0146] 在該步驟中,在斷開(kāi)外接線纜的數(shù)據(jù)通道時(shí),與外接線纜連接的兩端都會(huì)產(chǎn)生中 斷信號(hào),因此,終端中的處理器也會(huì)產(chǎn)生中斷信號(hào),當(dāng)處理器產(chǎn)生中斷信號(hào)時(shí),確定接收到 中斷信號(hào)。
[0147] 當(dāng)接收到所述中斷信號(hào)時(shí),在步驟S303中,根據(jù)所述忽略中斷命令忽略所述中斷 信號(hào),W執(zhí)行所述按照所述功耗測(cè)試腳本執(zhí)行每個(gè)所述模擬操作組合中的模擬操作的步 驟。
[0148] 在該步驟中,忽略所述中斷信號(hào)可W為CPU不在發(fā)生中斷時(shí)執(zhí)行中斷程序,而是繼 續(xù)執(zhí)行當(dāng)前正在執(zhí)行的程序等。
[0149] 本公開(kāi)通過(guò)在所述控制與所述外接線纜的數(shù)據(jù)通道中斷之前,檢測(cè)是否接收到忽 略中斷命令,當(dāng)接收到所述忽略中斷命令時(shí),判斷是否檢測(cè)到與所述外接線纜的數(shù)據(jù)通道 中斷的中斷信號(hào),當(dāng)接收到所述中斷信號(hào)時(shí),可W根據(jù)所述忽略中斷命令忽略所述中斷信 號(hào),W執(zhí)行所述按照所述功耗測(cè)試腳本執(zhí)行每個(gè)所述模擬操作組合中的模擬操作的步驟。
[0150] 本公開(kāi)實(shí)施例提供的該方法,可W實(shí)現(xiàn)在檢測(cè)主機(jī)與終端連接斷開(kāi)時(shí),終端可W 獨(dú)立進(jìn)行功耗檢測(cè),提供功耗檢測(cè)的精確度。
[0151 ]在進(jìn)行功耗測(cè)試時(shí),如果采集功耗的頻率過(guò)高可能會(huì)占用大量CPU資源,導(dǎo)致整個(gè) 終端運(yùn)行緩慢,進(jìn)而導(dǎo)致整個(gè)測(cè)試過(guò)程過(guò)長(zhǎng),而且測(cè)試結(jié)果也可能會(huì)不準(zhǔn)確,為此,如圖4所 示,在本公開(kāi)的又一實(shí)施例中,所述功耗測(cè)試腳本中還包括:預(yù)設(shè)事件數(shù)量。
[0152] 所述步驟S204包括W下步驟。
[0153] 在步驟S401中,判斷連續(xù)被觸發(fā)的系統(tǒng)事件的數(shù)量是否等于預(yù)設(shè)事件數(shù)量的整數(shù) 倍。
[0154] 在該步驟中,所述預(yù)設(shè)事件數(shù)量可W為10個(gè),可W利用計(jì)數(shù)器記錄被觸發(fā)的系統(tǒng) 事件的數(shù)量,然后將計(jì)數(shù)器每次計(jì)數(shù)之后得到的數(shù)量與預(yù)設(shè)事件數(shù)量進(jìn)行對(duì)比,當(dāng)計(jì)數(shù)器 每次計(jì)數(shù)之后得到的數(shù)量與預(yù)設(shè)事件數(shù)量的整數(shù)倍相同時(shí),即:計(jì)數(shù)器得到的數(shù)量為10、 20、30等等的時(shí)候可W確定連續(xù)被觸發(fā)的系統(tǒng)事件的數(shù)量等于預(yù)設(shè)事件數(shù)量的整數(shù)倍。
[0155] 當(dāng)連續(xù)被觸發(fā)的系統(tǒng)事件的數(shù)量等于預(yù)設(shè)事件數(shù)量的整數(shù)倍時(shí),在步驟S402中, 采集一次系統(tǒng)功耗。
[0156] 本公開(kāi)通過(guò)判斷連續(xù)被觸發(fā)的系統(tǒng)事件的數(shù)量是否等于預(yù)設(shè)事件數(shù)量的整數(shù)倍, 當(dāng)連續(xù)被觸發(fā)的系統(tǒng)事件的數(shù)量等于預(yù)設(shè)事件數(shù)量的整數(shù)倍時(shí),可W采集一次系統(tǒng)功耗。
[0157] 本公開(kāi)實(shí)施例采用的該方法,能夠在保證功耗測(cè)量的精確度的前提下盡量降低 CPU資源的占用率,提高終端運(yùn)行速度,節(jié)省測(cè)試時(shí)間。
[0158] 目前進(jìn)行功耗測(cè)試時(shí),一般都是自動(dòng)測(cè)試手機(jī)的功耗,得到的是功耗隨時(shí)間變化 的情況,但是運(yùn)可能導(dǎo)致在功耗由于一些原因升高或降低,測(cè)試人員并不能知曉是什么原 因?qū)е碌墓淖兓?,不利于定位功耗異常的原因,為此,如圖5A所示,在本公開(kāi)的又一實(shí)施 例中,所述方法還包括W下步驟。
[0159] 在步驟S501中,按照時(shí)間分布排列觸發(fā)的所有系統(tǒng)事件與采集的系統(tǒng)功耗。
[0160]在該步驟中,可W根據(jù)采集時(shí)刻、系統(tǒng)事件與系統(tǒng)功耗繪制趨勢(shì)圖,也可W按照時(shí) 間順序構(gòu)建系統(tǒng)事件與對(duì)應(yīng)的系統(tǒng)功耗的表格,表格可參見(jiàn)如下表1。
[0161]表1
[0162]
[0163]在步驟S502中,將位于當(dāng)前系統(tǒng)功耗的采集時(shí)刻和前一次系統(tǒng)功耗的采集時(shí)刻之 間的系統(tǒng)事件,與,所述當(dāng)前系統(tǒng)功耗建立對(duì)應(yīng)關(guān)系。
[0164]在該步驟中,可W將15時(shí)21分35秒與15時(shí)21分36秒之間的系統(tǒng)事件與當(dāng)前功耗建 立對(duì)應(yīng)關(guān)系,例如:可W第1個(gè)至第9個(gè)系統(tǒng)事件與0.045W建立對(duì)應(yīng)關(guān)系。
[0165]在步驟S503中,根據(jù)系統(tǒng)功耗W及系統(tǒng)功耗的采集時(shí)刻生成功耗趨勢(shì)圖。
[0166]在該步驟中,構(gòu)建的趨勢(shì)圖可W如圖5B所示。
[0167]在步驟S504中,將所述功耗趨勢(shì)圖中超過(guò)預(yù)設(shè)闊值的系統(tǒng)功耗確定為異常功耗。
[0168]在該步驟中,可W將趨勢(shì)圖中超過(guò)代表預(yù)設(shè)闊值0.05W的橫線W上的功耗-時(shí)間曲 線上的功耗確定為異常功耗。
[0169]在步驟S505中,將觸發(fā)時(shí)刻位于所述異常功耗的采集時(shí)刻與前一次系統(tǒng)功耗的采 集時(shí)刻之間的系統(tǒng)事件,確定為與所述異常功耗相關(guān)聯(lián)的可疑系統(tǒng)事件。
[0170] 在該步驟中,如圖5B所示,圖中tl-t6時(shí)刻為多個(gè)系統(tǒng)功耗的采集時(shí)刻,由于tl-t5 每個(gè)時(shí)刻采集的系統(tǒng)功耗均為該時(shí)刻與前一時(shí)刻之間系統(tǒng)事件所產(chǎn)生的系統(tǒng)功耗,所W, 對(duì)于巧時(shí)刻采集的系統(tǒng)功耗而言,是位于t4時(shí)刻和巧時(shí)刻之間所有系統(tǒng)事件產(chǎn)生的系統(tǒng)功 耗。
[0171] 因此,當(dāng)確定巧時(shí)刻對(duì)應(yīng)的系統(tǒng)功耗被確定為異常功耗時(shí),那么位于t4時(shí)刻和巧 時(shí)刻之間所有系統(tǒng)事件都將被確定為可疑系統(tǒng)事件。
[0172]本公開(kāi)通過(guò)按照時(shí)間分布排列觸發(fā)的所有系統(tǒng)事件與采集的系統(tǒng)功耗,可W將位 于當(dāng)前系統(tǒng)功耗的采集時(shí)刻和前一次系統(tǒng)功耗的采集時(shí)刻之間的系統(tǒng)事件,與,所述當(dāng)前 系統(tǒng)功耗建立對(duì)應(yīng)關(guān)系,判斷采集得到的所有系統(tǒng)功耗中是否出現(xiàn)異常功耗,當(dāng)出現(xiàn)異常 功耗時(shí),將觸發(fā)時(shí)刻位于所述異常功耗的采集時(shí)刻與前一次系統(tǒng)功耗的采集時(shí)刻之間的系 統(tǒng)事件,確定為與所述異常功耗相關(guān)聯(lián)的可疑系統(tǒng)事件。
[0173]本公開(kāi)實(shí)施例采用的該方法,可W通過(guò)按時(shí)間分布排列系統(tǒng)事件與系統(tǒng)功耗,并 在系統(tǒng)事件與系統(tǒng)功耗之間建立對(duì)應(yīng)關(guān)系,可W輔助分析功耗的總體情況,方便定位功耗 異常的原因。
[0174]如圖6所示,在本公開(kāi)的又一實(shí)施例中,提供一種功耗檢測(cè)方法,應(yīng)用于檢測(cè)主機(jī), 包括W下步驟。
[0175]在步驟S601中,獲取待檢測(cè)終端中安裝的測(cè)試應(yīng)用的標(biāo)識(shí)。
[0176]在該步驟中,所述測(cè)試應(yīng)用的標(biāo)識(shí)可W為測(cè)試應(yīng)用的名字或編號(hào)等等。
[0Π7]在步驟S602中,生成包含至少一個(gè)所述測(cè)試應(yīng)用的模擬操作執(zhí)行文件的功耗測(cè)試 腳本。
[0178]在該步驟中,可W分別模擬每個(gè)測(cè)試應(yīng)用的在用戶輸入不同的測(cè)試操作組合時(shí)對(duì) 應(yīng)的應(yīng)用場(chǎng)景,并將每個(gè)測(cè)試應(yīng)用對(duì)應(yīng)的測(cè)試操作組合存儲(chǔ)至功耗測(cè)試腳本。
[0179]在步驟S603中,將所述功耗測(cè)試腳本通過(guò)外接線纜發(fā)送給一個(gè)或多個(gè)所述待檢測(cè) 終端。
[0180]當(dāng)所述功耗測(cè)試腳本發(fā)送完成后,在步驟S604中,通過(guò)所述外接線纜向所述待檢 測(cè)終端發(fā)送腳本執(zhí)行命令。
[0181]本公開(kāi)通過(guò)獲取待檢測(cè)終端中安裝的測(cè)試應(yīng)用的標(biāo)識(shí),生成包含至少一個(gè)所述測(cè) 試應(yīng)用的模擬操作執(zhí)行文件的功耗測(cè)試腳本,可W將所述功耗測(cè)試腳本通過(guò)外接線纜發(fā)送 給一個(gè)或多個(gè)所述待檢測(cè)終端,當(dāng)所述功耗測(cè)試腳本發(fā)送完成后,可W通過(guò)所述外接線纜 向所述待檢測(cè)終端發(fā)送腳本執(zhí)行命令。
[0182]本公開(kāi)實(shí)施例采用的該方法,可W測(cè)試應(yīng)用模擬測(cè)試應(yīng)用的動(dòng)態(tài)場(chǎng)景,并將模擬 的測(cè)試操作寫(xiě)入功耗測(cè)試腳本中,W便終端能夠根據(jù)功耗測(cè)試腳本模擬用戶使用終端時(shí)的 動(dòng)態(tài)場(chǎng)景,能夠還原用戶使用終端時(shí)終端真實(shí)的耗電情況,進(jìn)而實(shí)現(xiàn)精準(zhǔn)有效的評(píng)估和測(cè) 量終端的功耗。
[0183]如圖7所示,在本公開(kāi)的又一實(shí)施例中,所述方法還包括:
[0184]在步驟S701中,獲取預(yù)設(shè)事件數(shù)量。
[0185]在該步驟中,檢測(cè)主機(jī)可W通過(guò)預(yù)設(shè)的dex3jar工具反編譯待測(cè)試應(yīng)用,解析每個(gè) 測(cè)試操作組合觸發(fā)的系統(tǒng)事件,根據(jù)解析的系統(tǒng)事件確定預(yù)設(shè)事件數(shù)量,預(yù)設(shè)事件數(shù)量可 W為10個(gè)。
[0186] 在步驟S702中,將所述預(yù)設(shè)事件數(shù)量作為采樣間隔存儲(chǔ)至所述功耗測(cè)試腳本中。
[0187]本公開(kāi)通過(guò)獲取預(yù)設(shè)事件數(shù)量,可W將所述預(yù)設(shè)事件數(shù)量作為采樣間隔存儲(chǔ)至所 述功耗測(cè)試腳本中。
[0188]本公開(kāi)實(shí)施例提供的該方法能夠通過(guò)設(shè)置預(yù)設(shè)事件數(shù)量,便于終端在進(jìn)行測(cè)試時(shí) 降低CPU占用率,節(jié)省測(cè)試時(shí)間。
[0189]如圖8所示,在本公開(kāi)的又一實(shí)施例中,所述方法還包括W下步驟。
[0190]在步驟S801中,檢測(cè)是否接收到忽略中斷操作。
[0191]在該步驟中,可W通過(guò)檢測(cè)用戶是否利用鍵盤(pán)或鼠標(biāo)輸入忽略終端操作。
[0192]當(dāng)接收到忽略中斷操作時(shí),在步驟S802中,生成忽略中斷命令并通過(guò)所述外接線 纜發(fā)送給所述待檢測(cè)終端。
[0193]本公開(kāi)通過(guò)檢測(cè)是否接收到忽略中斷操作,當(dāng)接收到忽略中斷操作時(shí),可W生成 忽略中斷命令并通過(guò)所述外接線纜發(fā)送給所述待檢測(cè)終端。
[0194]本公開(kāi)實(shí)施例采用的該方法,能夠便于控制終端在斷開(kāi)與檢測(cè)主機(jī)連接時(shí),忽略 中斷信號(hào)。
[0195]為了精準(zhǔn)有效的評(píng)估和測(cè)量終端的功耗,如圖9所示,在本公開(kāi)的又一實(shí)施例中, 提供一種功耗檢測(cè)系統(tǒng),應(yīng)用于終端,包括:接收存儲(chǔ)單元901、中斷控制單元902、執(zhí)行觸發(fā) 單元903和時(shí)刻記錄單元904。
[0196]接收存儲(chǔ)單元901,被配置為接收通過(guò)外接線纜發(fā)送的功耗測(cè)試腳本,所述功耗測(cè) 試腳本包括:所述終端中至少一個(gè)測(cè)試應(yīng)用的模擬操作執(zhí)行文件。
[0197]在本公開(kāi)實(shí)施例中,所述功耗測(cè)試腳本包括:所述終端中至少一個(gè)測(cè)試應(yīng)用的模 擬操作執(zhí)行文件。
[0198]模擬操作執(zhí)行文件中可W包括關(guān)于多個(gè)測(cè)試應(yīng)用的至少一個(gè)模擬操作代碼段組 合,每個(gè)測(cè)試應(yīng)用可W對(duì)應(yīng)至少一個(gè)測(cè)試操作代碼段組合,每個(gè)測(cè)試操作代碼段組合對(duì)